Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
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.
We offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for linux (manylinux).
We offer python 3.7-3.11 and cuda 10.2/11.3/11.4/11.7/12.0 prebuilt binaries for windows 10/11.
pip install cumm
for CPU-only
pip install cumm-cu102
for CUDA 10.2
pip install cumm-cu113
for CUDA 11.3
pip install cumm-cu114
for CUDA 11.4
pip install cumm-cu117
for CUDA 11.7
pip install cumm-cu120
for CUDA 12.0
WARNING Use code in tags!!! code in main branch may contain bugs.
The c++ code will be built automatically when you change c++ code in project.
pip list | grep cumm
git clone https://github.com/FindDefinition/cumm
, cd ./cumm
, git checkout tags/<tag_name>
, pip install -e .
import cumm
and wait for build finish.pip list | grep cumm
tools/msvc_setup.ps1
git clone https://github.com/FindDefinition/cumm
, cd ./cumm
, git checkout tags/<tag_name>
, pip install -e .
import cumm
and wait for build finish.WARNING Use code in tags!!! code in main branch may contain bugs.
WARNING: If CUMM_CUDA_VERSION
is set with a CUDA version, following steps will create a wheel named "cumm-cuxxx", not "cumm", this means you must use cumm-cuxxx
in dependency of your project which depend on cumm, not cumm
. If CUMM_CUDA_VERSION
isn't set, cumm
will always built with CUDA, so the CUDA must exists in your system. The wheel name will be cumm
even if it is built with cuda.
It's recommend to build Linux packages in official build docker. Build with CUDA support don't need a real GPU.
git clone https://github.com/FindDefinition/cumm
, cd ./cumm
, docker run --rm -e PLAT=manylinux2014_x86_64 -e CUMM_CUDA_VERSION=114 -v `pwd`:/io scrin/manylinux2014-cuda:cu114-devel-1.0.0 bash -c "source /etc/bashrc && /io/tools/build-wheels.sh"
export CUMM_CUDA_VERSION="11.4"
. If you want to build CPU-only, run export CUMM_CUDA_VERSION=""
. If CUMM_CUDA_VERSION
isn't set, you need to ensure cuda libraries are inside OS search path, and the built wheel name will be cumm
, otherwise cumm-cuxxx
export CUMM_DISABLE_JIT="1"
python setup.py bdist_wheel
+pip install dists/xxx.whl
tools/msvc_setup.ps1
$Env:CUMM_CUDA_VERSION = "11.4"
. If you want to build CPU-only, run $Env:CUMM_CUDA_VERSION = ""
. . If CUMM_CUDA_VERSION
isn't set, you need to ensure cuda libraries are inside OS search path, and the built wheel name will be cumm
, otherwise cumm-cuxxx
$Env:CUMM_DISABLE_JIT = "1"
python setup.py bdist_wheel
+pip install dists/xxx.whl
The work is done when the author is an employee at Tusimple.
Apache 2.0
FAQs
CUda Matrix Multiply library
We found that cumm-cu116 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.