У меня есть код 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, не разделяется
Любые предложения более чем приветствуются.