哪些代碼可以利用SIMD指令集的嚴格定義是什麼?是否可以並行運行計算?支持SIMD的代碼?
所以,如果我有:
for(int i=0; i<100; i++){
sum += array[i];
}
這可能需要SIMD的優勢,因爲我們可以運行:
for(int i=0; i<100;i=i+4){
sum0 += array[i];
sum1 += array[i+1];
sum2 += array[i+2];
sum3 += array[i+3];
}
sum = sum0 + sum1 + sum2 + sum3;
?
它是否必須是浮點類型,或者它可能是雙精度和整數?
確實沒有任何有用的定義。你可以在使用它時使用它 - 它只能由經驗來回答。 – harold