NMath User's Guide

TOC | Previous | Next | Index

Chapter 39. NMath Premium (.NET, C#, CSharp, VB, Visual Basic, F#)

The Premium Edition of NMath leverages the power of NVIDIA's CUDA™ architecture for accelerated performance. CUDA is a parallel computing platform and programming model developed by NVIDIA. It enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU). 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:


NMath Premium automatically detects the presence of a CUDA-enabled GPU at runtime (64-bit only) and seamlessly redirects appropriate computations to it.1 If a GPU is not present at runtime, the computation automatically falls back to the CPU without error.

NOTE—There is no GPU support on 32-bit systems. Computations always fall back to the CPU.

NMath Premium's Adaptive Bridge™ technology provides:

Support for multiple GPUs

Per-thread control for binding threads to GPUs

Automatic performance tuning of individual CPU–GPU routing to insure optimal hardware usage

With the exception of some optional GPU configuration and tuning methods, the API is identical between NMath and NMath Premium. This chapter describes how to use NMath Premium. For performance benchmarks, see CenterSpace whitepaper NMath Premium: GPU-Accelerated Math Libraries for .NET.

  1. A Tesla-class device is required to run NMath Premium code using Remote Desktop. Install a Tesla Compute Cluster (TCC) driver and set the Tesla device to TCC mode. The TCC driver enables Remote Desktop, but disables graphics on the Tesla device.