2016-02-18 3 views
1

У меня есть код C, который компилируется и выполняется корректно локально на моей машине. Но когда я пытаюсь компилировать с МЦМ и -mmic флага и проверить его на Intel Xeon Phi, я получаю следующее сообщение:Не удается выполнить двоичную ошибку на Intel Xeon Phi

/см/местная/приложение/СГЭ/ток/катушка/node079/job_scripts/5438755: строка 14: ./sequential.mic: не может выполнить двоичный файл

Я бегу все мои тесты в кластере, который использует систему представления работы 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) , все будет работать так, как ожидалось.
  • Кроме того, я попробовал команду файла для проверки на исполняемый файл микрофона, а выход: sequential.mic: ELF 64-разрядный исполняемый файл LSB, версия 1 (SYSV), динамически связанная (использует общие библиотеки), для GNU/Linux 2.4.0, не разделяется

Любые предложения более чем приветствуются.

ответ

0

Поскольку ему необходимо запустить изначально код на Xeon Phi, ему также необходим исполняемый файл для Xeon phi.

Поэтому выполнение должно быть: /USR/бен/micnativeloadex ./sequential.mic