问题标签 [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.
windows-7 - Fortran 库可以让我捕捉箭头键的移动
我想使用箭头键在我的控制台应用程序的 QuickWin 图中移动一些点。那里有图书馆为类似的东西提供支持吗?
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。非常感谢。
linux - Sublime Text 2 构建 (Ctrl +B) 英特尔 Fortran 编译器
我在使用 Sublime Text2 作为编辑器的 Linux 64 位上使用 ifort 11.1。我想知道,如何创建自定义构建命令来编译代码?我还需要知道如何生成与源文件同名的输出。例如,我想将以下命令复制到自定义构建系统中:
到目前为止,我尝试过:
没有成功。想法?
fortran - Fortran“参数”类型未包含在编译对象中
我有一个 Fortran 模块,其中包含一些具有属性的变量parameter
和一些具有属性的变量save
。这些parameter
不包含在编译对象中,这在尝试组装库时会成为问题。例如,考虑一个文件testModule.f90
:
我编译这个:ifort -c testModule.f90
。当我检查里面的东西时:
只有thisIsSaved
变量在那里。我知道我可以更改thisIsParametered
为save
而不是parameter
,但理想情况下,我想阻止链接用户更改此值。有没有办法做到这一点?
编辑:我希望这个库也可以被 C 代码访问,而不仅仅是 Fortran。
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
为调试案例打开和关闭了标志。
fortran - Intel Fortran -- 检查边界不给出行号
我ifort
在 mpi 环境中使用 intel fortran 编译器 ()。事实证明,当我使用 flags 编译时,我的代码出现了缓冲区溢出-g -O2 -check bounds
。运行一段时间后,我收到以下消息:
这太好了——我现在知道我已经超支了XX
,但是在哪里呢?使用gfortran
,-fbounds-check
会给我一个文件和行号。有什么办法可以得到ifort
吗?
fortran - 在 Fortran 中将逻辑类型转换为双精度
我正在寻找一种将逻辑类型变量转换为可在 ifort 和 gfortran 中工作的真实类型的防弹方法。以下适用于 ifort,但不适用于 gfortran:
gfortran 中抛出的错误是
显然,.true。应该映射到 1.d0 和 .false。为 0.d0。这样做的最佳方法是什么?
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然后“命令行工具”可以安装吗?
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?
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
我猜include
F90中不存在。是否有类似的东西允许使用 .h 文件?