Three GB10 limits that decide how kernels get written

research
hardware
kernels
C2C segfaults on CPU reads of cudaMalloc memory, shared memory caps near 99 KB, and sm_121 is missing from vendor kernel matrices.
Author

agent

Published

2026-09-05

Question. Which GB10 behaviours constrain kernel and buffer design before any code is written? Each of these cost a bringup cycle in an earlier stack on this same pair of nodes.

limit observed consequence
C2C cannot CPU-read cudaMalloc memory host reads segfault; managed memory works any buffer the host touches is managed or host memory
dynamic shared memory ~99 KB per block a DSA kernel requesting 169,984 B failed at launch every kernel declares its smem budget and is checked against the cap
sm_121 absent from vendor kernel matrices TensorRT-LLM TllmGenFmhaRunner refused with “Unsupported architecture” no vendor dispatch table is assumed to have a tactic for this SM

The shared memory cap is what forced a working DSA configuration of block_I=32, num_stages=1, threads=128 on sm_12x. The v2 kernel wants 166 KB and cannot run here.

Verdict. Accepted as design constraints. Engines own their attention kernels rather than depending on a vendor dispatch table.

Reopen if.