Detecting your GPU
Before evaluating NMath Premium or any other GPU-aware software you need to know what type of hardware you have and verify that the correct drivers are installed. There are two quick ways of detecting your NVIDIA GPU and viewing it’s hardware specifications.
The majority of installed NVIDIA GPU’s in desktop computers are there acting as high performance video rendering hardware. You can quickly see if you have a NVIDIA GPU installed by opening your windows
Device Manager(right click on Computer from the Start menu, select Properties, and click on Device Manger). Once in the Device Manageropen the Display adapters in the tree-menu and a list of installed devices will be shown. On my development machine I see one display adapter listed as “NVIDIA GeForce GT 640”.
Multiple display adapters can be installed and it’s important to note that NMath Premium currently only runs on the
device 0adapter. By right clicking on a listed display adapter more details are provided including the driver version and device number. Display adapters (GPU’s) can be individually enabled or disabled from the right-click context menu.
NVIDIA provides a GPU device query program called
DeviceQuery.exethat is freely available which gives a detailed list of features of all installed GPU’s. CenterSpace ships a version of this program with the GPU-aware NMath Premium product. When I run this program on my development machine I get the following:
CenterSpace Software NMath Premium Check... Detected 1 CUDA Capable device(s) Device 0: "GeForce GT 640" CUDA Driver Version / Runtime Version 5.5 / 5.0 CUDA Capability Major/Minor version number: 3.0 Total amount of global memory: 1024 MBytes (107... ( 2) Multiprocessors x (192) CUDA Cores/MP: 384 CUDA Cores GPU Clock rate: 954 MHz (0.95 GHz) Memory Clock rate: 2500 Mhz Memory Bus Width: 128-bit L2 Cache Size: 262144 bytes Max Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65... Max Layered Texture Size (dim) x layers 1D=(16384) x 2048,... Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Maximum sizes of each dimension of a block: 1024 x 1024 x 64 Maximum sizes of each dimension of a grid: 2147483647 x 655... Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 1 copy e... Run time limit on kernels: Yes Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device PCI Bus ID / PCI location ID: 1 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.5, CUDA Runtime Version = 5.0, NumDevs = 1, Device0 = GeForce GT 640
deviceQueryhas a CUDA library dependency (on the runtime CUDART64 dll) and so will complain unless you have installed NMath Premium. Probably the most important item to note is at the bottom of the listing where the CUDA driver and CUDA runtimes versions are given. Currently NMath Premium requires a CUDA driver of at least 5.0 and a CUDA runtime of the same version or higher. I’ll describe the simple process of upgrading your driver in the follow section.
NVIDIA GPU Drivers
NVIDIA has made upgrading to the latest driver simple and you’ll need to do this upgrade to use NMath Premium if your CUDA driver is below 5.0. If you have a GeForce GPU just point your browser at http://www.geforce.com/drivers and the site can automatically detect your hardware and download the latest correct driver. Alternatively the latest drivers for all NVIDIA hardware are available for download here.
NVIDIA has classified it’s various hardware architectures under the moniker of
deviceQuery also lists each installed GPU’s compute capability near the head of the listing under
CUDA Capability Major/Minor version number (see above).