Я хочу написать программу для GPU (предпочтительно OpenCL), и большая часть вычислений состоит из подсчета количества единиц в массиве битов (упакованных как long или int).
Итак,современные процессоры, очевидно, я бы просто использовал нативную инструкцию __popcnt.Я читал в нескольких местах в Интернете, что современные графические процессоры, эта инструкция также присутствует в аппаратном обеспечении, что было бы огромным ускорением для меня.(хотя бы для 32-битной, не уверен насчет 64)
Однако я нигде не нахожу, как нам эту инструкцию.Итак:
1) как мне узнать, какие графические процессоры имеют эту инструкцию?(Мне все еще нужно купить мой GPU, так что это будет современный high-end… вероятно, серия Radeon HD7000 или nVidia Kepler)
2) как вызвать эту инструкцию из OpenCL (или подобного графического процессораязык)