Learn CUDA with Docker!
What you'll learn
- How to code with CUDA, but without a GPU!
- Basic knowladge about CUDA programming
- Ability to desing and implement CUDA parallel algorithms
Requirements
- Basic C or C++ programming knowledge
Description
WELCOME!
We present you the long waited approach to Learn CUDA WITHOUT NVIDIA GPUS! Finally, you can learn CUDA just on your laptop, tablet or even on your mobile, and that's it! CUDA provides a general-purpose programming model which gives you access to the tremendous computational power of modern GPUs, as well as powerful libraries for machine learning, image processing, linear algebra, and parallel algorithms.
WHAT DO YOU LEARN?
We will demonstrate how you can learn CUDA with the simple use of Docker and OS-level virtualization to deliver software in packages called containers and GPGPU-Sim, a cycle-level simulator modeling contemporary graphics processing units (GPUs) running GPU computing workloads written in CUDA or OpenCL. This course aims to introduce you with the NVIDIA's CUDA parallel architecture and programming model in an easy-to-understand way. We plan to update the lessons and add more lessons and exercises every month!
Virtualization basics
Docker Essentials
GPU Basics
CUDA Installation
CUDA Toolkit
CUDA Threads and Blocks in various combinations
CUDA Coding Examples
Based on your earlier feedback, we are introducing a Zoom live class lecture series on this course through which we will explain different aspects of the Parallel and distributed computing and the High Performance Computing (HPC) systems software stack: Slurm, PBS Pro, OpenMP, MPI and CUDA! Live classes will be delivered through the Scientific Programming School, which is an interactive and advanced e-learning platform for learning scientific coding. Students purchasing this course will receive free access to the interactive version (with Scientific code playgrounds) of this course from the Scientific Programming School (SCIENTIFIC PROGRAMMING IO) . Instructions to join are given in the bonus content section.
DISCLAIMER
Some of the images used in this course are copyrighted to NVIDIA.
Who this course is for:
- Any one who wants to learn CUDA programming, but does NOT have access to expensive GPUs
Instructors
The Scientific Programming Instructor Team helps you to learn the use of scientific programming languages, such as CUDA, Julia, OpenMP, MPI, C++, Matlab, Octave, Bash, Python Sed and AWK including RegEx in processing scientific and real-world data. The teamed is formed by PhD educated instructors in the areas of Computational Sciences.
Scientific programming is a rapidly growing multidisciplinary field that uses advanced computing capabilities to understand and solve complex problems.
The Scientific Programming School, with 50,000 students is an awesome e-education start-up initiative to provide professional training and practice courses for Scientific Coding, Linux, and Big Data. It is also an interactive and advanced e-learning platform that gives you the opportunity to run scientific codes/ OS commands as you learn with playgrounds and Interactive shells inside your browser. Scientific Programming Instructors specialize on Linux, Devops, HPC and Data Science coding with scientific programming. Currently we support three OS (Ubuntu, RHEL and SuSE) and 50+ programming languages including the commercial ones like Matlab. At the Scientific Programming School you start learning immediately instead of fiddling with OS, VMs, SDKs and/ IDEs setups. It‘s all setup with Docker on the cloud.