GPU Programming with CUDA
Learn to write and optimise GPU code with CUDA, NVIDIA's parallel computing platform, in C++ and Python.
- ✓ Instructor-led live sessions, online or in Bengaluru
- ✓ Hands-on labs in every module
- ✓ Capstone project with trainer review
- ✓ Curriculum customisable for corporate teams
- ✓ Certificate of completion
Next batch: Sat, 09 Jan 2027 · 32 hours · 4 days
GPU Programming with CUDA
Duration: 32 hours · 4 days
Next batch: Sat, 09 Jan 2027
Format: Online live · Bengaluru classroom
Modules: 9 · Topics: 42
Level: Intermediate to Advanced
Fee: ₹14,999
Trusted by leading experts
Upcoming batches
Open batches for individuals; corporate batches on your dates.
| Programme | Starts | Mode | Schedule | Duration | |
|---|---|---|---|---|---|
| GPU Programming with CUDA | Sat, 09 Jan 2027 | Online live | Weekend (Sat) | 5 Saturdays | Enquire |
| GPU Programming with CUDA | Mon, 01 Feb 2027 | Online live | Weekday | 4 days | Enquire |
| GPU Programming with CUDA | Sat, 20 Mar 2027 | Online live | Weekend (Sat) | 5 Saturdays | Enquire |
Soaring demand, and where it takes you
Accelerated computing underpins modern AI and HPC, and engineers who can write and optimise GPU code remain a specialised, valued group.
Become an expert
Roles this programme prepares you for:
Become a GPU Software Engineer
Writes and optimises CUDA code for performance-critical workloads.
- Explain GPU architecture and the CUDA programming model
- Write and launch kernels using threads, blocks and grids
- Use global, shared and unified memory effectively
About the course
A hands-on introduction to GPU programming with CUDA, NVIDIA's parallel computing platform. Participants write kernels in CUDA C++ and Python (Numba), learn the GPU memory hierarchy, use streams for concurrency and profile with NVIDIA Nsight tools to find real speed-ups.
Learn to write and optimise GPU code with CUDA, NVIDIA's parallel computing platform, in C++ and Python.
Why should I attend?
C++ and Python developers
HPC and scientific computing engineers
ML engineers needing custom kernels
Performance engineers
Prerequisites
C/C++ or Python programming; basic linear algebra; access to an NVIDIA GPU (provided in labs)
Level
Intermediate to Advanced
Delivery modes, duration and fee
Online live
Instructor-led virtual classroom; weekday (full-day) or weekend (Saturday) batches
Bengaluru classroom
In-person batches at our Bengaluru training venue
On-site at your office
Private corporate batch anywhere in India, scheduled around your teams
Blended
Live sessions plus guided self-paced labs and mentor check-ins
Duration: 32 hours · 4 days
Course fee (open batch): ₹14,999
Corporate / team batches: per-participant or flat batch pricing on request, based on group size, format and customisation.
What will you learn
- Explain GPU architecture and the CUDA programming model
- Write and launch kernels using threads, blocks and grids
- Use global, shared and unified memory effectively
- Overlap data transfer and compute with streams
- Profile with Nsight Systems and Nsight Compute
- Use CUDA libraries such as cuBLAS instead of reinventing them
Skills you will gain
Programming model
Memory
Performance
Tools and platforms covered
Course curriculum
M01 GPU fundamentals
- CPU vs GPU design
- SMs and warps
- When GPUs help
- GPU generations and compute capability
- Amdahl's law
🧪 Hands-on: Benchmark a vector operation
M02 CUDA programming model
- Kernels
- Threads, blocks and grids
- Error handling
- Indexing patterns
- Device queries
🧪 Hands-on: Write a first kernel in CUDA C++
M03 Memory hierarchy
- Global memory and coalescing
- Shared memory tiling
- Unified memory
- Bank conflicts
- Constant and texture memory
🧪 Hands-on: Optimise matrix multiplication with tiling
M04 CUDA from Python
- Numba CUDA kernels
- CuPy arrays
- Interoperability
- cuda-python overview
- Calling CUDA from PyTorch
🧪 Hands-on: Port a NumPy hotspot to the GPU
M05 Concurrency
- Streams and async copies
- Overlapping transfer and compute
- Synchronisation
- CUDA graphs
- Events and timing
🧪 Hands-on: Pipeline a batch workload
M06 Profiling and libraries
- Nsight Systems timelines
- Nsight Compute kernel analysis
- cuBLAS and other libraries
- Roofline analysis
- Thrust and CUB
🧪 Hands-on: Profile and fix a slow kernel
M07 Parallel algorithms
- Reductions
- Scans
- Histograms and atomics
- Matrix multiply
🧪 Hands-on: Implement and optimise a parallel reduction
M08 Multi-GPU and advanced topics
- Peer-to-peer transfers
- NCCL basics
- Cooperative groups
- Tensor Cores overview
🧪 Hands-on: Run a two-GPU data-parallel computation
M09 Capstone: accelerate a real workload
- Profiling the CPU baseline
- Porting
- Optimising
- Reporting speed-up
🧪 Hands-on: Accelerate a workload and present a profiling report
Hands-on projects
Accelerated workload
Port a CPU-bound workload to the GPU and document the profiled speed-up.
Why train with us
Built around your stack
Labs and examples adapted to the tools, cloud and data your team actually uses.
Practice-first
Every module ends in a lab, and the course ends with a reviewed capstone.
Practitioner-led
Delivered by Karthick Selvam and vetted specialist trainers from our network.
Visible progress
Attendance, lab completion and assessment results shared with your L&D team.
Certificate of completion
Participants who complete the labs and capstone receive a Learning Dots certificate of completion for GPU Programming with CUDA. [confirm certificate wording / sample image]
Learner reviews
“[Verified learner review for this course]”
“[Verified learner review for this course]”
Meet your trainer
Karthick Selvam
Founder · Data Engineering Corporate Trainer, Bengaluru
[Trainer bio, experience and areas of expertise]
Frequently asked questions
What hardware is needed?
Access to an NVIDIA GPU, either local or in the cloud; we can advise on options.
Is C++ required?
C++ helps for the core modules; Python developers can follow the Numba track.
Can the curriculum be customised for our team?
Yes. Modules, depth, duration and labs can be tailored to your stack and goals.
What delivery formats are available?
Online live instructor-led sessions, Bengaluru classroom, or on-site at your office.
How do we enquire or book?
Use the enquiry form on this page or the Enquire button next to any batch.
What does it cost?
The open-batch fee is ₹14,999 per participant plus GST. Corporate batches are priced on group size, format and customisation.
How long is the course?
32 hours · 4 days. Corporate batches can be split into half-day sessions.
A closer look
About this course
A hands-on introduction to GPU programming with CUDA, NVIDIA's parallel computing platform. Participants write kernels in CUDA C++ and Python (Numba), learn the GPU memory hierarchy, use streams for concurrency and profile with NVIDIA Nsight tools to find real speed-ups.
What is GPU Programming with CUDA?
Learn to write and optimise GPU code with CUDA, NVIDIA's parallel computing platform, in C++ and Python.
Who this course is for
C++ and Python developers, HPC and scientific computing engineers, ML engineers needing custom kernels, Performance engineers.
What you will be able to do
Explain GPU architecture and the CUDA programming model. Write and launch kernels using threads, blocks and grids. Use global, shared and unified memory effectively. Overlap data transfer and compute with streams. Profile with Nsight Systems and Nsight Compute. Use CUDA libraries such as cuBLAS instead of reinventing them.
Career paths
Roles this course supports include GPU Software Engineer, HPC Engineer, ML Performance Engineer. Accelerated computing underpins modern AI and HPC, and engineers who can write and optimise GPU code remain a specialised, valued group.
NVIDIA & GPU Computing guides
What Is CUDA?
CUDA is NVIDIA's parallel computing platform and programming model for running general-purpose code on NVIDIA GPUs.
What Is NVIDIA RAPIDS?
RAPIDS is a suite of open-source libraries from NVIDIA for GPU-accelerated data science and analytics.
What Are NVIDIA NIM and NeMo?
NIM and NeMo are parts of NVIDIA's software stack for generative AI: NIM for serving models, NeMo for building and customising them.
TensorRT, TensorRT-LLM and Triton Explained
Three NVIDIA technologies for fast, scalable AI inference.