Home › Courses › NVIDIA & GPU AI › GPU Programming with CUDA
NVIDIA & GPU AI · Corporate & open batches

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

NVIDIA & GPU AI

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 per participant + GST

Enquire now
Delivered on Constellation · Powered by Learning Dots →
Learn from a practising trainer

Trusted by leading experts

Karthick Selvam
Founder · Data Engineering Corporate Trainer · Bengaluru
Hands-on delivery
Labs, reviews and a capstone in every programme
[Client names / testimonials]
Add only with written permission
Schedule

Upcoming batches

Open batches for individuals; corporate batches on your dates.

ProgrammeStartsModeScheduleDuration
GPU Programming with CUDASat, 09 Jan 2027Online liveWeekend (Sat)
10:00 AM – 5:00 PM IST
5 SaturdaysEnquire
GPU Programming with CUDAMon, 01 Feb 2027Online liveWeekday
9:30 AM – 5:30 PM IST
4 daysEnquire
GPU Programming with CUDASat, 20 Mar 2027Online liveWeekend (Sat)
10:00 AM – 5:00 PM IST
5 SaturdaysEnquire

Corporate batches for your team can be scheduled on dates that suit you.

Career outlook

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.

Qualitative outlook based on our industry experience; no statistics are claimed.

Career roles

Become an expert

Roles this programme prepares you for:

Become a GPU Software Engineer

Writes and optimises CUDA code for performance-critical workloads.

What you will 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
Skills you will use
CUDA C++Numba / CUDA PythonMemory hierarchyNsight profiling
Overview

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.

Audience

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

Format

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 per participant + GST
Corporate / team batches: per-participant or flat batch pricing on request, based on group size, format and customisation.

Outcomes

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

Skills you will gain

Programming model

kernelsthread hierarchylaunch configuration

Memory

coalescingshared memoryunified memory

Performance

streamsoccupancyprofiling
Tools

Tools and platforms covered

CUDA
C++
Python
Numba
CuPy
Nsight Systems
Nsight Compute
cuBLAS

Product names and logos are trademarks of their respective owners. Their use here does not imply endorsement.

Curriculum

Course curriculum

9 modules · 42 topics · hands-on labs · capstone project · 32 hours · 4 days

M01 GPU fundamentals · 5 topics · 4 hrs
  • 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 · 5 topics · 4 hrs
  • Kernels
  • Threads, blocks and grids
  • Error handling
  • Indexing patterns
  • Device queries

🧪 Hands-on: Write a first kernel in CUDA C++

M03 Memory hierarchy · 5 topics · 4 hrs
  • 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 · 5 topics · 4 hrs
  • Numba CUDA kernels
  • CuPy arrays
  • Interoperability
  • cuda-python overview
  • Calling CUDA from PyTorch

🧪 Hands-on: Port a NumPy hotspot to the GPU

M05 Concurrency · 5 topics · 4 hrs
  • Streams and async copies
  • Overlapping transfer and compute
  • Synchronisation
  • CUDA graphs
  • Events and timing

🧪 Hands-on: Pipeline a batch workload

M06 Profiling and libraries · 5 topics · 4 hrs
  • 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 · 4 topics · 3 hrs
  • Reductions
  • Scans
  • Histograms and atomics
  • Matrix multiply

🧪 Hands-on: Implement and optimise a parallel reduction

M08 Multi-GPU and advanced topics · 4 topics · 3 hrs
  • 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 · 4 topics · 2 hrs
  • Profiling the CPU baseline
  • Porting
  • Optimising
  • Reporting speed-up

🧪 Hands-on: Accelerate a workload and present a profiling report

NVIDIA, CUDA, DGX, NIM, NeMo, RAPIDS, TensorRT and Triton are trademarks and/or registered trademarks of NVIDIA Corporation. Learning Dots is an independent training provider and is not affiliated with, endorsed by, or an authorised training partner of NVIDIA Corporation. Courses are not NVIDIA Deep Learning Institute (DLI) courses.

Projects

Hands-on projects

Accelerated workload

Port a CPU-bound workload to the GPU and document the profiled speed-up.

Why us

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.

How we deliver →

Certificate

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]

Reviews

Learner reviews

“[Verified learner review for this course]”

[Name, role, company]

“[Verified learner review for this course]”

[Name, role, company]

Placeholder slots; to be replaced with genuine, permission-cleared reviews.

Trainer

Meet your trainer

Karthick Selvam

Founder · Data Engineering Corporate Trainer, Bengaluru

[Trainer bio, experience and areas of expertise]

Specialist trainers from our network may co-deliver advanced modules. [list co-trainers if any]

FAQ

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.

GPU Programming with CUDA

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.

Enquire about GPU Programming with CUDA

Download course curriculum

We will email the detailed curriculum. [attach PDF curriculum]