# Blackwell Distributed GEMM This example implements Tensor Parallel GEMMs for the Hopper architecture with the experimental [Distributed GEMM](../../include/cutlass/experimental/distributed) API in CUTLASS. This example requires Blackwell GPUs with an any-to-any NVLink network. Please refer to [REQUIREMENTS.md](REQUIREMENTS.md) for more information. By default, the example assumes 8 GPUs (TP=8) and runs an All Gather + GEMM operation, which rotates operand A. To run with a different number of GPUs or schedule, please refer to [82_blackwell_distributed_gemm.cu](82_blackwell_distributed_gemm.cu). ## Getting started Command line arguments are mostly similar to other examples: ``` --m= Sets the M extent of the GEMM --n= Sets the N extent of the GEMM --k= Sets the K extent of the GEMM --l= Sets the L extent (batch) of the GEMM (default: 1) --alpha= Epilogue scalar alpha (default: 1.0) --beta= Epilogue scalar beta (default: 0.0) --iterations= Number of profiling iterations to perform (default: 100) --warmup-iterations= Number of warmup iterations prior to profiling (default: 10) --eps= Threshold for error compared to reference GEMM (default: 0.0) ``` Sample run command: ```bash ./82_blackwell_distributed_gemm --m=16384 --n=106496 --k=16384 --warmup-iterations=10 --iterations=100 ``` This example follows the [Hopper example](../65_distributed_gemm/) very closely, and only differs in the base GEMM kernel. For more information you can refer to [that example](../65_distributed_gemm/README.md).