1

xeon phi の SIMD 組み込みをテストしたいと考えています。だから私は次のコードを書いた:

#pragma offload target(mic) in(a:length(N))
#pragma omp parallel for
for(int i=0;i<16;++i){
    __m512i p ;
    p = _mm512_loadunpackhi_epi64(p, &a[i*10]);
}

コンパイル時に、icpc未定義の参照エラーが発生しました

/tmp/icpc3kLMRg.o: In function `main':
./src/test.cc:(.text+0x2e8): undefined reference to `_mm512_extloadunpackhi_epi64'
make: *** [test.cc] Error 1

他に含めるヘッダーファイルはありますかimmintrin.h

4

1 に答える 1

2

コンパイラは、ホスト用と xeon phi 用にコンパイルします。ホストは、呼び出そうとしている関数をサポートしていないため、次のようにする必要があります。

#ifdef __MIC__
#pragma offload target(mic) in(a:length(N))
#pragma omp parallel for
for(int i=0;i<16;++i){
    __m512i p ;
    p = _mm512_loadunpackhi_epi64(p, &a[i*10]);
}
#else
   <do something differnt on the host (or nothing)>
#endif
于 2013-06-25T17:23:10.140 に答える