gpt4 book ai didi

fortran - 英特尔的-heap-arrays的gfortran标志[大小]

转载 作者:行者123 更新时间:2023-12-04 06:37:57 25 4
gpt4 key购买 nike

什么是intel ifort's的gfortran标志等效

-heap-arrays [size]

最佳答案

这是一个古老的问题,但是接受的答案并不完全正确,我想为像我这样的 future 用户添加上下文,他们在帖子中寻找答案。

我相信intel的ifort和gcc的gfortran都有一定的字节限制,超出该限制的数组不会分配在堆栈上,而是放在静态内存中。

Intel的-heap-arrays [size]会将大于[size]千字节的任何数组放在堆上,而不是放在静态内存或堆栈中,具体取决于大小。

Gcc没有此选项,而是只有-fmax-stack-var-size=n,其中n字节以上的任何变量都不会放在堆栈中。文档(https://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html)说:

if the size is exceeded static memory is used (except in procedures marked as RECURSIVE).

此处的主要区别在于,不能保证将这些大变量放在堆上。

因此,intel和gcc的两个选项并不相同,需要格外小心,以确保 gfortran中的大型数组不会在静态内存中共享。

关于fortran - 英特尔的-heap-arrays的gfortran标志[大小],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832496/

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