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.
PyPI | Install | Downloads | |
---|---|---|---|
CPU (Linux Only) | pip install spconv | ||
CUDA 10.2 | pip install spconv-cu102 | ||
CUDA 11.1 | pip install spconv-cu111 | ||
CUDA 11.3 (Linux Only) | pip install spconv-cu113 | ||
CUDA 11.4 | pip install spconv-cu114 |
spconv
is a project that provide heavily-optimized sparse convolution implementation with tensor core support. check benchmark to see how fast spconv 2.x runs.
Spconv 1.x code. We won't provide any support for spconv 1.x since it's deprecated. use spconv 2.x if possible.
Check spconv 2.x algorithm introduction to understand sparse convolution algorithm in spconv 2.x!
WARNING spconv < 2.1.18 users need to upgrade your version to 2.1.18, it fix a bug in conv weight init which cause std of inited weight too large, and a bug in PointToVoxel.
Spconv 1.x users NEED READ THIS before using spconv 2.x.
Spconv 2.2 development has started. See this issue for more details.
See dev plan. A complete guide of spconv development will be released soon.
Firstly you need to use import spconv.pytorch as spconv
in spconv 2.x.
Then see this.
Don't forget to check performance guide.
You need to install python >= 3.6 (>=3.7 for windows) first to use spconv 2.x.
You need to install CUDA toolkit first before using prebuilt binaries or build from source.
You need at least CUDA 10.2 to build and run spconv 2.x. We won't offer any support for CUDA < 10.2.
We offer python 3.6-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.4 prebuilt binaries for windows 10/11.
We will provide prebuilts for CUDA versions supported by latest pytorch release. For example, pytorch 1.10 provide cuda 10.2 and 11.3 prebuilts, so we provide them too.
For Linux users, you need to install pip >= 20.3 first to install prebuilt.
CUDA 11.1 will be removed in spconv 2.2 because pytorch 1.10 don't provide prebuilts for it.
pip install spconv
for CPU only (Linux Only). you should only use this for debug usage, the performance isn't optimized due to manylinux limit (no omp support).
pip install spconv-cu102
for CUDA 10.2
pip install spconv-cu111
for CUDA 11.1
pip install spconv-cu113
for CUDA 11.3 (Linux Only)
pip install spconv-cu114
for CUDA 11.4
NOTE It's safe to have different minor cuda version between system and conda (pytorch) in CUDA >= 11.0 because of CUDA Minor Version Compatibility. For example, you can use spconv-cu114 with anaconda version of pytorch cuda 11.1 in a OS with CUDA 11.2 installed.
For CUDA 10, we don't know whether spconv-cu102
works with CUDA 10.0 and 10.1. Users can have a try.
NOTE In Linux, you can install spconv-cuxxx without install CUDA to system! only suitable NVIDIA driver is required. for CUDA 11, we need driver >= 450.82.
See this page to check supported GPU names by arch.
CUDA version | GPU Arch List |
---|---|
10.2 | 50,52,60,61,70,75 |
11.x | 52,60,61,70,75,80,86 |
12.x | 60,61,70,75,80,86,90 |
The c++ code will be built automatically when you change c++ code in project.
For NVIDIA Embedded Platforms, you need to specify cuda arch before build: export CUMM_CUDA_ARCH_LIST="7.2"
for xavier, export CUMM_CUDA_ARCH_LIST="6.2"
for TX2, export CUMM_CUDA_ARCH_LIST="8.7"
for orin.
You need to remove cumm
in requires
section in pyproject.toml after install editable cumm
and before install spconv due to pyproject limit (can't find editable installed cumm
).
You need to ensure pip list | grep spconv
and pip list | grep cumm
show nothing before install editable spconv/cumm.
git clone https://github.com/FindDefinition/cumm
, cd ./cumm
, pip install -e .
git clone https://github.com/traveller59/spconv
, cd ./spconv
, pip install -e .
import spconv
and wait for build finish.tools/msvc_setup.ps1
git clone https://github.com/FindDefinition/cumm
, cd ./cumm
, pip install -e .
git clone https://github.com/traveller59/spconv
, cd ./spconv
, pip install -e .
import spconv
and wait for build finish.You need to rebuild cumm
first if you are build along a CUDA version that not provided in prebuilts.
export SPCONV_DISABLE_JIT="1"
pip install pccm cumm wheel
python setup.py bdist_wheel
+pip install dists/xxx.whl
tools/msvc_setup.ps1
$Env:SPCONV_DISABLE_JIT = "1"
pip install pccm cumm wheel
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
spatial sparse convolution
We found that spconv-cu111 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.