问题标签 [intel-vtune]

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 投票
0 回答
177 浏览

cpu-architecture - 是什么导致退役指令增加?

我有一个 496*O(N^3) 循环。我正在执行一种阻塞优化技术,我一次操作 2 个图像而不是 1 个。在原始术语中,我正在展开外循环。(代码的非展开版本如下所示:)顺便说一句,我使用的是 Intel Xeon X5365 机器,它有 8 个核心,它有 3GHz 时钟,1333MHz 总线频率,共享 8MB L2(每 2 个核心共享 4MB) ,L1-I 32KB,L1-D 32KB。

我使用 Intel Vtune-2013(使用从 gcc-4.1 创建的二进制文件)分析了结果,我可以看到内存带宽使用量减少了 40%,这是预期的,因为每次迭代都会处理 2 个图像。(f_L 存储操作导致每个体素 8 字节的流量)。这占总线周期减少 11.7%!此外,由于在内部循环中增加了块大小,资源停顿减少了 25.5%。这两个占响应时间减少 18%。神秘的问题是,为什么退休的指令增加了 7.9%?(这导致响应时间增加了 6.51%) - 我可以这样做的可能原因是: 1. 由于块内的分支指令数量增加(并且核心架构具有 8 位全局历史)退休的分支指令增加了 2.5% ( 虽然,错误预测保持不变!我知道,闻起来很腥对吧?!!)。但我仍然缺少其余 5.4% 的答案!任何人都可以向我阐明任何方向吗?我完全没有选择,也没有办法思考。非常感谢!!

0 投票
2 回答
1199 浏览

c++ - 如何反汇编编译器生成的代码?

我希望以编译器在指令重新调度后生成的相同顺序查看反汇编代码。顺便说一句,我正在使用 GDB,当我给出一个命令时,disas /m FunctionName它会按照源代码的顺序给我反汇编代码。我正在尝试查看我的编译器(GCC 4.1)重新调度指令的有效性,并希望了解如何重新调度指令。谢谢!///////////////编辑////////////////////////// /////////查看反汇编代码后的一行代码:

我可以看到它的 83 字节指令。但是在通过 2 次迭代展开后:

代码块为 226 字节。并且指令数量大幅增加。谁能告诉我为什么会这样?我还可以从 VTune 中看到,展开后退出的指令增加了。我能想到的可能原因:编译器通过增加块大小获得了足够的机会来生成简单的指令,从而最大限度地提高指令预取和解码器单元的吞吐量。

任何帮助是极大的赞赏。谢谢!!

0 投票
0 回答
327 浏览

c++ - 英特尔 VTune 找不到 .so

我有一个应用程序正在尝试使用英特尔 VTune 进行分析。app -play foo.rec /dir/foo.so我可以毫无问题地在命令行上运行该应用程序。

在 Intel VTune 中,我尝试使用以下参数运行配置文件:

VTune

但是,当我运行此作业时,我收到以下错误:

我已经验证它libboost_system-il-mt-d-1_50.so.1.50.0foo.so. 如何告诉英特尔 VTune 在与 相同的目录中查找此目录foo.so?一般来说,我如何告诉英特尔 VTune 在任何目录中查找任何 .so?

0 投票
0 回答
646 浏览

multithreading - 已用时间和 CPU 时间之间的巨大差异

VTune 热点分析报告我的程序的执行时间(经过时间)为 60 秒,其中只有 10 秒报告为“CPU 时间”。我正在尝试剩余 50 秒的时间。使用 Windows Process Monitor 的文件系统活动,我看到我的程序花了 5 秒时间进行磁盘 I/O。这仍然留下 45 秒下落不明。

根据 VTune,我的程序中有两个线程,其中一个线程消耗了 99% 的 CPU 时间。我看不出这两个线程的执行配置文件如何解释损失的时间。

有什么想法吗?

0 投票
1 回答
113 浏览

gcc - -g 标志更改程序的运行时和编译

我正在编写一个程序,试图使用 SSE 和 AVX SIMD 指令加速 Top K 过滤算法。我正在使用带有标志 -o3、-msse3 和 -lrt 的 icc 编译我的程序,运行时间约为 30 毫秒。但是,当我在末尾添加 -g 标志以使用 vtune 或 gdb 时,程序运行所需的时间会跳到 ~ 100 毫秒。

