Loading clang/README-OpenACC-status.md +6 −4 Original line number Diff line number Diff line Loading @@ -452,8 +452,8 @@ OpenACC Runtime Library API and Preprocessor cannot be linked. This implementation facilitates Clacc's source-to-source mode together with OpenACC's requirement that `acc_on_device` evaluate to a constant when its argument is a constant. See the comments on `acc_on_device` in Clacc's `openacc.h` for related limitations for source-to-source mode. constant. See the section "Source-to-Source Mode Limitations" below for caveats for source-to-source mode. * Data and memory management routines supported on the host are: * `acc_malloc`, `acc_free` * OpenACC 3.1 is unclear about handling of a `bytes` argument Loading Loading @@ -550,8 +550,10 @@ Source-to-Source Mode Limitations OpenMP at compile time: * `acc_on_device` is implemented in terms of OpenMP fully within Clacc's `openacc.h`. However, support for an OpenMP 5.1 extension, enum variants, is required for full support. See the comments on `acc_on_device` in Clacc's `openacc.h` for details. extension, enum variants, is required for full support. Moreover, it can malfunction when enabling source-to-source mode using `-fopenacc-ast-print`. See the comments on `acc_on_device` in Clacc's `openacc.h` for details. * Other routines are implemented as wrappers around the OpenMP Runtime Library Routines and require Clacc's OpenACC runtime library to be linked. See the section "Linking" in Loading openmp/libacc2omp/src/include/openacc.h.var +6 −1 Original line number Diff line number Diff line Loading @@ -95,7 +95,8 @@ int acc_get_device_num(acc_device_t dev_type); // compile-time constant argument, it evaluates at compile time to a // constant." // - OpenMP 5.1 doesn't specify enum variants. Currently, Clang supports this // extension as required here. // extension as required here except when using -fopenacc-ast-print, as // described below. // - If an OpenMP compiler doesn't support enum variants, the preprocessor // macro ACC2OMP_ENUM_VARIANTS_SUPPORTED should be set to 0 before including // this header. Otherwise, the acc_on_device definition below may fail to Loading @@ -109,6 +110,10 @@ int acc_get_device_num(acc_device_t dev_type); // not permit acc_on_device calls in contexts where constant expressions are // required. Even so, compilers might still be able to optimize // acc_on_device calls as constant expressions in other contexts. // - When Clang's OpenACC source-to-source mode is enabled by // -fopenacc-ast-print instead of -fopenacc-print, acc_on_device currently // behaves as if always called on the host because Clang's AST printing // facility currently does not print OpenMP variants correctly. //---------------------------------------------------------------------------- #ifndef ACC2OMP_ENUM_VARIANTS_SUPPORTED Loading Loading
clang/README-OpenACC-status.md +6 −4 Original line number Diff line number Diff line Loading @@ -452,8 +452,8 @@ OpenACC Runtime Library API and Preprocessor cannot be linked. This implementation facilitates Clacc's source-to-source mode together with OpenACC's requirement that `acc_on_device` evaluate to a constant when its argument is a constant. See the comments on `acc_on_device` in Clacc's `openacc.h` for related limitations for source-to-source mode. constant. See the section "Source-to-Source Mode Limitations" below for caveats for source-to-source mode. * Data and memory management routines supported on the host are: * `acc_malloc`, `acc_free` * OpenACC 3.1 is unclear about handling of a `bytes` argument Loading Loading @@ -550,8 +550,10 @@ Source-to-Source Mode Limitations OpenMP at compile time: * `acc_on_device` is implemented in terms of OpenMP fully within Clacc's `openacc.h`. However, support for an OpenMP 5.1 extension, enum variants, is required for full support. See the comments on `acc_on_device` in Clacc's `openacc.h` for details. extension, enum variants, is required for full support. Moreover, it can malfunction when enabling source-to-source mode using `-fopenacc-ast-print`. See the comments on `acc_on_device` in Clacc's `openacc.h` for details. * Other routines are implemented as wrappers around the OpenMP Runtime Library Routines and require Clacc's OpenACC runtime library to be linked. See the section "Linking" in Loading
openmp/libacc2omp/src/include/openacc.h.var +6 −1 Original line number Diff line number Diff line Loading @@ -95,7 +95,8 @@ int acc_get_device_num(acc_device_t dev_type); // compile-time constant argument, it evaluates at compile time to a // constant." // - OpenMP 5.1 doesn't specify enum variants. Currently, Clang supports this // extension as required here. // extension as required here except when using -fopenacc-ast-print, as // described below. // - If an OpenMP compiler doesn't support enum variants, the preprocessor // macro ACC2OMP_ENUM_VARIANTS_SUPPORTED should be set to 0 before including // this header. Otherwise, the acc_on_device definition below may fail to Loading @@ -109,6 +110,10 @@ int acc_get_device_num(acc_device_t dev_type); // not permit acc_on_device calls in contexts where constant expressions are // required. Even so, compilers might still be able to optimize // acc_on_device calls as constant expressions in other contexts. // - When Clang's OpenACC source-to-source mode is enabled by // -fopenacc-ast-print instead of -fopenacc-print, acc_on_device currently // behaves as if always called on the host because Clang's AST printing // facility currently does not print OpenMP variants correctly. //---------------------------------------------------------------------------- #ifndef ACC2OMP_ENUM_VARIANTS_SUPPORTED Loading