In GPU computing, "kernel" refers to a compiled function launched on the GPU to execute a specific operation (e.g., a matrix multiplication or an activation function). Executing a sequence of such operations naively launches a separate kernel for each one, incurring per-launch overhead (kernel launch latency) and requiring intermediate results to be written to and read back from GPU global memory between each operation — both of which waste time and memory bandwidth relative to the actual compute being performed. Kernel fusion combines multiple sequential operations into a single compiled kernel, so intermediate results stay in fast on-chip registers or shared memory rather than round-tripping through global memory, and only one kernel launch is needed instead of several. This reduces both launch overhead and memory-bandwidth-bound latency, which is often the dominant bottleneck for smaller operations on modern GPUs. NVIDIA's TensorRT applies kernel fusion (alongside quantization and precision calibration) as one of its core inference-optimization techniques, commonly fusing operations like convolution + bias + activation into a single kernel.
Option A describes pruning, a distinct technique covered elsewhere in this domain — reducing parameter count, not combining kernel launches. Option C misapplies "kernel" in the CNN-filter sense rather than the GPU-execution sense the question is asking about, and layering more kernels would not describe fusion at all. Option D conflates kernel functions (as in kernel methods for SVMs) with GPU kernels — an unrelated use of the same term.
[Reference: Performance Optimization domain — kernel fusion, TensorRT, GPU execution optimization., ]
Submit