Hello! I got a problem when I run the follow program:
#include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { #pragma offload target(mic:0) { char Host[32]; int len; gethostname(Host,32); printf("%s\n",Host); } #pragma offload target(mic:1) { char Host[32]; int len; gethostname(Host,32); printf("%s\n",Host); } #pragma offload target(mic:2) { char Host[32]; int len; gethostname(Host,32); printf("%s\n",Host); } return 0; }
I run it on a node with three MIC card.I compiled it with icc 13.0 ,then the result is as follow:
cn0-mic0
cn0-mic1
cn0-mic1
Then I compiled it with icc 14.0,the result is as follow:
cn0-mic0
cn0-mic1
cn0-mic2
Of course ,the result of icc14.0 is correct.Why icc 13.0 can not offload code to mic:2???
I am urgent,Please help me,Thank you!