OpenCL is definitely the way to go for a cross platform solution with both nvidia and AMD having released beta runtimes to their respective developer networks (free as in beer subscription required for the beta dowload pages). Final public releases to be expected around 2009 Q3.
OpenCL is an open royalty free standardized API and runtime specification for heterogeneous with a mix of CPU and GPU cores. The nvidia implementation is based on the CUDA runtime and programming OpenCL is very similar to programming in C for CUDA. The developer of PyCUDA is also working on PyOpenCL http://pypi.python.org/pypi/pyopencl/ Both nvidia and AMD use llvm to compile the OpenCL cross-platform kernel sources into device specific binaries loaded at runtime. Official OpenCL specs: http://www.khronos.org/registry/cl/specs/opencl-1.0.29.pdf Wikipedia page: http://en.wikipedia.org/wiki/OpenCL nvidia runtime: http://www.nvidia.com/object/cuda_opencl.html AMD runtime: only working with x86 and x86_64 with SSE3 for now: http://developer.amd.com/GPU/ATISTREAMSDKBETAPROGRAM/Pages/default.aspx Intel and IBM were also a members of the standard comity so we can reasonably expect runtime for there chips in the future (e.g. larabee and Cell BE). -- Olivier http://twitter.com/ogrisel - http://code.oliviergrisel.name _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion