CUda Matrix Multiply library
Project description
cumm
CUda Matrix Multiply library.
cumm
is developed during learning of CUTLASS, which use too much c++ template and make code unmaintainable. So I develop pccm, use python as meta programming language, to replace c++ template meta programming.
Now pccm
become a foundational framework of cumm
and my other c++ project such as spconv.
cumm
also contains a python asyncio-based gemm simulator that share same meta program with CUDA code, enable gemm visualization and easy debug experience.
Install
Prebuilt
We offer python 3.7-3.10 and cuda 10.2/11.1/11.3/11.4 prebuilt binaries for linux (manylinux).
We offer python 3.7-3.10 and cuda 10.2/11.1/11.3/11.4 prebuilt binaries for windows 10/11.
We will offer prebuilts for CUDA versions supported by latest pytorch release. For example, pytorch 1.9 support cuda 10.2 and 11.1, so we support them too.
pip install cumm-cu102
for CUDA 10.2
pip install cumm-cu111
for CUDA 11.1
pip install cumm-cu113
for CUDA 11.3
pip install cumm-cu114
for CUDA 11.4
Build from source
Linux
- install build-essential, install CUDA
- run
export CUMM_DISABLE_JIT="1"
- run
python setup.py install
/pip install -e .
/python setup.py bdist_wheel
+pip install dists/xxx.whl
Windows 10/11
- install visual studio 2019 or newer. make sure C++ development package is installed. install CUDA
- set powershell script execution policy
- start a new powershell, run
tools/msvc_setup.ps1
- run
$Env:CUMM_DISABLE_JIT = "1"
- run
python setup.py install
/pip install -e .
/python setup.py bdist_wheel
+pip install dists/xxx.whl
Note
The work is done when the author is an employee at Tusimple.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for cumm_cu102-0.2.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6410dcd333413a0e0c5c132b28749854b232f686b81a7c3daaf0531ff4fe13df |
|
MD5 | 218e0b228284a0651f2dbc8f32f649d9 |
|
BLAKE2b-256 | 49556655767e86ce2265c0a9873c313eb9d856e441bed33c206edfa38d261dbc |
Hashes for cumm_cu102-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 770f23d1f518a3b786c2d055fad5c2042f220b97ecac2fb567d234ba5f0939f7 |
|
MD5 | eb27b4487c529b785a21eec5e0bc56d9 |
|
BLAKE2b-256 | 62c33a1ea447d496c17d61ff497424909c4eadf5c958be9812b7f8ee9d5138b2 |
Hashes for cumm_cu102-0.2.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ead5bf98fe04e325525eb3452a4301c538b123297bc5489d64740386c471cb52 |
|
MD5 | c250dcf7a335accf318bce05a553ec25 |
|
BLAKE2b-256 | e10db144129d4cb9ec8645b03efc1730c64c1ea3a3b85bc25641b430b5b96c95 |
Hashes for cumm_cu102-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf15a603bd1e67827f8cfaded2b8a011c4137a451894b37022407311aaff1c49 |
|
MD5 | c28681c799260dd6af3c5e243d5b5807 |
|
BLAKE2b-256 | c8129bea94894a3ad952cfad616ecdd09bdb24c2a6a9c7d41c22ff26d80a3286 |
Hashes for cumm_cu102-0.2.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82eb79f845b7e5aaabdea71902f2ec6bd70b1d8181e5c88338b7285dc18bf33d |
|
MD5 | 84920df8285761ba5498f54a2c0028e4 |
|
BLAKE2b-256 | 8fdeaa8248c38661f02b6675cb3e444fa60a074d38d7b8bdc58402e0ea57ee5f |
Hashes for cumm_cu102-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 775a431708705ee04c03dc7064423bae5f91fd345dc0dafac9b5532bce9096c7 |
|
MD5 | 23ca13a5f355962c43dccd98d786b69d |
|
BLAKE2b-256 | 87c0ea31f7bb65f1c6c8e5d638d8e8248aa4307eced2754d659aea5dfbe83323 |
Hashes for cumm_cu102-0.2.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 495abad8f45302df73ff21d115adfb50b52fb36163b3def9fcaaca00f3e22945 |
|
MD5 | 8769d637397881bef322cd6e54cdd585 |
|
BLAKE2b-256 | 9100fd24dc660f013a3017f20a57b1a6d5ec5bc84f575a14a0440fd3a8242191 |
Hashes for cumm_cu102-0.2.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c033ffadc286edb2da84716bd8bab4cc20b38f8a7c3824b7e06f95da37b9c663 |
|
MD5 | 9be5837fb6c837a3aadacc472f7fa435 |
|
BLAKE2b-256 | 7e16601319b766049512ae9dfec6af9a9ee6fba607321b531ba9619013f31e68 |
Hashes for cumm_cu102-0.2.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fded9a59b20dbb595f90f38481eced18a23ec8ee6404b736acbe693440f0e0f0 |
|
MD5 | 31a254b1d06291415d8e03ff2cabbb26 |
|
BLAKE2b-256 | f3589d1f0074e3f00e5f084de3e4dcbdc9cf3e0558d060c60b037210bc57607c |