The CUDA Toolkit includes 100+ code samples, utilities, whitepapers, and additional documentation to help you get started developing, porting, and optimizing your applications for the CUDA architecture. You can get quick access to many of the toolkit resources on this page, CUDA documentation, or download the complete toolkit.
Please note that you may need to install the latest NVIDIA drivers and CUDA Toolkit to compile and run the code samples.
Refer to the samples release notes for more information.
|
||
![]() This sample shows how to copy CUDA image back to OpenGL using the most efficient methods. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates how to use C++ function overloading on the GPU. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates simple quicksort implemented using CUDA Dynamic Parallelism. This sample requires devices with compute capability 3.5 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates simple printf implemented using CUDA Dynamic Parallelism. This sample requires devices with compute capability 3.5 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates Quad Trees implemented using CUDA Dynamic Parallelism. This sample requires devices with compute capability 3.5 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates LU Decomposition implemented using CUDA Dynamic Parallelism. This sample requires devices with compute capability 3.5 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates bezier tesselation of lines implemented using CUDA Dynamic Parallelism. This sample requires devices with compute capability 3.5 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates an advanced quicksort implemented using CUDA Dynamic Parallelism. This sample requires devices with compute capability 3.5 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates the use of CUDA streams for concurrent execution of several kernels on devices which provide HyperQ (SM 3.5). Devices without HyperQ (SM 2.0 and SM 3.0) will run a maximum of two kernels concurrently. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This example demonstrates use of cudaSurfaceObject, cudaTextureObject, and MipMap support in CUDA. A GPU with Compute Capability SM 3.0 is required to run the sample. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This example demonstrates how to use the shuffle intrinsic __shfl_up to perform a scan operation across a thread block. A GPU with Compute Capability SM 3.0. is required to run the sample |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates a CUDA 5.0 feature, the ability to create a GPU device static library and use it within another CUDA kernel. This example demonstrates how to pass in a GPU device function (from the GPU device static library) as a function pointer to be called. This sample requires devices with compute capability 2.0 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() A CUDA program that demonstrates how to compute a stereo disparity map using SIMD SAD (Sum of Absolute Difference) intrinsics. Requires Compute Capability 2.0 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements multi-threaded heterogeneous computing workloads with the new CPU callbacks for CUDA streams and events introduced with CUDA 5.0. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This CUDA Runtime API sample is a very basic sample that demonstrates Inter Process Communication with one process per GPU for computation. Requires Compute Capability 2.0 or higher and a Linux Operating System |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates an approach to the image segmentation trees construction. This method is based on Boruvka's MST algorithm. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This CUDA Runtime API sample is a very basic sample that implements how to use the assert function in the device code. Requires Compute Capability 2.0 . |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple example that demonstrates how to use a new CUDA 4.1 feature to support cubemap Textures in CUDA C. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates 3D Volumetric Filtering using 3D Textures and 3D Surface Writes. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates dynamic global memory allocation through device C++ new and delete operators and virtual function declarations available with CUDA 4.0. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Variational optical flow estimation example. Uses textures for image operations. Shows how simple PDE solver can be accelerated with CUDA. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This application demonstrates the new CUDA 4.0 APIs that support Peer-To-Peer (P2P) copies, Peer-To-Peer (P2P) addressing, and UVA (Unified Virtual Memory Addressing) between multiple Tesla GPUs. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() A simple test application that demonstrates a new CUDA 4.0 ability to embed PTX in a CUDA kernel. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple example that demonstrates how to use a new CUDA 4.0 feature to support layered Textures in CUDA C. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates a CUDA mathematical simulation of group of birds behavior when in flight. |
![]() ![]() |
|
|
||
![]() This sample demonstrates how to effectively use the CUDA Video Encoder API encode H.264 video. Video input in YUV formats are taken as input (either CPU system or GPU memory) and video output frames are encoded to an H.264 file |
![]() ![]() |
|
|
||
![]() Simple program which demonstrates SLI with Direct3D10 Texture interoperability with CUDA. The program creates a D3D10 Texture which is written to from a CUDA kernel. Direct3D then renders the results on the screen. A Direct3D Capable device is required. |
![]() ![]() |
|
|
||
![]() This CUDA Runtime API sample is a very basic sample that implements how to use the printf function in the device code. Specifically, for devices with compute capability less than 2.0, the function cuPrintf is called; otherwise, printf can be used directly. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Bilateral filter is an edge-preserving non-linear smoothing filter that is implemented with CUDA with OpenGL rendering. It can be used in image recovery and denoising. Each pixel is weight by considering both the spatial distance and color distance between its neighbors. Reference:"C. Tomasi, R. Manduchi, Bilateral Filtering for Gray and Color Images, proceeding of the ICCV, 1998, http://users.soe.ucsc.edu/~manduchi/Papers/ICCV98.pdf" |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple example that demonstrates the use of 2D surface references (Write-to-Texture) |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample illustrates how to use function pointers and implements the Sobel Edge Detection filter for 8-bit monochrome images. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Interval arithmetic operators example. Uses various C++ features (templates and recursion). The recursive mode requires Compute SM 2.0 capabilities. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple program which demonstrates Direct3D11 Texture interoperability with CUDA. The program creates a number of D3D11 Textures (2D, 3D, and CubeMap) which are written to from CUDA kernels. Direct3D then renders the results on the screen. A Direct3D Capable device is required. |
![]() ![]() |
|
|
||
![]() Supported in GPUs with Compute Capability 1.1, overlapping compute with one memcopy is possible from the host system. For Quadro and Tesla GPUs with Compute Capability 2.0, a second overlapped copy operation in either direction at full speed is possible (PCI-e is symmetric). This sample illustrates the usage of CUDA streams to achieve overlapping of kernel execution with data copies to and from the device. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This CUDA Runtime API sample is a very basic sample that implements element by element vector addition. It is the same as the sample illustrating Chapter 3 of the programming guide with some additions like error checking. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This Vector Addition sample is a basic sample that is implemented element by element. It is the same as the sample illustrating Chapter 3 of the programming guide with some additions like error checking. This sample also uses the new CUDA 4.0 kernel launch Driver API. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample enumerates the properties of the CUDA devices present in the system. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample enumerates the properties of the CUDA devices present using CUDA Driver API calls |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() A trivial template project that can be used as a starting point to create new CUDA Runtime API projects. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() A trivial template project that can be used as a starting point to create new CUDA projects. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This example demonstrates how to integrate CUDA into an existing C++ application, i.e. the CUDA entry point on host side is only a function which is called from C++ code and only the file containing this function is compiled with nvcc. It also demonstrates that vector types can be used from cpp. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This is a simple test program to measure the memcopy bandwidth of the GPU and memcpy bandwidth across PCI-e. This test application is capable of measuring device to device copy bandwidth, host to device copy bandwidth for pageable and page-locked memory, and device to host copy bandwidth for pageable and page-locked memory. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample uses CUDA streams and events to overlap execution on CPU and GPU. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This example shows how to use the clock function to measure the performance of kernel accurately. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() A simple demonstration of global memory atomic instructions. Requires Compute Capability 1.1 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Use of Pitch Linear Textures |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample uses CUDA streams to overlap kernel executions with memory copies between the host and a GPU device. This sample uses a new CUDA 4.0 feature that supports pinning of generic host memory. Requires Compute Capability 1.1 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample is a templatized version of the template project. It also shows how to correctly templatize dynamically allocated shared memory arrays. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample applies a finite differences time domain progression stencil on a 3D surface. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple example that demonstrates use of Textures in CUDA. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple example that demonstrates use of Textures in CUDA. This sample uses the new CUDA 4.0 kernel launch Driver API. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple program which demonstrates how to use the Vote (any, all) intrinsic instruction in a CUDA kernel. Requires Compute Capability 1.2 or higher. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample illustrates how to use Zero MemCopy, kernels can read and write directly to pinned system memory. This sample requires GPUs that support this feature (MCP79 and GT200). |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple program illustrating how to the CUDA Context Management API and uses the new CUDA 4.0parameter passing and CUDA launch API. CUDA contexts can be created separately and attached independently to different threads. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This application demonstrates how to use the new CUDA 4.0 API for CUDA context management and multi-threaded access to run CUDA kernels on multiple-GPUs. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple program which demonstrates interoperability between CUDA and Direct3D9. The program generates a vertex array with CUDA and uses Direct3D9 to render the geometry. A Direct3D capable device is required. |
![]() ![]() |
|
|
||
![]() Simple program which demonstrates Direct3D9 Texture interoperability with CUDA. The program creates a number of D3D9 Textures (2D, 3D, and CubeMap) which are written to from CUDA kernels. Direct3D then renders the results on the screen. A Direct3D capable device is required. |
![]() ![]() |
|
|
||
![]() Simple program which demonstrates interoperability between CUDA and Direct3D10. The program generates a vertex array with CUDA and uses Direct3D10 to render the geometry. A Direct3D Capable device is required. |
![]() ![]() |
|
|
||
![]() Simple program which demonstrates interop of rendertargets between Direct3D10 and CUDA. The program uses RenderTarget positions with CUDA and generates a histogram with visualization. A Direct3D10 Capable device is required. |
![]() ![]() |
|
|
||
![]() Simple program which demonstrates how to interoperate CUDA with Direct3D10 Texture. The program creates a number of D3D10 Textures (2D, 3D, and CubeMap) which are generated from CUDA kernels. Direct3D then renders the results on the screen. A Direct3D10 Capable device is required. |
![]() ![]() |
|
|
||
![]() Simple program which demonstrates interoperability between CUDA and OpenGL. The program modifies vertex positions with CUDA and uses OpenGL to render the geometry. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple example that demonstrates use of 3D Textures in CUDA. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements matrix multiplication from Chapter 3 of the programming guide. To illustrate GPU performance for matrix multiply, this sample also shows how to use the new CUDA 4.0 interface for CUBLAS to demonstrate high-performance performance for matrix multiplication. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements matrix multiplication and is exactly the same as Chapter 6 of the programming guide. It has been written for clarity of exposition to illustrate various CUDA programming principles, not with the goal of providing the most performant generic kernel for matrix multiplication. To illustrate GPU performance for matrix multiply, this sample also shows how to use the new CUDA 4.0 interface for CUBLAS to demonstrate high-performance performance for matrix multiplication. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample revisits matrix multiplication using the CUDA driver API. It demonstrates how to link to CUDA driver at runtime and how to use JIT (just-in-time) compilation from PTX code. It has been written for clarity of exposition to illustrate various CUDA programming principles, not with the goal of providing the most performant generic kernel for matrix multiplication. CUBLAS provides high-performance matrix multiplication. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample calculates scalar products of a given set of input vector pairs. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates the use of CUDA streams for concurrent execution of several kernels on devices of compute capability 2.0 or higher. Devices of compute capability 1.x will run the kernels sequentially. It also illustrates how to introduce dependencies between CUDA streams with the new cudaStreamWaitEvent function introduced in CUDA 3.2 |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() A simple test, showing huge access speed gap between aligned and misaligned structures. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample uses the Driver API to just-in-time compile (JIT) a Kernel from PTX code. Additionally, this sample demonstrates the seamless interoperability capability of the CUDA Runtime and CUDA Driver API calls. For CUDA 5.5, this sample shows how to use cuLink* functions to link PTX assembly using the CUDA driver at runtime. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates how Discrete Cosine Transform (DCT) for blocks of 8 by 8 pixels can be performed using CUDA: a naive implementation by definition and a more traditional approach used in many libraries. As opposed to implementing DCT in a fragment shader, CUDA allows for an easier and more efficient implementation. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Discrete Haar wavelet decomposition for 1D signals with a length which is a power of 2. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() The computation of all or a subset of all eigenvalues is an important problem in Linear Algebra, statistics, physics, and many other fields. This sample demonstrates a parallel implementation of a bisection algorithm for the computation of all eigenvalues of a tridiagonal symmetric matrix of arbitrary size with CUDA. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Naturally(Hadamard)-ordered Fast Walsh Transform for batching vectors of arbitrary eligible lengths that are power of two in size. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates efficient implementation of 64-bin and 256-bin histogram. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample is an implementation of a simple line-of-sight algorithm: Given a height map and a ray originating at some observation point, it computes all the points along the ray that are visible from the observation point. The implementation is based on the Thrust library (http://code.google.com/p/thrust/). |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates Matrix Transpose. Different performance are shown to achieve high performance. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Fast image box filter using CUDA with OpenGL rendering. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample shows how to post-process an image rendered in OpenGL using CUDA. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() A parallel sum reduction that computes the sum of a large arrays of values. This sample demonstrates several important optimization strategies for 1:Data-Parallel Algorithms like reduction. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This example demonstrates an efficient CUDA implementation of parallel prefix sum, also known as "scan". Given an array of numbers, scan computes a new array in which each element is the sum of all the elements before it in the input array. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() High Quality DXT Compression using CUDA. This example shows how to implement an existing computationally-intensive CPU compression algorithm in parallel on the GPU, and obtain an order of magnitude performance improvement. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates two adaptive image denoising techniques: KNN and NLM, based on computation of both geometric and color distance between texels. While both techniques are implemented in the DirectX SDK using shaders, massively speeded up variation of the latter technique, taking advantage of shared memory, is implemented in addition to DirectX counterparts. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements the Sobel edge detection filter for 8-bit monochrome images. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements a Gaussian blur using Deriche's recursive method. The advantage of this method is that the execution time is independent of the filter width. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates how to efficiently use the CUDA Video Decoder API to decode MPEG-2, VC-1, or H.264 sources. YUV to RGB conversion of video is accomplished with CUDA kernel. The output result is rendered to a D3D9 surface. The decoded video is not displayed on the screen, but with -displayvideo at the command line parameter, the video output can be seen. Requires a Direct3D capable device and Compute Capability 1.1 or higher. |
![]() ![]() |
|
|
||
![]() This sample demonstrates how to efficiently use the CUDA Video Decoder API to decode video sources based on MPEG-2, VC-1, and H.264. YUV to RGB conversion of video is accomplished with CUDA kernel. The output result is rendered to a OpenGL surface. The decoded video is black, but can be enabled with -displayvideo added to the command line. Requires Compute Capability 1.1 or higher. |
![]() ![]() |
|
|
||
![]() This sample demonstrates how to efficiently implement a Bicubic B-spline interpolation filter with CUDA texture. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() An example of fluid simulation using CUDA and CUFFT, with Direct3D 9 rendering. A Direct3D Capable device is required. |
![]() ![]() |
|
|
||
![]() An example of fluid simulation using CUDA and CUFFT, with OpenGL rendering. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample simulates an Ocean height field using CUFFT Library and renders the result using OpenGL. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates how 2D convolutions with very large kernel sizes can be efficiently implemented using FFT transformations. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements a separable convolution filter of a 2D signal with a gaussian kernel. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Texture-based implementation of a separable 2D convolution with a gaussian kernel. Used for performance comparison against convolutionSeparable. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample shows how to perform a reduction operation on an array of values using the thread Fence intrinsic. to produce a single value in a single kernel (as opposed to two or more kernel calls as shown in the "reduction" SDK sample). Single-pass reduction requires global atomic instructions (Compute Capability 1.1 or later) and the _threadfence() intrinsic (CUDA 2.2 or later). |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates a very fast and efficient parallel radix sort uses Thrust library (http://code.google.com/p/thrust/). The included RadixSort class can sort either key-value pairs (with float or unsigned integer keys) or keys only. The optimized code in this sample (and also in reduction and scan) uses a technique known as warp-synchronous programming, which relies on the fact that within a warp of threads running on a CUDA GPU, all threads execute instructions synchronously. The code uses this to avoid __syncthreads() when threads within a warp are sharing data via __shared__ memory. It is important to note that for this to work correctly without race conditions on all GPUs, the shared memory used in these warp-synchronous expressions must be declared volatile. If it is not declared volatile, then in the absence of __syncthreads(), the compiler is free to delay stores to __shared__ memory and keep the data in registers (an optimization technique), which will result in incorrect execution. So please heed the use of volatile in these samples and use it in the same way in any code you derive from them. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements bitonic sort and odd-even merge sort (also known as Batcher's sort), algorithms belonging to the class of sorting networks. While generally subefficient, for large sequences compared to algorithms with better asymptotic algorithmic complexity (i.e. merge sort or radix sort), this may be the preferred algorithms of choice for sorting batches of short-sized to mid-sized (key, value) array pairs. Refer to an excellent tutorial by H. W. Lang http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/networks/indexen.htm |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements a merge sort (also known as Batcher's sort), algorithms belonging to the class of sorting networks. While generally subefficient on large sequences compared to algorithms with better asymptotic algorithmic complexity (i.e. merge sort or radix sort), may be the algorithms of choice for sorting batches of short- to mid-sized (key, value) array pairs. Refer to the excellent tutorial by H. W. Lang http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/networks/indexen.htm |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample evaluates fair call price for a given set of European options under binomial model. This sample will also take advantage of double precision if a GTX 200 class GPU is present. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample evaluates fair call and put prices for a given set of European options by Black-Scholes formula. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements Niederreiter Quasirandom Sequence Generator and Inverse Cumulative Normal Distribution functions for the generation of Standard Normal Distributions. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample evaluates fair call price for a given set of European options using the Monte Carlo approach, taking advantage of all CUDA-capable GPUs installed in the system. This sample use double precision hardware if a GTX 200 class GPU is present. The sample also takes advantage of CUDA 4.0 capability to supporting using a single CPU thread to control multiple GPUs |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample uses CUDA to compute and display the Mandelbrot or Julia sets interactively. It also illustrates the use of "double single" arithmetic to improve precision when zooming a long way into the pattern. This sample use double precision hardware if a GT200 class GPU is present. Thanks to Mark Granger of NewTek who submitted this code sample.! |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample uses CUDA to simulate and visualize a large set of particles and their physical interaction. Adding "-particles= |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample extracts a geometric isosurface from a volume dataset using the marching cubes algorithm. It uses the scan (prefix sum) function from the Thrust library to perform stream compaction. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates basic volume rendering using 3D Textures. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates efficient all-pairs simulation of a gravitational n-body simulation in CUDA. This sample accompanies the GPU Gems 3 chapter "Fast N-Body Simulation with CUDA". With CUDA 5.5, performance on Tesla K20c has increased to over 1.8TFLOP/s single precision. Double Performance has also improved on all Kepler and Fermi GPU architectures as well. Starting in CUDA 4.0, the nBody sample has been updated to take advantage of new features to easily scale the n-body simulation across multiple GPUs in a single PC. Adding "-numbodies= |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Smoke simulation with volumetric shadows using half-angle slicing technique. Uses CUDA for procedural simulation, Thrust Library for sorting algorithms, and OpenGL for graphics rendering. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements Sobol Quasirandom Sequence Generator. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample implements matrix multiplication and uses the new CUDA 4.0 kernel launch Driver API. It has been written for clarity of exposition to illustrate various CUDA programming principles, not with the goal of providing the most performant generic kernel for matrix multiplication. CUBLAS provides high-performance matrix multiplication. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() Simple example demonstrating how to use MPI in combination with CUDA. This executable is not pre-built with the SDK installer. |
![]() ![]()
Download - Windows (x86) |
|
|
||
![]() This sample demonstrates how to integrate Excel 2010 with CUDA using array formulas. This plug-in depends on the Microsoft Excel 2010 Developer Kit, which can be downloaded from the Microsoft Developer website. This sample is not pre-built with the CUDA SDK. |
![]() ![]() |
|
|
||
![]() This sample demonstrates how to integrate Excel 2007 with CUDA using array formulas. This plug-in depends on the Microsoft Excel Developer Kit. This sample is not pre-built with the CUDA SDK. |
![]() ![]() |
|
|
||
![]() This sample demonstrates how to use OpenMP API to write an application for multiple GPUs. This executable is not pre-built with the SDK installer. |
![]() ![]()
Download - Windows (x86) |