Overview
GPULib enables users to access high performance computing with minimal modification to their existing programs. By providing bindings between Interactive Data Language (IDL) and large function libraries, GPULib can accelerate new applications or be incorporated into existing applications with minimal effort. No knowledge of GPU programming or memory management is required.
GPULib is built on top of NVIDIA's Compute Unified Device Architecture (CUDA) platform. CUDA is supported by a wide range of NVIDIA products, including GeForce, Quadro, and Tesla cards.
Note: By default, GPULib supports only IDL 8.2 and CUDA 5.0. However, for interested GPULib Basic customers Tech-X may perform custom builds with different versions of IDL and CUDA.
Features Available in All GPULib Plans
- Basic vector operations
- BLAS operations
- Random number generator
- Support for CUDA 5.0
- Optimized scalar/array operations
- Common IDL routines, including:
- HISTOGRAM
- WHERE
- Complex data support for:
- GPUATAN2 for complex and double complex
- GPUREAL
- Special functions like LGAMMA
- Accelerated special purpose image processing operations, including Radon transform
- Array indexing and efficient subarray operations
- Makes use of IDL's new capability of overloaded operators for simple notation
- Use of streams to hide memory transfer times
- Memory transfer/allocation
- Defaults to CPU when CUDA-enabled hardware not present
- Extensible: Users can extend library for their own needs
Additional Features Available Only in Basic, Silver, and Gold Plans
- 1D, 2D, and 3D FFTs
- Batched FFTs
- MAGMA linear algebra routines
- GPU accelerated LAPACK library
- Ability to load and execute pre-compiled custom kernels
- Load and execute custom CUDA code
Advantages
- Speed up IDL code easily
- Utilize your existing CUDA-enabled GPUs
- Easy installation on Windows, Mac OS X, and Linux
- Fully documented API with examples

Above, deconvolution of Hubble Space Telescope
image using FFTs performed using GPULib
Performance Results
Speed increases due to GPULib.
Hardware NVIDIA® Tesla® C2070 vc. Intel Xeon® CPU X5650 (2.67 GHz).
(All 12 Xeon cores were use in performance test.)
| Algorithm or Demo | Speedup |
| FFT (250x250 to 10000x10000) | 10-60x |
| decon_hubble_demo (FFT based deconvolution) | 7.7x |
| LGamma demo (1e6 element arrays) | 22.8x |
| FDTD demo | 25x |
| Levenberg-Marquardt fitting algorithm | 6.25x |
What do our customers say?
“GPULib caught my eye immediately as a tailor-made way of boosting the speed of my remote sensing algorithms without having to write my own CUDA kernels.”
– Dr. Mort Canty, Forschungszentrum Juelich, Germany
“Tech-X’s innovative tools are instrumental for visualizing our complex astrophysical simulations and observations.” – Dr. Daniel Pomarede, CEA, France
“Hardware acceleration with Tech-X’s GPUlib gives a 20-fold speed-up over our best CPU implementation.”
– Prof. Dr. David Grier, New York University
“With their GPULib product, Tech-X delivers industry-leading GPU performance that is accessible to our IDL and ENVI customers via an intuitive and easy to use programming interface.”
– Kirk Benell, CTO, ITT VIS, Boulder, Colorado
“GPULib provides the ability to efficiently utilize the power of GPUs for computationally intensive imaging applications in the radiation treatment of cancer.”
– Prof. John Roeske, Director Radiation Physics, Loyola University, Maywood, IL


