【问题标题】:Compiling OpenACC Fortran code with Cray compiler使用 Cray 编译器编译 OpenACC Fortran 代码
【发布时间】:2016-04-10 18:03:55
【问题描述】:

我尝试使用 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 解决这个问题。谢谢。

【问题讨论】:

标签: compilation fortran openacc cray


【解决方案1】:

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

模块加载 craype-accel-nvidia35

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

"-h omp" 是 Cray 编译器的默认值,所以你不需要这个标志。

“-h acc”是上面模块加载时的默认值,也是可选的。

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

【讨论】:

  • 回复:目标的东西,我复制粘贴太快了。这是我试图让它发挥作用的众多变体之一。我的意思是复制和粘贴更“标准”的变体。对不起。已编辑问题。回复:crayftn,我实际上确实使用了 ftn,但我想——当然是在射击——如果我把它放在问题中,有人会说,“嘿,我们真的无法判断你使用的是什么编译器!”回复:OpenMP,我确实需要这个代码,虽然我知道它与问题无关。谢谢。我现在就试试你的建议。
  • 我的意思不是“-h omp”标志是可选的,因为 OpenMP 是自动支持的。我编辑了答案以使其更清楚。
  • 还没有走出困境,但你让我解决了这个问题。我接受你的回答。谢谢。
猜你喜欢
  • 1970-01-01
  • 2017-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-24
  • 2016-07-15
  • 1970-01-01
相关资源
最近更新 更多