使用 Cray 编译器编译 OpenACC Fortran 代码

Compiling OpenACC Fortran code with Cray compiler

我尝试使用 Cray Fortran 编译器编译 OpenACC Fortan 代码...

crayftn -o msqcomp -h omp -h acc msquared.f90

失败并显示错误消息

ftn-1350 crayftn: WARNING in command line
  Command line option "-hacc" is being ignored because an accelerator target has not been specified.

显然我必须指定目标加速器。问题是,我无法在任何地方找到任何关于如何执行此操作的文档,而不是在 Bing 搜索中,尤其是在 crayftn 手册页中。有人知道要使用什么标志吗?

顺便说一句,我正在尝试为 nvidia Tesla K40 编译。我现在坚持使用 Cray 编译器。即使我现在可以使用另一个编译器,我最终也必须为 crayftn 解决这个问题。谢谢

您通过在编译前加载适当的模块来设置目标。你可能想要这个目标:

模块加载craype-accel-nvidia35

然后您应该使用 "ftn" 包装器命令而不是 "crayftn" 命令进行编译。

“-h omp”是 Cray 编译器的默认设置,因此您不需要此标志。

“-h acc”是加载上述模块时的默认设置,因此也是可选的。

有关详细信息,请参阅 "man crayftn" 和 "man openacc"。