在远程机器上使用 Intel Advisor 的正确方法是什么?
What is the correct way to use Intel Advisor on a remote machine?
英特尔 VTune Amplifier 可以分析执行的并行应用程序 on a remote machine。
Intel Advisor 没有这样的选项。根据 this 文档,您必须使用 Intel Advisor 的命令行版本:
This makes it possible to automate many tasks as well as analyze an
application running on remote hosts
但是,GUI 版本有很多 cl 版本没有的功能(比如关于如何解决 vectorization/multi-thread 效率低下的建议等)。
我尝试在远程机器上 运行 advixe-cl
然后将项目复制到本地(并产生结果)。它可以工作,但会丢失一些功能。作为最后一次机会,我尝试 ssh -X
远程机器并使用 advixe-gui
,但我的 Xeon Phi KNL 的主内核似乎太弱,无法正确运行这样的图形应用程序。
在这种情况下 correct/best Intel Advisor 的用途是什么?
推荐的方式由您在这里描述:"run advixe-cl on the remote machine and then copy locally the project"。
但是你提到了 "some features were lost"。你到底丢了什么?
给定的命令行+GUI 方法的主要缺陷是您最初可能无法在 "Source View" 选项卡中看到您的源代码。要克服此限制,您必须调整本地项目副本的项目属性并指定 "Source Search",有时指定 "Binaries/Symbol Search" 指定目录,提供原始源代码所在位置的路径,有时可执行二进制文件加上 DWARF/pdb调试信息文件所在。
如果您在命令行中使用了“-no-auto-finalize”选项(这是更高级的场景),您可能还需要使用 Re-Finalize 功能(仅从 2017 Update 2 新版本开始可用)或者(对于旧版本)确保您提供 Binary/Symbol/Source 打开本地项目副本后搜索,但 在 "Show My Result" 上传数据操作之前
英特尔 VTune Amplifier 可以分析执行的并行应用程序 on a remote machine。
Intel Advisor 没有这样的选项。根据 this 文档,您必须使用 Intel Advisor 的命令行版本:
This makes it possible to automate many tasks as well as analyze an application running on remote hosts
但是,GUI 版本有很多 cl 版本没有的功能(比如关于如何解决 vectorization/multi-thread 效率低下的建议等)。
我尝试在远程机器上 运行 advixe-cl
然后将项目复制到本地(并产生结果)。它可以工作,但会丢失一些功能。作为最后一次机会,我尝试 ssh -X
远程机器并使用 advixe-gui
,但我的 Xeon Phi KNL 的主内核似乎太弱,无法正确运行这样的图形应用程序。
在这种情况下 correct/best Intel Advisor 的用途是什么?
推荐的方式由您在这里描述:"run advixe-cl on the remote machine and then copy locally the project"。 但是你提到了 "some features were lost"。你到底丢了什么?
给定的命令行+GUI 方法的主要缺陷是您最初可能无法在 "Source View" 选项卡中看到您的源代码。要克服此限制,您必须调整本地项目副本的项目属性并指定 "Source Search",有时指定 "Binaries/Symbol Search" 指定目录,提供原始源代码所在位置的路径,有时可执行二进制文件加上 DWARF/pdb调试信息文件所在。
如果您在命令行中使用了“-no-auto-finalize”选项(这是更高级的场景),您可能还需要使用 Re-Finalize 功能(仅从 2017 Update 2 新版本开始可用)或者(对于旧版本)确保您提供 Binary/Symbol/Source 打开本地项目副本后搜索,但 在 "Show My Result" 上传数据操作之前