Voglio scrivere un programma per GPU (preferibilmente OpenCL) e gran parte del calcolo consiste nel contare il numero di 1 in un array di bit (impacchettato quanto lungo o int).OpenCL: istruzione popcnt a 32 e 64 bit su GPU?
Quindi, su CPU moderne ovviamente utilizzerei solo l'istruzione nativa __popcnt. Ho letto su diversi siti su Internet che le moderne GPU, questa istruzione è presente anche nell'hardware, il che sarebbe un enorme aumento di velocità per me. (almeno per 32-bit, non sono sicuro di 64)
Tuttavia, non trovo da nessuna parte come noi questa istruzione. Quindi:
1) come devo scoprire quali GPU hanno questa istruzione? (Ho ancora bisogno di acquistare la mia GPU, quindi sarà una moderna high-end ... probabilmente la serie Radeon HD7000 o nVidia Kepler)
2) come chiamare questa istruzione da OpenCL (o un linguaggio GPU simile) ?