我想寫一個GPU(最好是OpenCL)的程序,並且大部分的計算包括對位數組中的1進行計數(打包爲long或int)。OpenCL:GPU上的32位和64位popcnt指令?
因此,在現代CPU上,我顯然會使用本地的__popcnt指令。我在互聯網上的幾個地方閱讀了現代GPU,這個指令也出現在硬件中,這對我來說將是一個巨大的加速。 (至少對於32位,不確定約64)
但是,我找不到如何給我們這條指令。所以:
1)我該如何找出哪些GPU有這個指令? (我仍然需要購買我的GPU,所以它將成爲現代高端...可能是Radeon HD7000系列或nVidia Kepler)
2)如何從OpenCL(或類似的GPU語言)調用此指令, ?