CuPP is a framework that has been developed to ease the integration of NVIDIA CUDA into C++ applications. It enhances CUDA by offering automatic device/host memory management, data structures and a special kernel call semantic, similar to call by reference as it is known from the C++ realm.
Here is an code sample from the examples folder of CuPP archive:
#include#include #include "cupp/device.h" #include "cupp/kernel.h" #include "kernel_t.h" using namespace std; using namespace cupp; int main() { // lets get a simple CUDA device up and running device d; int i = 42; int j = 23; dim3 block_dim (1); dim3 grid_dim (1); // generate the kernel kernel k (get_kernel(), grid_dim, block_dim); // call the kernel k(d, i, j); return EXIT_SUCCESS; }
ISC 2009 is the International Conference on Supercomputing (Hamburg, Germany) and here are the slides from a tutorial about CUDA and OpenCL held over there:
- Introduction to GPU Computing
- Basic CUDA
- CUDA Toolkit & Libraries
- CUDA Optimization
- Introduction to OpenCL
- Case Study: Computational Fluid Dynamics
Related News: