OpenCL类型映射

数量类型

为便于使用,cltypes模块提供了从OpenCL类型名到其等效numpy类型的方便映射。这使您不必再引用OpenCL规范来查看clu long是64位无符号整数。使用以下模块:

>>> import numpy as np
>>> import pyopencl as cl
>>> import pyopencl.cltypes
>>> cl_uint = cl.cltypes.uint(42)   # maps to numpy.uint32
>>> cl_long = cl.cltypes.long(1235) # maps to numpy.int64
>>> floats = np.empty((128,), dtype=cl.cltypes.float) # array of numpy.float32

注解

OpenCL类型 bool 没有相应的 numpy 这里定义了类型,因为OpenCL没有为此类型指定内存中的表示(甚至存储大小)。

向量类型

相应的向量类型也在同一个包中提供,允许您轻松创建具有适当内存布局的numpy数组。

>>> import numpy as np
>>> array_of_float16 = np.empty((128,), dtype=cl.cltypes.float16) # array of float16