cudaMemset () - ¿establece bytes o enteros?

Desdeen línea documentación:

cudaError_t cudaMemset (void * devPtr, int value, size_t count )

Rellena los primeros bytes de conteo del área de memoria apuntada por devPtr con la constantebyte valor valor

Parámetros: devPtr - Puntero al valor de la memoria del dispositivo - Valor a establecer para cada unobyte del recuento de memoria especificado - Tamaño enbytes para establecer

Esta descripción no parece ser correcta como:

int *dJunk;
cudaMalloc((void**)&dJunk, 32*(sizeof(int));
cudaMemset(dJunk, 0x12, 32);

establecerá los 32 enteros en 0x12, no 0x12121212. (Int vs Byte)

La descripción habla de la configuración de bytes. El recuento y el valor se describen en términos de bytes. El recuento de avisos es de tipotamaño_t, y el valor es de tipo int. es decir, establecer un tamaño de byte a un valor int.

cudaMemset () no se menciona en la guía de progreso. Tengo que asumir que el comportamiento que estoy viendo es correcto y que la documentación es mala.

¿Hay una mejor fuente de documentación por ahí? (¿Dónde?)
¿Son compatibles otros tipos? es decir, lo haríafloat *dJunk; ¿trabajo? ¿Otros?

Respuestas a la pregunta(1)

Su respuesta a la pregunta