gpt4 book ai didi

fortran - 在 FORTRAN 中将数字定义为参数是否有性能优势

转载 作者:行者123 更新时间:2023-12-04 22:54:52 25 4
gpt4 key购买 nike

我正在尝试编写矢量化的 FORTRAN 子程序以合并到 Abaqus 有限元求解器中。一些学习 Material 在代码的开头定义了在公式中用作参数的常数,例如:

parameter ( zero = 0.d0, one = 1.d0, two = 2.d0, third = 1.d0 / 3.d0, half = 0.5d0, op5 = 1.5d0)

所以不要写 0.5 * a有人会写 half * a .这有性能优势吗?

编辑 :我深入挖掘并在 this file 的第 11 页(幻灯片 A3.22)中找到了这个:

The PARAMETER assignments yield accurate floating point constant definitions on any platform.

最佳答案

不,没有任何性能差异。生成的代码将完全相同。它可能只是为了使使用这些数字更方便或(据说)可读。

但是你必须小心。只有 0.5 是(默认)单精度数。您必须使用常量定义中使用的方式。 0.5d0是 double ,常量将帮助您不要忘记 d0 .无论如何,在二进制数格式中,0.5 是完全可表示的,但例如三分之一不是。

关于fortran - 在 FORTRAN 中将数字定义为参数是否有性能优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53748854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com