Detecting and Configuring your GPU for Computation

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.

  1. 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 Manager open 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”.

    My device manager

    Multiple display adapters can be installed and it’s important to note that NMath Premium currently only runs on the device 0 adapter. 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.

  2. NVIDIA provides a GPU device query program called DeviceQuery.exe that 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
    

    Note that deviceQuery has 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.

Compute Capability

NVIDIA has classified it’s various hardware architectures under the moniker of Compute Capability. The higher the compute capability number a GPU has the more modern it’s architecture. Most software leveraging NVIDIA GPU’s requires some minimum compute capability to run correctly and NMath Premium is no different. NMath Premium requires a GPU with a compute capability of 1.3 or higher. All of NVIDIA’s GPUs are listed here along with their compute capability number. The deviceQuery also lists each installed GPU’s compute capability near the head of the listing under CUDA Capability Major/Minor version number (see above).

Leave a Reply

Your email address will not be published. Required fields are marked *

Top