【发布时间】:2014-06-06 19:11:46
【问题描述】:
我想在英特尔至强融核上调试本机应用程序。 我安装了提供 gdb-mic 的 MPSS 3.2.3,但它似乎并没有在本地运行。在某些文档中,他们提到了一个文件“/usr/linux-k1om-4.7/linux-k1om/usr/bin/gdb”,但在那个目录中我只有 gdbserver,没有 gdb。
有人知道如何在英特尔至强融核上调试本机应用程序吗?
【问题讨论】:
我想在英特尔至强融核上调试本机应用程序。 我安装了提供 gdb-mic 的 MPSS 3.2.3,但它似乎并没有在本地运行。在某些文档中,他们提到了一个文件“/usr/linux-k1om-4.7/linux-k1om/usr/bin/gdb”,但在那个目录中我只有 gdbserver,没有 gdb。
有人知道如何在英特尔至强融核上调试本机应用程序吗?
【问题讨论】:
是的,他们已经隐藏了,不是吗。他们将其移至具有可选内容的 RPM,而不是将其保留在主发行版中。我认为他们希望每个人都使用 gdbserver 进行远程 gdb 调试。
相信您可以在“协处理器操作系统软件”中找到原生 gdb。 (我不能 100% 确定,因为我目前无法轻松检查。)
查看https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss 上的“MPSS 3.2.x Linux 版”tar 文件。
【讨论】:
正如 Taylor Kidd 在之前的帖子中提到的,Intel has moved the gdb out of the basic package。因此,如果有人试图找到 gdb,如果基本包中不存在它,请从 https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss 下载它。
你需要下载的gdb包(MPSS 3.2.3)叫做“Software for Coprocessor OS (mpss-3.2-k1om.tar)”(当前链接:http://registrationcenter.intel.com/irc_nas/4245/mpss-3.2.3-k1om.tar)
下载并解压文件后,您会在<untar-dir>/mpss-3.2.3/k1om 下看到很多rpm 文件。在这里,您将看到一些以 gdb 开头的 rpm 文件。这些是您需要为本地 gdb 调试安装的。如果您按照以下说明操作,则需要此目录中的其他一些 rpm。
现在要安装这些 rpms,我从MPSS_Users_Guide.pdf (http://registrationcenter.intel.com/irc_nas/4245/MPSS_Users_Guide.pdf) 中阅读了“Installing Card Side RPMs" (section 11.3)”部分。虽然他们提到了 3 种不同的安装 rpms 的方法,但我使用了第一种方法,即copying the rpm files and using zypper to install them。当然,你可以使用NFS,这样你就不需要复制了,但这是另一个问题。
所以在我复制或共享 rpms 后,我需要从卡内运行以下两个命令:
rpm -ihv coreutils*.rpm libgmp*.rpm
zypper install gdb*.rpm
之后,当您登录到 phi 时,您将能够原生运行 gdb。
希望这对正在寻找如何在英特尔至强融核上进行本地调试的任何人有所帮助。
【讨论】:
您还可以查看商业工具 - 例如 Allinea DDT - 这将带来对您的疑问和问题的支持,以及 gdb 中不存在的东西,例如内存调试和 MPI 功能。这支持 Xeon Phi native mode 和卸载模式等其他形式。
【讨论】: