Linux 上 fortran 代码的 Intel Vtune 奇怪行为
Posted
技术标签:
【中文标题】Linux 上 fortran 代码的 Intel Vtune 奇怪行为【英文标题】:Intel Vtune weird behavior for fortran code on linux 【发布时间】:2013-02-01 21:44:30 【问题描述】:我已经用不同的优化标志编译了 fortran 程序。我有一个带有默认优化标志 -O2 的程序和另一个带有 -fast 优化标志的编译程序。我能够打开使用优化标志 -O2 编译的程序。那么,当我们尝试在 Vtune 中加载程序时,程序也会执行?
但是,当我尝试加载使用优化标志 -fast 编译的程序时,Vtune 会抛出错误“无法最终确定结果”。您打开的结果是空的。这可能是由数据收集过程中的错误引起的。这实际上意味着什么?我浏览了这个论坛的其他帖子,但不太明白这是什么意思。
我得到的收集器消息如下:
错误:分析目标的二进制文件不包含分析所需的符号。有关更多详细信息,请参阅文档。 错误:在分析目标的静态二进制文件中找不到有效的 dlopen 符号。
我使用的是 ubuntu 12.04 系统。
非常感谢。请尽快回复。
贾巴巴
【问题讨论】:
您在英特尔开发者论坛上问过这个问题吗?甚至询问他们的技术支持? 【参考方案1】:我不确定您使用的是什么编译器(有些编译器有 -fast
),但根据您的描述,我最好的猜测是 -fast
剥离了二进制文件,因此没有调试符号。使用gcc
或icc
(可能是gfortran
或ifort
)你应该使用-g
编译,但我不确定你的Fortran 编译器中的等价物可能是什么。
【讨论】:
以上是关于Linux 上 fortran 代码的 Intel Vtune 奇怪行为的主要内容,如果未能解决你的问题,请参考以下文章
安装后如何运行 Intel Fortran Composer XE?
intel visual fortran compiler干嘛用的
将 mpi 消息从 c++ 代码发送到 fortran 90 代码
intel visual fortran 2013编译器怎么用
使用 Intel Visual Fortran + Microsoft Visual Studio 运行简单的 fortran 程序