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
File details
Details for the file cumm_cu113-0.2.3-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 737.7 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 525183a85c5bf27d589d373bcdd8801609f56768df93fe8c6d81a254e36f56af |
|
MD5 | e48e1c019d28a8e734cf74997997bf25 |
|
BLAKE2b-256 | ecc9da837ff39a54902eead777ac543e0ef7026a3bf66af3ea0ceca2aacc809a |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 978d4bcb0a84993a40a9aa0945b6d0d4ef14e7ae4ce1732c3d7c7f7b5e4f4471 |
|
MD5 | 6482fd2d22fcf496ff116281703ebc30 |
|
BLAKE2b-256 | 5ef7bad1e0dc6734f01f17e1b278f4e6178530ff85b0deb66610d0a3dd3aa314 |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 733.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 039873fedbfed5046d44b5cd3db8d39fd1f2200e2c5b89a848325db9758f7516 |
|
MD5 | dcdf05669c6bd227dca4715555b200fd |
|
BLAKE2b-256 | 44882616ff3dd61318260fa48bcc7470305995bfb3980c895c399080e4e4d8fc |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1a3c98474195c5e8fe716ea901d9dc2d37b4cc7c592a138824b87e3a613a1a0 |
|
MD5 | a1057356ce12c451a32f447922b117d5 |
|
BLAKE2b-256 | 845136c01d0d686413023cf16f48159f329ebae713f453bac36b6ca3480b7c0d |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 737.5 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 760e5c43d60036a1d8975595e6be7cb94a30cd92afc0d4d17cfd73844df544ab |
|
MD5 | 3ab169e4fac34203f9944f019d210cb1 |
|
BLAKE2b-256 | f5cc046d9d444bb0c3b5fddc0f35c7c5415613006b75355e18af2cf9b48a6ee3 |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec8fe82cfda5c19d9ffb372ef45a055dcb2c5473cb41dd9281f8d81a5947aa7c |
|
MD5 | 809adaf8117478d3eb954e57747c116b |
|
BLAKE2b-256 | eeb6dd42bcefd52306e3b838b80ebda311b2c026c46b147bb8af6ab5e4255ebb |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 737.3 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b250de557ac9e86da49df052917f3d541a49b57e2170100af5d70dbbbc10fe90 |
|
MD5 | 8f1b12f3d395cecf27c9f9526f97db61 |
|
BLAKE2b-256 | cf0be6fe033565ea47c9bd876c489864135626c17c3fa3703663315bce5f255b |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a320560ec9590d894693cdcb3db5e2b137b5781c811c7ab2721ced3a7936c59d |
|
MD5 | 56afba540ea281dece4983d2b5561756 |
|
BLAKE2b-256 | faeae46fc26864e857f5e8932ded406190e626213313040233d99d1a9b401b58 |
Provenance
File details
Details for the file cumm_cu113-0.2.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: cumm_cu113-0.2.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.6m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd5db324ed69231409196afe3ac1d93e9db9d054631cb0d04891ac43b190afab |
|
MD5 | 38ea6f8fda1175bb721b3fef5bf36e90 |
|
BLAKE2b-256 | c24ff24a36873956ea6fecfa36d33e06c4cdd1b003ac5c8fc30b56d4a78fce55 |