OpenCL: 32-битная и 64-битная инструкция popcnt на GPU?

Я хочу написать программу для графического процессора (предпочтительно OpenCL), и большая часть вычислений состоит из подсчета количества единиц в битовом массиве (упакованном как long или int) .

Итак, на современных процессорах я бы, очевидно, просто использовал встроенную инструкцию __popcnt. Я читал в нескольких местах в Интернете, что в современных графических процессорах эта инструкция также присутствует в аппаратном обеспечении, что было бы огромным ускорением для меня. (по крайней мере, для 32-битных, не уверен насчет 64)

Однако я нигде не нашел, как использовать эту инструкцию. Итак:

1) как мне узнать, на каких графических процессорах есть эта инструкция? (Мне все еще нужно купить свой графический процессор, так что это будет современный высокопроизводительный процессор ... возможно, серия Radeon HD7000 или nVidia Kepler)

2) как вызвать эту инструкцию из OpenCL (или аналогичного языка графического процессора)?

6
задан user1111929 4 February 2012 в 12:46
поделиться