NI Labs Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Welcome to NI Labs LabVIEW GPU Computing

Welcome to NI Labs LabVIEW GPU Computing. This G-based SDK includes a set of VIs that manage GPU resources. While similar to the NVIDIA CUDA SDK, these VI interfaces are designed to work with LabVIEW data types and promote good G programming practices.

Because CUDA functions are defined in C/C++, LabVIEW's call library node is capable of calling these functions. When data on the GPU is managed from the LabVIEW environment, additional functions are required in the external code to ensure that parallel execution is preserved. This external functionality is provided in headers and binaries packaged with the LVCUDA VIs. Refer to the documentation for more information.

Running the CUDA examples requires NVIDIA's CUDA runtime engine which can be downloaded from NVIDIA's website (http://www.nvidia.com/cuda). If you have compiled and run CUDA-based functions, then you should already have the necessary files installed on your system.

At the time of release, this SDK was tested using CUDA v2.2, Visual Studio 2005 and Windows XP (32-bit). While the existing binaries only support 32-bit Windows platforms, it is possible that newer versions of the CUDA runtime will work.

0 Kudos
Message 1 of 2
(11,121 Views)

Based on some customer feedback, I've found a few issues with the CUBLAS functionality. In most cases, the problems have resulted in an error code 15 when using certain CUBLAS memory functions or calling the SGEMV function.

File List

This package contains the following files:

  • bin\lvcublas.dll [1]
  • examples\lvcublas\src\LVCUBLAS_GetVector.cpp  [1]
  • examples\lvcublas_sgemv\bin\lvcublas_sgemv.dll [2]
  • examples\lvcublas_sgemv\inc\LV_cublasSgemv.h  [2]
  • examples\lvcublas_sgemv\src\LV_cublasSgemv.cpp [2]

[1]  These are reference files only. It is unlikely that these have been  edited while working with the module.

[2] If you made modifications to  the SGEMV example, you may want to back up those files before installing this package.

Instructions

  1. Download the attached ZIP file (LVCUDA_v1_sp1.zip).
  2. Extract the contents to the directory where LVCUDA is installed (default = C:\LVCUDA)

Corrected Behavior

  1. Return of error code 15 from calling Get cuBLAS Vector (SGL).vi when provided valid inputs.
  2. Return of error code 15 from calling LV_cublasSgemv.vi when provided valid inputs.

Known Issues

  • When working with CUDA v2.x (2.2 or less), sending vector or matrix data to the GPU via the CUBLAS interface appears to consume resources that are not recovered. Over time, the GPU becomes unresponsive.

    Recovery Option: This problem appears to be linked to the CUDA runtime engine. Restarting LabVIEW closes the existing runtime and loads a new one.
0 Kudos
Message 2 of 2
(3,631 Views)