Kernel launch overhead

← All benchmarks · Chapter 6

Some of these measurements depend on the host as much as on the GPU: launch overhead is CPU dispatch cost, transfer rates are bounded by the host link and the host's memory system, and the CPU baselines run entirely on the host. Results for one GPU are reported separately per host architecture whenever it has been measured on more than one.

launch.async (us) -- concurrency/nullKernelAsync.cu: asynchronous null-kernel launch time

GPU us n range
Ampere
GeForce RTX 3060 1.21 2 1.21--1.21

launch.sync (us) -- concurrency/nullKernelSync.cu: synchronous null-kernel launch time

GPU us n range
Ampere
GeForce RTX 3060 3.9 2 3.9--3.9

managed.launch-touched (us) -- concurrency/managedOverhead.cu: sync null launch with N managed pages touched between launches (forces migration); series by pages

GPU 0 1 2 8 16 32 64 128 256 1024 2048 4096 n
Ampere
GeForce RTX 3060 4.05 3.98 3.95 3.95 3.95 4.1 4.54 5.53 7.7 19.77 35.76 67.8 2

managed.launch-untouched (us) -- concurrency/managedOverhead.cu: sync null launch with N managed pages allocated but untouched; series by pages

GPU 1 2 4 8 16 32 128 256 512 1024 2048 4096 n
Ampere
GeForce RTX 3060 3.9 3.9 3.9 3.9 3.9 3.89 3.91 3.91 3.9 3.9 3.9 3.9 2

Submissions

  • rtx-3060 · nwilt-2026-07-12-2.json -- Nicholas Wilt · driver 580.95.05 · CUDA 12.9
  • rtx-3060 · nwilt-2026-08-27.json -- Nicholas Wilt · driver 580.95.05 · CUDA 13.0