当前位置: 首页 > 知识库问答 >
问题:

在至强Phi上使用GCC

东方英豪
2023-03-14

我被告知可以在用gcc构建的MIC上运行程序。

这是真的吗?

如果是,如何继续?

我使用的是gcc版本4.4.7。

共有1个答案

杨豪
2023-03-14

Intel Xeon Phi确实可以运行使用gcc交叉编译器编译的程序。然而,gcc不适合为协处理器编译任何应用程序,因为gcc“不支持Knights Corner向量指令和相关优化改进。Knights Corner的gcc实际上只用于构建内核和相关工具;它不用于构建应用程序。”,据英特尔称。

您使用gsl库的问题是因为该库没有为Intel Xeon Phi交叉编译,而是为主机编译和配置的。为了让gsl(或任何其他库)在Intel Xeon Phi上运行,您必须为协处理器交叉编译它,并在编译需要该库的程序时提供到编译器和链接器的必要路径:

gcc hellophi.c -L/path/to/cross/compiled/glslib -lgsl

使用icc时,可以通过TCP/IP堆栈(例如使用scp)将交叉编译的库传输到协处理器,并让icc执行环境变量和路径处理。

 类似资料:
  • 我有一个带有四个麦克风卡(mic0-mic3)的服务器,它工作得很好。我想禁用一些麦克风,例如mic3,现在只有mic0-mic2可用。我该怎么办?

  • 如果我在512宽的SIMD向量中有以下双精度,例如在Xeon Phi寄存器中: 是否可以将其制成: 使用单个指令?此外,由于双打没有按位内部函数,这仍然是实现上述目标的有效方法吗?

  • 我正在Intel Xeon®Phi®上实现一个超高速popcount,因为它是各种生物信息学软件的性能热点。 我已经实现了五段代码, 支持OpenMP的代码摘要可从以下网站下载https://www.dropbox.com/sh/b3sfqps19wa2oi4/iFQ9wQ1NTg 代码是使用“英特尔C/C编译器XE 13”使用以下命令编译的: 代码在协处理器(61核)上本机运行,使用导出“122

  • 问题内容: 我有一个Linux设备驱动程序,该驱动程序与一个设备相连,该设备理论上可以使用64位地址执行DMA。我想测试一下是否确实有效。 有没有一种简单的方法可以强制Linux计算机不使用物理地址4G以下的任何内存?如果内核映像位于低内存中就可以了;我只想能够强制我知道所有动态分配的缓冲区,而为我分配的任何内核或用户缓冲区都无法以32位寻址的情况。这有点蛮力,但是比我能想到的任何东西都要全面。

  • 问题 你的程序包含一个很大的类继承体系,你希望强制执行某些编程规约(或者代码诊断)来帮助程序员保持清醒。 解决方案 如果你想监控类的定义,通常可以通过定义一个元类。一个基本元类通常是继承自 type 并重定义它的 __new__() 方法 或者是 __init__() 方法。比如: class MyMeta(type): def __new__(self, clsname, bases,

  • 问题内容: 我试图强迫MySQL使用两个索引。我正在加入一个表,我想利用两个索引之间的交叉。具体术语是“使用相交”,这是指向MySQL文档的链接: http://dev.mysql.com/doc/refman/5.0/zh-CN/index-merge- optimization.html 有什么办法可以强制实施吗?我的查询正在使用它(并且它加快了速度),但是现在无论出于何种原因它都停止了。 这