Opencl CL_UNORM_INT8对于CL_图像格式、图像通道数据类型的含义及其与其他数据类型的区别

Opencl CL_UNORM_INT8对于CL_图像格式、图像通道数据类型的含义及其与其他数据类型的区别,opencl,gpgpu,Opencl,Gpgpu,各位!!我不太清楚CL_UNORM_INT8的含义,它是CL_image_format.image_channel_data_type的可用值选择之一;这种类型有什么特别之处,它与CL_UNSIGNED_INT8有什么区别?就存储而言,这些类型是相同的。在这两种情况下,每个像素通道值都将存储为8位整数,值的范围为0-255。当从内核读取/写入映像时,就会出现这种差异 对于CL\u UNSIGNED\u INT8类型,您将使用read\u imageui和write\u imageui函数访问图像

各位!!我不太清楚CL_UNORM_INT8的含义,它是CL_image_format.image_channel_data_type的可用值选择之一;这种类型有什么特别之处,它与CL_UNSIGNED_INT8有什么区别?

就存储而言,这些类型是相同的。在这两种情况下,每个像素通道值都将存储为8位整数,值的范围为0-255。当从内核读取/写入映像时,就会出现这种差异

对于
CL\u UNSIGNED\u INT8
类型,您将使用
read\u imageui
write\u imageui
函数访问图像。这些函数将返回(或接受)一个无符号整数,其值的范围与存储类型相同

对于
CL\u UNORM\u INT8
类型,您将使用
read\u imagef
write\u imagef
功能访问图像。这些函数将返回(或接受)标准化浮点值,范围为
0.0f
-
1.0f
。某些设备(例如,大多数GPU)具有用于归一化纹理值的硬件支持,因此整数和归一化浮点值之间的转换将非常有效