csrc/gemm_sm90.cu
Fields
Templates must be instantiated to be verified: list the instances you actually deploy.
Macro form
Teams that prefer macros can include the header shipped with the package (installed under<prefix>/include):
THEFORMALERA_IMPLEMENTS, THEFORMALERA_BIND, THEFORMALERA_LAYOUT, THEFORMALERA_DOMAIN, THEFORMALERA_ASSUME, THEFORMALERA_INSTANTIATE, THEFORMALERA_GRID) expands to nothing.
Scan configuration
theformalera.toml
theformalera init detects CUTLASS checkouts under third_party/cutlass/include or cutlass/include and fills in include for you.
What you get today
Even so, annotating CUTLASS kernels is worth it now:scanandcoveragecount them, so you can see which graph nodes have an implementation;tracerecords their launches (THEFORMALERA_TRACE_LAUNCH, ortheformalera.trace.record_launchfrom a PyTorch extension) for L3 sign-off;- when Volta is available, the PTX of each instance is checked for data races and sampled equivalence. A numerically confirmed Volta rejection is a genuine
FAILED, and an acceptance is attached as evidence.
nvidia/cuda:<version>-devel-ubuntu22.04) so that nvcc is available. No GPU is needed.