File size: 1,542 Bytes
c35803d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
license: apache-2.0
tags:
- cuda
- kernel
- gpu-optimization
- hpc
---

# hopper_tensor_core_bf16_k32

Hopper BF16 perf lane with a 64x64x32 shared-memory stage to cut synchronization frequency across K.

This repository contains the standalone CUDA source for the `hopper_tensor_core_bf16_k32` lane from
 the PyC kernel lab. It is a source artifact for inspection and benchmarking;
it is not a precompiled binary and the result below is not a universal ranking.

## Performance

| Kernel | GPU / architecture | Shape | Best recorded result | Evidence |
|---|---|---|---|---|
| `hopper_tensor_core_bf16_k32` | sm90 | 4096x4096x4096 | 6.506 ms / 21.125 TFLOPS | Measured on sm90, shape 4096x4096x4096; evidence `hopper-bf16-nextloop-wmma-20260421T193831Z.json`. |

![Performance plot](performance.svg)

The result is reported with the original campaign's timing and correctness
context. Compare kernels only when GPU, CUDA version, matrix shape, warmup,
repeats, and reference/correctness mode match.

## Source

- `kernel.cu` — copied from `kernels/prototypes/hopper/tensor_core/kernel.cu`.
- Original lane tags: `cuda, matmul, hopper, sm90, prototype, tensor-core, bf16, perf, next-loop, k32`.

## Build/run contract

```text
{nvcc} -O3 -std=c++17 -lineinfo -DPYC_HOPPER_TENSOR_CORE_USE_BF16=1 -DPYC_HOPPER_TC_TILE_K=32 -DPYC_HOPPER_TC_SHARED_PAD_A=8 -DPYC_HOPPER_TC_SHARED_PAD_B=8 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 {source} -o {build_dir}/{name}
{build_dir}/{name} 4096 4096 4096 3 30 1
```