【发布时间】:2011-04-23 22:21:24
【问题描述】:
我一直在使用 Fortran 中的快速多极代码。它对我来说是一个黑匣子,在我的mac上编译它时我一直有一些奇怪。
我使用的是 11.1 版的编译器,我有一台运行 2.5 GHz Intel Core 2 Duo on Snow Leopard 的 MacBook Pro。
当我将优化标志设置为 -O0 时,代码运行良好,但在我使用 -O2 或 -O3 时失败。奇怪的是,代码在 Linux 机器上运行良好,至少使用默认的 -O2 标志。
有人对导致问题的原因有任何想法吗?它必须是带有矢量化的东西。
【问题讨论】:
-
你在 Linux 上使用完全相同的 ifort 版本吗?无论如何,“......只要将机制视为黑匣子,就不可能令人信服地证明正确性,......”(c)Edsger Wybe Dijkstra
-
我必须检查一下(它在我目前无法访问的计算机上),不过我对此表示怀疑。
-
它也适用于 Windows 上的 Lahey 编译器。
标签: macos optimization fortran intel