By Robert Hochberg
Shodor, Durham, North Carolina
This module provides a quick review of dynamic programming, but the student is assumed to have seen it before. The parallel programming environment is NVIDIA's CUDA environment for graphics cards (GPGPU - general purpose graphics processing units). The CUDA environment simultaneously operates with a fast shared memory and a much slower global memory, and thus has aspects of shared-memory parallel computing and distributed computing. Specifics for programming in CUDA are included where appropriate, but the reader is also referred to the NVIDIA CUDA C Programming Guide, and the CUDA API Reference Manual.
Upon completion of this module, students should be able to:
The documents can be downloaded below:
Dynamic Programming with CUDA Pt 1 Document : The module document in PDF format.
Dynamic Programming Pt 1 Assessment Document : The student assessment document in PDF format.
Dynamic Programming Pt 1 Code : A zip file of the module's accompanying code for student exercises.
NVIDIA CUDA C Programming Guide : The NVIDIA CUDA C Programming Guide posted with special permission from the NVIDIA corporation.
NVIDIA CUDA C Best Practices Guide : The NVIDIA CUDA C Best Practices Guide posted with special permission from the NVIDIA corporation.
The CUDA Compiler Drive NVCC : The CUDA Compiler Drive NVCC Guide posted with special permission from the NVIDIA corporation.