¿Cuáles son / son las alternativas memset () más rápidas para OpenCL?

Estoy usando OpenCL, y necesitomemset() alguna matriz en la memoria global del dispositivo. CUDA tiene unmemset()-como función API, pero OpenCL no lo hace. Yo leoesta, donde encontré dos posibles alternativas:

utilizandomemset() en el host con un buffer de cero, entoncesclEnqueueWriteBuffer() para copiar eso al búfer en el dispositivo.

Poniendo en cola (sp?) El siguiente kernel:

__kernel void memset_uint4 (__ global uint4 * mem, __ private uint4 val) {mem [get_global_id (0)] = val; }

¿Cual es mejor? O más bien, ¿en qué circunstancias / para qué plataformas es una mejor que la otra?

Nota: Si el caso especial de cero memoria merece un tratamiento especial, sería bueno saberlo también.

Respuestas a la pregunta(2)

Su respuesta a la pregunta