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 剥离了二进制文件,因此没有调试符号。使用gccicc(可能是gfortranifort)你应该使用-g 编译,但我不确定你的Fortran 编译器中的等价物可能是什么。

【讨论】:

以上是关于Linux 上 fortran 代码的 Intel Vtune 奇怪行为的主要内容,如果未能解决你的问题,请参考以下文章

intel fortran如何实现单机多核并行运算

安装后如何运行 Intel Fortran Composer XE?

intel visual fortran compiler干嘛用的

将 mpi 消息从 c++ 代码发送到 fortran 90 代码

intel visual fortran 2013编译器怎么用

使用 Intel Visual Fortran + Microsoft Visual Studio 运行简单的 fortran 程序