MSLK Library
MSLK (Meta Superintelligence Labs Kernels, formerly known as FBGEMM GenAI) is a collection of high-performance kernels and optimizations built on top of PyTorch primitives for GenAI training and inference.
Installation
# Install MSLK for CUDA
pip install mslk-cuda==1.0.0
# Install MSLK for ROCm
pip install mslk-rocm==1.0.0
# Install a nightly CUDA version
pip install --pre mslk --index-url https://download.pytorch.org/whl/nightly/cu128
# Install a nightly ROCm version
pip install --pre mslk --index-url https://download.pytorch.org/whl/nightly/rocm7.1/
Release Compatibility Table
MSLK is released in accordance to the PyTorch release schedule, and each release has no guarantee to work in conjunction with PyTorch releases that are older than the one that the MSLK release corresponds to.
| MSLK Release | Corresponding PyTorch Release | Supported Python Versions | Supported CUDA Versions | Supported CUDA Architectures | Supported ROCm Versions | Supported ROCm Architectures |
|---|---|---|---|---|---|---|
| 1.0.0 | 2.10.x | 3.10, 3.11, 3.12, 3.13, 3.14 | 12.6, 12.8, 12.9, 13.0 | 8.0, 9.0a, 10.0a, 12.0a | 7.0, 7.1 | gfx908, gfx90a, gfx942, gfx950 |
Running Benchmarks
python bench/gemm/gemm_bench.py --M 4096 --N 4096 --K 4096
python bench/quantize/quantize_bench.py --M 4096 --K 4096
python bench/conv/conv_bench.py
Running Tests
pytest test/gemm/gemm_test.py
pytest test/quantize/fp8_quantize_correctness_test.py
pytest test/conv/conv_test.py
Build From Source
We only support building on Linux. See the release compatibility table above for supported versions of Python, CUDA, ROCm.
# Clone repo
git clone https://github.com/meta-pytorch/MSLK
cd MSLK
git submodule sync
git submodule update --init --recursive
# Build and install
# The script will create a conda environment and install the required dependencies.
# The conda environment will look something like: build-py3.14-torchnightly-cuda12.9.1
./ci/integration/mslk_oss_build.bash
# After the initial environment setup, you can activate the environment and iterate faster:
conda activate build-py3.14-torchnightly-cuda12.9.1
python setup.py install
Join the MSLK community
For questions, support, news updates, or feature requests, please feel free to:
- File a ticket in GitHub Issues
For contributions, please see the CONTRIBUTING file for
ways to help out.
License
MSLK is BSD licensed, as found in the LICENSE file.
Metadata
Release files for mslk-cuda 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| mslk_cuda-1.1.0-cp314-cp314-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 | Linux glibc 2.28+ x86-64 | Details |
| mslk_cuda-1.1.0-cp313-cp313-manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64 | Details |
| mslk_cuda-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64 | Details |
| mslk_cuda-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64 | Details |
| mslk_cuda-1.1.0-cp310-cp310-manylinux_2_28_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.28+ x86-64 | Details |
Total release size: 217.6 MB
Release files / mslk_cuda-1.1.0-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | mslk_cuda-1.1.0-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 42.9 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4e1d9e6e4050a4aea3382b3faaa5b58d5b5b0ed1ce34574d664d0f7b11800a84
|
|
BLAKE2b-256 checksum How to use checksums |
25758b416a3cfe31c70a5cd8c66d110752f9027d0203eca949fc7f2e89bca7db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / mslk_cuda-1.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | mslk_cuda-1.1.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 42.9 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
09c1950a28b2ed381dc3ae4104b9bfea65fc884c9b6c13ebd82203113cfbc412
|
|
BLAKE2b-256 checksum How to use checksums |
fc79330e26bddd6f7e9b992ef53b2e04cbf67fad42f857df413d3f19cbdf3ceb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / mslk_cuda-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | mslk_cuda-1.1.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 44.5 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
64bec303faa3f4ba3ca96923988ff469469a13ccf214c885eb1aeec5bf6e8cb1
|
|
BLAKE2b-256 checksum How to use checksums |
3b86dcb83c6b11811374cb9064eb8a37669e76fc6233673c0e27341d97846338
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / mslk_cuda-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | mslk_cuda-1.1.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 44.5 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7460a51991b1864f91a4e049734bb0788dddff9b92ffbd5a66c118fd281255cc
|
|
BLAKE2b-256 checksum How to use checksums |
e1151d851cfa9acc5db4cfa601f735a2edd2d99c443b03003204dfdadf37551f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / mslk_cuda-1.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | mslk_cuda-1.1.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 42.9 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6e5305e80c822de5d7f744bd811c19b935bacf8d3f9681141742197ab529299f
|
|
BLAKE2b-256 checksum How to use checksums |
7b1e76e97d4b496e5df1ccb71160ea09d060faf3f946668b554a5b8cb9966d01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|