Boulder, Colorado - October 2, 2013:
Updates in the new GPULib 1.6.2 release include:
- Support for CUDA 5.5
- Updated to MAGMA 1.4
- improved syntax in GPUEXECUTEFUNCTION
- small bug fixes
Tech-X intends to keep updating GPULib to use the newest versions of IDL and CUDA as those packages are released.
While this 1.6.2 release mainly addresses updates to the libraries upon which GPULib is built, there is one new convenience of note that was added for using GPUEXECUTEFUNCTION.
In GPULib 1.6.2, it is now possible to obtain the full functionality of GPULib without calling any of the private methods of the GPUVariable class. After reading PTX code and loading a module and function, the CUDA kernel can now be launched with the nicer syntax instead of the cumbersome syntax of calling the getHandle method for each GPU variable.
For example, now you can simply use:
gpuExecuteFunction, kernel, $ dx, $ dy, $ dz, $ n, $ GRID=[nBlocksPerGrid], $ BLOCKS=[nThreadsPerBlock], $ ERROR=err
gpuExecuteFunction, kernel, $ dx->_getHandle(), $ dy->_getHandle(), $ dz->_getHandle(), $ n, $ GRID=[nBlocksPerGrid], $ BLOCKS=[nThreadsPerBlock], $ ERROR=err