问题标签 [intel-fortran]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
196 浏览

windows-7 - Fortran 库可以让我捕捉箭头键的移动

我想使用箭头键在我的控制台应用程序的 QuickWin 图中移动一些点。那里有图书馆为类似的东西提供支持吗?

0 投票
1 回答
892 浏览

optimization - 优化 ifort 中的 SIGSEGV

如果我在 ifort 中使用 -O0 编译,程序可以正常运行。但是只要我打开优化选项,比如-O,-O3,-fast,就会出现SIGSEGV分段错误。

此错误发生在名为 maketable() 的子例程中。以下是现象:

(1) 我在这个子程序中调用了 fftw 库。如果我评论关于 fftw 的句子,就可以了。但我认为这不是fftw的错,因为我在这段代码的其他一些地方也使用了fftw,它们都很好。

(2) fftw在循环中被调用,当程序crash时循环可以运行多次。段错误不会在第一次进入循环时发生。

(3)我考虑过堆栈溢出,但我现在不这么认为。我有很久以前别人编译的可执行文件,可以在我的电脑上执行。我认为这表明这不是由于系统堆栈溢出。

ifort 的版本是 10.0,fftw 的版本是 fftw-2.1.5。cpu类型是intel xeon 5130。非常感谢。

0 投票
1 回答
1467 浏览

linux - Sublime Text 2 构建 (Ctrl +B) 英特尔 Fortran 编译器

我在使用 Sublime Text2 作为编辑器的 Linux 64 位上使用 ifort 11.1。我想知道,如何创建自定义构建命令来编译代码?我还需要知道如何生成与源文件同名的输出。例如,我想将以下命令复制到自定义构建系统中:

到目前为止,我尝试过:

没有成功。想法?

0 投票
2 回答
447 浏览

fortran - Fortran“参数”类型未包含在编译对象中

我有一个 Fortran 模块,其中包含一些具有属性的变量parameter和一些具有属性的变量save。这些parameter不包含在编译对象中,这在尝试组装库时会成为问题。例如,考虑一个文件testModule.f90

我编译这个:ifort -c testModule.f90。当我检查里面的东西时:

只有thisIsSaved变量在那里。我知道我可以更改thisIsParameteredsave而不是parameter,但理想情况下,我想阻止链接用户更改此值。有没有办法做到这一点?

编辑:我希望这个库也可以被 C 代码访问,而不仅仅是 Fortran。

0 投票
1 回答
686 浏览

fortran - 为什么边界检查会改变我的程序的行为?

我有一个用 Fortran 编写的热工水力学代码,我正在研究它。对于我的调试版本,我-check bounds在编译时使用 ifort 11.1 中的选项。我过去以这种方式捕获了数组边界错误。不过,最近,我看到解决方案在给定案例中迅速爆发。奇怪的是,它在代码的发布版本中很好地融合了。果然,-check bounds从我的调试生成文件中删除标志清除了问题。

奇怪的是,调试版本在我之前使用的许多其他测试用例中运行良好,并且在我的代码中超出任何数组边界时没有抛出任何错误。这种行为对我来说似乎很奇怪,我不知道我的代码中是否存在某种错误或什么。任何人有任何想法可能导致这种行为?

根据要求,我用于发布和调试的标志是:

发布:-c -r8 -traceback -extend-source -override-limits -zero -unroll -O3

调试:-c -r8 -traceback -extend-source -override-limits -zero -g -O0

当然,正如我最初的问题所表明的那样,我-check bounds为调试案例打开和关闭了标志。

0 投票
1 回答
5497 浏览

fortran - Intel Fortran -- 检查边界不给出行号

ifort在 mpi 环境中使用 intel fortran 编译器 ()。事实证明,当我使用 flags 编译时,我的代码出现了缓冲区溢出-g -O2 -check bounds。运行一段时间后,我收到以下消息:

这太好了——我现在知道我已经超支了XX,但是在哪里呢?使用gfortran,-fbounds-check会给我一个文件和行号。有什么办法可以得到ifort吗?

0 投票
4 回答
6700 浏览

fortran - 在 Fortran 中将逻辑类型转换为双精度

我正在寻找一种将逻辑类型变量转换为可在 ifort 和 gfortran 中工作的真实类型的防弹方法。以下适用于 ifort,但不适用于 gfortran:

gfortran 中抛出的错误是

显然,.true。应该映射到 1.d0 和 .false。为 0.d0。这样做的最佳方法是什么?

0 投票
1 回答
4620 浏览

macos - 我如何知道我的 Mac (Snow leopard) 上是否安装了 ifort?

我有一个需要与“gfortran/ifort”编译器一起安装的程序。我有一个 Mac OSX 10.6.8(雪豹)。我知道我已经安装了 gcc,因为我安装了我自己(从 Xcode 安装程序中的 gcc 包,所以我不必安装整个 xcode),在终端输入“which gcc”后我也得到了目录。

我还从 gnu 安装了 gfortran,在终端输入“which gfortran”后,我得到了目录。

但是,由于我在这个过程中学习,我不确定当我安装 gfortran 时是否也安装了“ifort”,或者我也必须自己安装它。如何检查 ifort 是否安装?如果没有安装,我可以从哪里获得 Snow Leopard?如果我安装了整个xcode然后“命令行工具”可以安装吗?

0 投票
1 回答
1164 浏览

fortran - Fortran operator precedence error for exponent with ifort

I am getting different behavior between Portland and Intel fortran compilers when evaluating a simple expression with an exponent followed by a multiply. I am pretty sure that pgf90 (and gfortran) are working correctly based on my understanding of operator precedence, but I would like a second opinion since these things can get a bit tricky.

Here is my code simplified down to a very basic form. When run with ifort the expression of the form d1=a**-2*b gets interpretted as d1=a**(-2*b) by ifort by as d1=(a**-2)*b by pgf90 and gfortran. If I remove the negative sign from the exponent, all three compilers interpret this as d1=(a**2)*b. If I change *b to +b I also get good behavior from all three.

Is there a history behind these differences so that they should be considered a "feature"? Or, is this an outright bug on Intel's part?

0 投票
1 回答
10920 浏览

fortran - 如何在 Fortran 90 中使用 include 语句?

我有一些 .h 文件用于 FORTRAN 77 中的某些模块(我自己没有编写)。我想在 Fortran 90 中编写一个新例程并使用这样的 .h 文件。我尝试使用include 'foo.h',当我尝试编译(使用 ifort 版本 13.0.0.079 Build 20120731)时,出现以下错误:

Syntax error, found IDENTIFIER 'FOO' when expecting one of: ( % [ : . = => C FOO COMMOM

我也尝试过使用include foo.h,这给了我以下错误: error #5082: Syntax error, found IDENTIFIER 'FOO' when expecting one of: <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT> INCLUDE FOO.h ----------^

error #6274: This statement must not appear in the specification part of a module INCLUDE foo.h --^

error #6236: A specification statement cannot appear in the executable section. !$ use omp_lib ---^

error #6236: A specification statement cannot appear in the executable section. implicit none --^

error #6456: This name must be a RECORD name. [FOO] INCLUDE FOO.h ----------^

error #6460: This is not a field name that is defined in the encompassing structure. [H] INCLUDE foo.h -----------------^

error #6252: This format specifier is invalid. [FOO] INCLUDE foo.h

我猜includeF90中不存在。是否有类似的东西允许使用 .h 文件?