OpenCL lurking around the corner…

After months in the standardization-pipeline, OpenCL seems to be finally somewhere around. OpenCL generalizes the access to parallel-computing technologies such as Nvidia’s CUDA, AMD’s Stream, IBM’s Cell/B.E., FPGA- or similar platforms by defining a common API that talks to the devices and a C-derived language to define the kernels. The goal is “write once, run everywhere”…

A few days ago Nvidia has pre-released a “conformance candidate” for it’s OpenCL-implementation to registered developers. Although this is a early stage, the quality of the tools and libraries already seems very promising. Nvidia clearly took a run for OpenCL with the changes to the CUDA-API since 2.0 and the transition from CUDA to OpenCL is nice and easy. I took Sunday afternoon and implemented a  OpenCL-core for Pyrit; the new code was committed to svn as rev100.

End-users are actually not able to take use of the new core right now as the required GPU- and OpenCL-drivers are not available to the general public yet. In the long term however, the OpenCL-core will replace the CUDA-/AMD-specific code and provide access to other platforms like Cell/B.E. (->Pyrit on Playstation 3). This looks very promising…

Oh, and by the way: According to Google’s codesearch Pyrit is one of the first GPL’ed tools using OpenCL :-)

CUDA 2.2 breaks Pyrit [Update]

CUDA 2.2 causes an error message like this:

Failed to load CUDA-core (CUDA_ERROR_INVALID_IMAGE)

This error should be fixed in latest svn. Please use the code directly from trunk for now…

Follow

Get every new post delivered to your Inbox.