我目前的问题是以前的问题 SIMD-8,SIMD-16 or SIMD-32 in opencl on gpgpu问题。
我理解GPU上SIMD编程的概念。它表示不同工作项的所有标量指令在warp / SIMD宽度组/ Wavefront中一起执行。我的理解是,如果我们在内核代码中编写打包向量指令,编译器会将该指令转换为标量。执行时,simd宽度组中的所有工作项都执行相同的指令。
1)现在如果我们使用opencl提供的内置如何在gpu上执行它?所有的工作项都是疯了还是会先变成标量?
2)如果在所有工作项上执行疯狂,SIMD宽度是否会从32减少到16或16 - 8?