2013-06-24 5 views
1

xeon의 SIMD 내장 함수를 테스트하려고합니다. 그래서 다음 코드 작성 : 컴파일 할 때intrinsic을 사용할 때 정의되지 않은 참조

#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 

이 컴파일러는 호스트에 대한 컴파일

답변

2

immintrin.h 외에 포함 할 다른 헤더 파일이 있습니까 나에게 정의되지 않은 참조 오류를 준 제온 파이도 마찬가지다. 호스트가 전화를하려고하는 기능을 지원하지 않으므로 다음과 같이하십시오.

#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