2013-04-29 2 views
0

AVX를 사용하여 정수 (_int64) 연산을 최적화하려고합니다. 그러나, 나는 심지어 간단한 조작을 추가 할 수 없다. 계속해서 불법 교육을하고있어. 내가 잘못하고있는 것에 대해 Pls를 수정할 수 있습니까? 감사합니다AVX 정수 연산 수행

for (int i = 0; i < 1; i+=4) 
{ 
    __m256i rA, rB, rC; 
    __m256i *iu, *ju, *ku; 

    iu = (__m256i *)(MatrixAiB1 + i); 
    ju = (__m256i *)(MatrixAjB1+ i); 
    ku = (__m256i *) (store+ i); 

    rA=_mm256_load_si256(iu); 
    rB=_mm256_load_si256(ju); 
    rC=_mm256_add_epi16(rA,rB); 
    _mm256_store_si256(ku,rC); 

} 
+0

cpuid : [여기] (http://msdn.microsoft.com/en-us/library/hskdteyh (v = vs.100) .aspx) 또는 [여기] (http : // en .wikipedia.org/wiki/CPUID) – neagoegab

답변

5

당신은 널리 아직 지원되지 않습니다 AVX 2 명령 세트에서 지침을 사용하고 있습니다. 잘못된 명령어 예외는이 명령어를 지원하지 않는 머신에서 코드를 실행하고 있음을 나타냅니다.

이 지침은 올해 Haswell 프로세서에서 처음 소개되었으므로 "널리 지원되지 않음"은 현재 "공개적으로 사용 가능한 프로세서에서 지원되지 않음"을 의미합니다.

+0

Thnks 많이 있습니다. 확인이 필요함 – FrancFine