The Premium Editions of NMath 5.3 and NMath Stats 3.6 leverage the power of the CUDA™ architecture for GPU-accelerated mathematics on the .NET platform. CUDA is a parallel computing platform and programming model developed by NVIDIA, which enables dramatic increases in computing performance by harnessing the power of the graphics processing unit. GPU computing is a standard feature in all NVIDIA's 8-Series and later GPUs. The entire NVIDIA Tesla line supports CUDA. For a full list of supported products, see here.
NMath Premium works with any CUDA-enabled GPU. NMath Premium automatically detects the presence of a CUDA-enabled GPU at runtime and seamlessly redirects appropriate computations to it. The library can be configured to specify which problems should be solved by the GPU, and which by the CPU. If a GPU is not present at runtime, the computation automatically falls back to the CPU without error.
No GPU programming experience is required.
With a few minor exceptions, such as optional GPU configuration settings, the API is identical between NMath and NMath Premium. Existing NMath developers can simply upgrade to NMath Premium and immediately begin to offer their users higher performance from current graphics cards, or from additional GPUs, without writing any new software.
No changes are required to existing NMath code.
GPU acceleration provides a 2-4x speed-up for many NMath functions. With large data sets running on high-performance GPUs, the speed-up can exceed 10x. Furthermore, off-loading computation to the GPU frees up the CPU for additional processing tasks, a further performance gain.
The directly supported features for GPU acceleration of linear algebra (dense systems) are:
GPU acceleration for signal processing includes:
GPU: (1) NVIDIA Tesla M2090: 1 Fermi GPU, 512 CUDA cores, 6GB GDDR5 memory
CPU: Intel Xeon X5670, 2.93 GHz, 6-core with Hyper-Threading (12 threads), 12 MB L3 cache, 32 nm manufacturing process (Westmere)
Of course, many higher-level NMath and NMath Stats classes make use of these functions internally, and so also benefit from GPU acceleration indirectly.
Learn more by downloading our free whitepaper, NMath Premium: GPU-Accelerated Math Libraries for .NET, and by reading articles on NMath Premium in our blog.