opencl-for-python (original) (raw)
Project description
This is yet another set of Python bindings for OpenCL.
Features:
- Python 2 and Python 3 compatibility.
- Supports OpenCL 1.1
- Discoverable properties and methods:
No more ctx.get_info(pyopencl.context_info.DEVICES) just do ctx.devices - Tight integration with ctypes:
import opencl as cl
from ctypes import c_float
ctx = cl.Context()
a = cl.empty(ctx, [2, 3], ctype=c_float) - Call kernels like a python function with defaults and keyword arguments:
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)
- Memory objects support indexing and slicing:
mem2 = memobj[:, 1, :-1]
Links:
- Homepage
- Issue Tracker
- Development documentation
- PyPi
- Github
- OpenCL 1.1 spec
- Also please check out CLyther
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file opencl-for-python-0.5.2.tar.gz.
File metadata
- Download URL: opencl-for-python-0.5.2.tar.gz
- Upload date: Jan 10, 2012
- Size: 497.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Hashes for opencl-for-python-0.5.2.tar.gz | Algorithm | Hash digest | | | ----------- | ---------------------------------------------------------------- | | | SHA256 | 2882299749e074e8e79071aa4445df8d17fe666fac81337f1891061835ee6592 | | | MD5 | b6b8d786ab13d4a1566c000dd4d2370f | | | BLAKE2b-256 | b78fc04c187a85b74db46e0155fc8a62207412b4f784a877629abdcf83b0b6ab | |