GPULib

GPULib is discontinued and unsupported software library developed by Tech-X Corporation for accelerating general-purpose scientific computations from within the Interactive Data Language (IDL) using Nvidia's CUDA platform for programming its graphics processing units (GPUs). GPULib provides basic arithmetic, array indexing, special functions, Fast Fourier Transforms (FFT), interpolation, BLAS matrix operations as well as LAPACK routines provided by MAGMA, and some image processing operations. All numeric data types provided by IDL are supported. GPULib is used in medical imaging, optics, astronomy, earth science, remote sensing,  and other scientific areas.

A CUDA enabled GPU is currently required to use this library, although there is an OpenCL prototype available. GPULib provides more capabilities depending on the capability of the graphics processing unit (GPU) being used. For example, double-precision calculations and the ability to transfer data concurrently with computations are not provided by all GPUs, but GPULib supports these operations on GPUs which are capable of performing them.

GPULib is provided in the form of a Dynamically Loadable Module (DLM) along with IDL code. Using GPULib does not require knowledge of C or CUDA, though it can be extended if the user is knowledgeable with CUDA. GPULib previously provided bindings for other languages including Matlab, Python, and Java.

The GPULib API documentation is available online.