Alineación de tono para texturas 2D.

Las texturas 2D son una característica útil de CUDA en aplicaciones de procesamiento de imágenes. Para vincular la memoria lineal de tono a las texturas 2D, la memoria debe estar alineada.cudaMallocPitch Es una buena opción para la asignación de memoria alineada. En mi dispositivo, el tono devuelto porcudaMallocPitch es un múltiplo de 512, es decir, la memoria tiene una alineación de 512 bytes.

El requisito de alineación real para el dispositivo está determinado porcudaDeviceProp::texturePitchAlignment que es de 32 bytes en mi dispositivo.

Mi pregunta es:

Si el requisito de alineación real para texturas 2D es de 32 bytes, entonces ¿por quécudaMallocPitch ¿Devuelve 512 bytes de memoria alineada?

¿No es un desperdicio de memoria? Por ejemplo, si creo una imagen de 8 bits de tamaño 513 x 100, ocupará 1024 x 100 bytes.

Me sale este comportamiento en los siguientes sistemas:

1: Asus G53JW + Windows 8 x64 + GeForce GTX 460M + CUDA 5 + Core i7 740QM + 4GB RAM

2: Dell Inspiron N5110 + Windows 7 x64 + GeForce GT525M + CUDA 4.2 + Corei7 2630QM + 6GB RAM