FindOpenACC¶
Added in version 3.10.
Finds and detects the OpenACC support in a compiler:
find_package(OpenACC [<version>] [...])
If the compiler supports OpenACC, the flags required to compile with OpenACC support are returned in variables for the different languages. Currently, only NVHPC, PGI, GNU and Cray compilers are supported.
Imported Targets¶
This module provides the following Imported Targets:
OpenACC::OpenACC_<lang>
Added in version 3.16.
Target encapsulating the usage requirements for using OpenACC from
<lang>
. This target is available only if OpenACC support is found.<lang>
is one of C, CXX, or Fortran.
Result Variables¶
This module defines the following variables:
OpenACC_FOUND
Added in version 3.25.
Boolean variable indicating that OpenACC flags for at least one languages have been found.
This module will set the following variables per language in the
project, where <lang>
is one of C, CXX, or Fortran:
OpenACC_<lang>_FOUND
Boolean variable indicating if OpenACC support for
<lang>
was detected.OpenACC_<lang>_FLAGS
OpenACC compiler flags for
<lang>
, separated by spaces.OpenACC_<lang>_OPTIONS
Added in version 3.16.
OpenACC compiler flags for
<lang>
, as a list. Suitable for usage with target_compile_options or target_link_options.
The module will also try to provide the OpenACC version variables:
OpenACC_<lang>_SPEC_DATE
Date of the OpenACC specification implemented by the
<lang>
compiler.OpenACC_<lang>_VERSION_MAJOR
Major version of OpenACC implemented by the
<lang>
compiler.OpenACC_<lang>_VERSION_MINOR
Minor version of OpenACC implemented by the
<lang>
compiler.OpenACC_<lang>_VERSION
OpenACC version implemented by the
<lang>
compiler.
The specification date is formatted as given in the OpenACC standard:
yyyymm
where yyyy
and mm
represents the year and month of
the OpenACC specification implemented by the <lang>
compiler.
Input Variables¶
This module accepts the following variables:
OpenACC_ACCEL_TARGET=<target>
If set, the correct target accelerator flag set to the
<target>
will be returned with theOpenACC_<lang>_FLAGS
variable.
Examples¶
Finding OpenACC support and linking the imported target to a project target:
find_package(OpenACC)
target_link_libraries(example PRIVATE OpenACC::OpenACC_C)