有人可以解释为什么会发生这种情况吗?我很困惑为什么 -g 会改变程序的编译。

0 投票
0 回答
144 浏览

intel-vtune - Intel vtune 需要大量时间来收集信息

当我使用 vtune 收集进程信息时,我只需要关注一个特定 dll(比如说 X.dll)的结果。但是当我完成运行进程并在收集信息阶段时,一个 dll(比如说 Y.dll)将永远卡在检索信息中。

我只有 X.dll 的符号
我没有 Y.dll 的符号

符号服务器设置有问题吗?
我正在使用 Visual Studio 2008 和 Win7 32 位。

0 投票
1 回答
892 浏览

android - 使用 Eclipse 在 Windows 上为 Android 系统运行 VTune Amplifier 2014

我是 VTune Amplifier 的新手,我正在 Intel Atom 处理器上开发 Android 应用程序。当我尝试运行分析时,出现以下错误

我正在为 Android 系统使用 Intel Vtune Amplifier 2014。

amplxe:错误:无法启用基于硬件事件的采样:驱动程序有问题 (sep*/sepdrv*)。检查驱动程序是否正在运行并且驱动程序组在当前用户组列表中。有关详细信息,请参阅“构建和管理采样驱动程序”帮助主题。

我已尝试按照此链接https://software.intel.com/en-us/forums/topic/372533#comment-1791207 和“Peter Wang(英特尔)”对此线程的评论中提供的步骤进行操作。

我在 Windows 上运行 VTune Amplifier 和 Eclipse。

我无法打断王先生之前关于从链接中提供的线程重新安装驱动程序的评论。

有人可以详细说明解决问题。

注意:我更像是一个 windows 人,对 windows 友好的步骤将对我有很大帮助。

提前感谢您为解决此问题提供的任何帮助。

0 投票
1 回答
102 浏览

c++ - 如何在 C++ 应用程序中模拟高存储活动

有哪些方法可以帮助识别大型多线程 c++ 应用程序中可能因访问存储 I/O 而受到阻碍的问题?

我可以分析应用程序以查找特定运行的特定减速,但我似乎无法模拟缓慢的 I/O 来帮助识别特定的问题区域。

当调整任何主要系统组件(CPU、内存和 I/O)时,性能可能会有所不同,我认为查看这组依赖组件不同的运行差异会很有用。

我熟悉诸如 VTune 之类的运行工具,如果此分析器内部有某个地方可以做到这一点,我想知道,但我愿意使用其他工具。

0 投票
1 回答
143 浏览

c - vtune 显示时间利用率低,但问题未知

使用 Intel Vtune 分析数据包处理应用程序。

仅此指令中的时间利用率低

单次if检查时间利用率低

这个 some_value 是 uint16_t 并作为 (int*)&some_value 传递,如果有帮助,可以作为 (uint8_t*)some_value 进一步访问。

映射到以下

将变量推送到堆栈的函数中的时间利用率低,而其他函数推送相同的变量并占用更少的时间

在内存访问分析、分支错误预测分析等中显示相同的问题。不明白如何克服这个问题

0 投票
1 回答
395 浏览

java - , Vtune 放大器错误

目前我在 linux 系统中使用 VTune 分析器来分析 java 代码。

我通过将报告附加到正在运行的进程来生成报告。

但是,在自上而下的树中,我通常可以看到 [Outside any known module] 这需要一定的时间。

当我点击它时,我看不到任何东西。

奇怪的是,有时它可以生成正确的自上而下的报告。

当 vtune 可以生成正确的报告时,跟踪文件通常约为 500MB

另一方面,当它无法生成时,跟踪文件只有大约 5MB

有很多观点认为这是因为“动态代码”。

所以,我在关闭jdk中的JIT选项后尝试了这个步骤。

当然,我是在root下运行的。

但效果不好。

我的 Ubutu 版本是 14.04.1 LTS

请帮我!!

任何可能的想法都可能会有所帮助

谢谢