打开cl-python绑定
opencl-for-python的Python项目详细描述
这是opencl的另一组python绑定。
警告
此项目当前处于beta版本状态。
特点:
python 2和python 3的兼容性。
支持OpenCl 1.1
- 可发现的特性和方法:
不再需要ctx.get_info(pyopencl.context_info.devices)只需ctx.devices即可
与ctypes:
紧密集成import opencl as cl from ctypes import c_float ctx = cl.Context() a = cl.empty(ctx, [2, 3], ctype=c_float)
像使用默认值和关键字参数的python函数一样调用内核:
import opencl as cl from ctypes import c_float, c_int source = '__kernel void foo(__global float*a, int b, float c) ...' ... # Create a program and context foo = program.foo foo.argnames = 'a', 'b', 'c' foo.argtypes = cl.global_memory(c_float, ndim=2), c_int, c_float # Equivalent to def foo(a, b=1, c=2.0): foo.__defaults__ = 1, 2.0 event = foo(queue, a)
< L>内存对象支持索引和切片:
mem2 = memobj[:, 1, :-1]