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;
?
float 型である必要がありますか、それとも double と integer である可能性がありますか?