Course

Introduction to Parallel Programming with CUDA

Johns Hopkins University

This course, offered by Johns Hopkins University, provides a deep dive into parallel programming with CUDA, equipping students with the skills to leverage GPU processing for solving complex problems. The comprehensive curriculum covers a range of topics, including GPU programming, threads, blocks, grids, memory management, and more.

  • Develop code for processing large amounts of data in parallel on GPUs
  • Transform sequential CPU algorithms into CUDA kernels
  • Utilize the CUDA framework to write C/C++ software for CPUs and Nvidia GPUs
  • Learn about GPU hardware and software capabilities, including the use of hundreds to thousands of threads and various forms of memory

Certificate Available ✔

Get Started / More Info
Introduction to Parallel Programming with CUDA
Course Modules

This course includes modules on GPU programming, threads, blocks, grids, memory management, and CUDA device memory analysis, providing a comprehensive understanding of parallel programming with CUDA.

Course Overview

This module provides an overview of the course, expectations, and resources available. It also covers the basics of GPU programming, including the use of VS Code and GitHub resources, C++ reading material, and a simple CUDA project assignment.

Threads, Blocks and Grids

This module delves into kernel execution, dividing and conquering GPU algorithms, and working with threads, blocks, and grids. It includes hands-on assignments related to image processing and data search programming, along with quizzes to reinforce learning.

Host and Global Memory

Module 3 focuses on host and global memory, covering Nvidia GPU device global memory, Linux CLI GPU device identification, and memory allocation. Students engage in discussions and labs to deepen their understanding of memory management.

Shared and Constant Memory

Module 4 explores shared and constant memory on Nvidia GPUs, including allocation, image processing, and manipulation assignments. Students engage in discussions and labs to reinforce their understanding of shared and constant memory.

Register Memory

This module covers CUDA GPU device register memory, memory evaluation, and analysis assignments. It includes quizzes and discussions to solidify students' understanding of register memory on GPUs.

More Software Development Courses

Self-Driving Cars

University of Toronto

Learn the ins and outs of self-driving car technology, from hardware and software stacks to object detection and motion planning, and gain hands-on experience with...

Create a First-Person Camera (VM-Compatible!) in Unity

Coursera Project Network

Create a First-Person Camera (VM-Compatible!) in Unity

Select Topics in Python: Matplotlib

Codio

Learn to code and run Python scripts with Matplotlib without any installation. Delve into core data visualization topics and gain hands-on experience with instant...

تصميم واجهة برمجة تطبيق ب Python Flask : إنشاء واجهة لمدونة

Coursera Project Network

This course teaches you how to design a professional API interface using Python Flask, enabling you to create an advanced blogging platform with integrated RESTful...