使用 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"。
我尝试使用 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"。