GPU Accelerated Computing with C and C++

Using the CUDA Toolkit you can accelerate your C or C++ applications by updating the computationally intensive portions of your code to run on GPUs. To accelerate your applications, you can call functions from drop-in libraries as well as develop custom applications using languages including C, C++, Fortran and Python. Below you will find some resources to help you get started using CUDA.

1
SETUP CUDA

Install the free CUDA Tookit on a Linux, Mac or Windows system with one or more CUDA-capable GPUs. Follow the instructions in the CUDA Quick Start Guide to get up and running quickly.

Or, watch the short video below and follow along.

If you do not have a GPU, you can access one of the thousands of GPUs available from cloud service providers including Amazon AWS, Microsoft Azure and IBM SoftLayer. The NVIDIA-maintained CUDA Amazon Machine Image (AMI) on AWS, for example, comes pre-installed with CUDA and is available for use today.

For more detailed installation instructions, refer to the CUDA installation guides. For help with troubleshooting, browse and participate in the CUDA Setup and Installation forum.

2
YOUR FIRST CUDA PROGRAM

You are now ready to write your first CUDA program. The article, Even Easier Introduction to CUDA, introduces key concepts through simple examples that you can follow along.

The video below walks through an example of how to write an example that adds two vectors.

The Programming Guide in the CUDA Documentation introduces key concepts covered in the video including CUDA programming model, important APIs and performance guidelines.

NVIDIA also provides hands-on training through a collection of self-paced labs. The labs guide you step-by-step through editing and execution of code, and even interaction with visual tools is all woven together into a simple immersive experience.

3
PRACTICE CUDA

Practice the techniques you learned in the materials above through more hands-on labs created for intermediate and advanced users.

The CUDA C Best Practices Guide presents established parallelization and optimization techniques and explains programming approaches that can greatly simplify programming GPU-accelerated applications.

For a more formal, instructor-led introduction to CUDA, explore the Introduction to Parallel Programming on UDACITY. The course covers a series of image processing algorithms such as you might find in Photoshop or Instagram. You'll be able to program and run your assignments on high-end GPUs, even if you don't have one yourself.

Additional Resources

CODE Samples

Availability

The CUDA Toolkit is a free download from NVIDIA and is supported on Windows, Mac, and most standard Linux distributions.

So, now you’re ready to deploy your application?
Register today for free access to NVIDIA TESLA GPUs in the cloud.

Latest News

NVIDIA Turing SDKs Now Available

NVIDIA’s Turing architecture is one of the biggest leaps in computer graphics in 20 years. Here’s a look at the latest developer software releases to take advantage of this cutting-edge GPU.

TensorRT 5 RC Now Available

AT GTC Japan, NVIDIA announced the latest version of the TensorRT’s high-performance deep learning inference optimizer and runtime.

Major Companies in Japan Select Jetson AGX Xavier

At GTC Japan in Tokyo,  NVIDIA Founder and CEO Jensen Huang announced that leading Japanese companies FANUC, Komatsu, Musashi Seimitsu, and Kawada Technologies will adopt Jetson AGX Xavier in their next generation autonomous machines.

Yamaha Motor Selects NVIDIA Jetson AGX Xavier

Yamaha Motor just announced they selected the NVIDIA Jetson AGX Xavier platform as the development system to power their upcoming lineup of autonomous machines in agriculture, logistics, marine products, and last mile-transportation.

Blogs: Parallel ForAll

Turing Variable Rate Shading in VRWorks

NVIDIA Turing GPUs enable a new, easily implemented rendering technique, Variable Rate Shading (VRS). VRS increases rendering performance and quality by applying varying amount of processing power to different areas of the image.

Video Series: Shiny Pixels and Beyond: Real-Time Ray Tracing at SEED

Video Series: Shiny Pixels and Beyond –  Real-Time Raytracing at SEED SEED, Electronic Art’s “Search for Extraordinary Experiences Divison”, walks through what they’ve learned about real-time ray tracing when they built the impressive “PICA PICA”

Introduction to Turing Mesh Shaders

The Turing architecture introduces a new programmable geometric shading pipeline through the use of mesh shaders.

NVIDIA Turing Architecture In-Depth

Fueled by the ongoing growth of the gaming market and its insatiable demand for better 3D graphics, NVIDIA® has evolved the GPU into the world’s leading parallel processing engine for many computationally-intensive applications.