Skip to main content

CUDA performance guides

Learn what the GPU is doing—and how to measure it

Each guide connects one CUDA performance mechanism to a small code pattern, the profiler measurements that reveal it, and the mistakes that commonly lead to false conclusions.

Start with the mechanism

CUDA concepts you can verify with evidence

Read the explanation, change one thing, and compare the same workload on the same GPU.

01

Scheduling and residency

CUDA Occupancy

Understand active warps, residency limits, achieved versus theoretical occupancy, and why a higher percentage is not always faster.

What to measureKernel duration, achieved occupancy, active warps, eligible warps, registers, and shared memory
Read the guide
02

Global memory

CUDA Memory Coalescing

See how a warp turns address patterns into memory transactions and why strided access can waste bandwidth.

What to measureKernel duration, requested bytes, sectors or transactions, throughput, and per-instruction access patterns
Read the guide
03

Shared memory

Shared-Memory Bank Conflicts

Learn why conflicting bank addresses serialize a warp request, how broadcasts differ, and when padding helps.

What to measureKernel duration, conflict or wavefront metrics, source correlation, and shared-memory residency
Read the guide

A repeatable method

Optimize without guessing

  1. Preserve correctnessConfirm the output before comparing performance.
  2. Control the experimentKeep the input, GPU, compiler options, and profiling pass fixed.
  3. Measure the mechanismPair runtime with the hardware evidence connected to your hypothesis.
  4. Explain the resultRecord why the change helped, failed, or exposed a different bottleneck.

Try your own kernel

Write, run, and profile CUDA in your browser

Use a managed NVIDIA GPU without installing a local CUDA toolchain.

Open the CUDA playground