我有一份C代码,在我的本地机器上编译和运行正常。但是当我尝试使用icc和-mmic标志进行编译,并在Intel Xeon Phi上测试时,我会收到以下消息:
/cm/local/apps/sge/current/spool/node079/job_scripts/5438755: line 14: ./sequential.mic: cannot execute binary file 我在一个使用SGE作业提交系统的集群中运行所有测试。
我的Makefile包含以下行:
/cm/local/apps/sge/current/spool/node079/job_scripts/5438755: line 14: ./sequential.mic: cannot execute binary file 我在一个使用SGE作业提交系统的集群中运行所有测试。
我的Makefile包含以下行:
sequential: Makefile
icc -mmic -o sequential.mic sequential.c
qsub sequential.job
提交作业的作业文件为:
#!/bin/sh
#$ -S /bin/sh
#$ -l h_rt=00:10:00
#$ -j y
#$ -l fat,accel=XeoPhi
#$ -cwd
. /etc/bashrc
module load intel/compiler/64/13.3/2013.3.163
./sequential.mic
注:
- 如果我使用gcc编译并将其提交到普通节点(XEON 5620),则一切都符合预期。
- 此外,我尝试使用file命令检查mic可执行文件,输出为:sequential.mic:ELF 64位LSB可执行文件,版本1(SYSV),动态链接(使用共享库),适用于GNU / Linux 2.4.0,未剥夺
欢迎提出任何建议。