GPU Acceleration Resources

In the GPU acceleration session you will learn about using NVIDIA CUDA for a fast, parallel implementation of LBM.

Installation

If you have one of the supported graphics cards on your laptop (for the conference) or desktop (for after the conference), the instructions for downloading and installing the required development software are provided on the NVIDIA website. Guides for getting started and other documentation are provided here. As a brief overview, you will need

  1. A C/C++ development environment such as the GNU tools on Linux or Visual Studio in Windows
  2. The development version of the NVIDIA driver for your card
  3. The CUDA toolkit
  4. The CUDA software development kit (SDK)

The installation details depend on which platform you are using: Linux, Mac, or Windows. I have experience with Linux and Windows installations.

For participants who do not have NVIDIA cards on their laptops, instructions for accessing GPU resources will be provided during the afternoon lab session.

Testing Your Installation or Remote GPU Access

If you are able to have your own installation, the best way to test is to compile and run the examples provided with the SDK.

The first code example is posted here to let you test your setup for the way the code will be organized in the workshop. LBMWorkshop-vecAdd.zip contains:

  • Makefile for linux
  • vecAdd.cu
  • vecAdd.cpp

To compile in Visual C++ Express in Windows, use the template project in C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\src\template (or the installation path you chose) and replace the code with vecAdd.cu and vecAdd.cpp.

On Linux, extract the archive and edit the Makefile to ensure that CUDADIR, CUDALIBDIR, and CUDAARCH (e.g. 11, 12, 21 for CUDA capabilities 1.1, 1.2 and 2.1) match your system settings. Then run “make” and “./vecAdd”