FindOpenACC

在版本 3.10 中添加。

检测编译器是否支持 OpenACC。

此模块可用于检测编译器中的 OpenACC 支持。如果编译器支持 OpenACC,可通过变量返回使用 OpenACC 支持编译所需的标志,针对不同的语言会有不同的变量。目前,仅支持 NVHPC、PGI、GNU 和 Cray 编译器。

导入目标

在版本 3.16 中添加。

该模块提供 IMPORTED 目标

OpenACC::OpenACC_<lang>

目标从 <lang> 中使用 OpenACC。

变量

该模块定义以下变量

OpenACC_FOUND

在版本 3.25 中添加。

指示至少检测到一门语言的 OpenACC 标志的变量。

此模块会在项目中针对每种语言设置以下变量,其中 <lang> 为 C、CXX 或 Fortran 之一

OpenACC_<lang>_FOUND

指明是否检测到对 <lang> 的 OpenACC 支持的变量。

OpenACC_<lang>_FLAGS

以空格分隔的 <lang> 的 OpenACC 编译器标志。

OpenACC_<lang>_OPTIONS

在版本 3.16 中添加。

OpenACC 编译器标志,适用于 <lang>,作为列表。适合与 target_compile_options 或 target_link_options 搭配使用。

该模块还将尝试提供 OpenACC 版本变量

OpenACC_<lang>_SPEC_DATE

<lang> 编译器实现的 OpenACC 规范的日期。

OpenACC_<lang>_VERSION_MAJOR

<lang> 编译器实现的 OpenACC 主版本。

OpenACC_<lang>_VERSION_MINOR

<lang> 编译器实现的 OpenACC 次要版本。

OpenACC_<lang>_VERSION

<lang> 编译器实现的 OpenACC 版本。

规范日期格式遵循 OpenACC 标准中所示内容:yyyymm,其中 yyyymm 分别代表年和月份,由 <lang> 编译器实现的 OpenACC 规范。

输入变量

OpenACC_ACCEL_TARGET=<target> 如果设置,将正确的目标加速器标志设置为 <target>,将使用 OpenACC_<lang>_FLAGS 返回。