Quiero escribir un programa para GPU (preferiblemente OpenCL) y una gran parte del cálculo consiste en contar el número de 1 en una matriz de bits (empaquetada como larga o int).OpenCL: instrucción popcnt de 32 bits y 64 bits en la GPU?
Por lo tanto, en las CPU modernas obviamente usaría la instrucción __popcnt nativa. Leí en varios lugares de Internet que las GPU modernas, esta instrucción también está presente en el hardware, lo que sería una gran aceleración para mí. (al menos para 32 bits, no estoy seguro acerca de 64)
Sin embargo, no encuentro en ninguna parte cómo estas instrucciones. Entonces:
1) ¿Cómo debo averiguar qué GPU tienen esta instrucción? (Todavía necesito comprar mi GPU, entonces será una de alta gama moderna ... probablemente la serie Radeon HD7000 o nVidia Kepler)
2) cómo llamar a esta instrucción desde OpenCL (o un lenguaje GPU similar) ?