PCEngine is an efficient Engine for sparse convolution inference in 3D Point Clouds. Generally, PCEngine contains techniques including a novel CSR-coded mapping format, an indicator-assisted FGMS (Fused Gather-Matmul-Scatter) fusion scheme and an adaptive dataflow to improve sparse convolution inference performance.
[2023.06.02] The backward kernels in Fetch-on-Demand dataflow will be merged into the framework soon. 🚗 [2023.06.19] Foward path in Fetch-on-Demand dataflow has been merged into TorchSparse. 🎉
CUDA 11.1+
PyTorch 1.10.0+
Now the implementation supports CUDA_ARCH >= 700
.
python3 setup.py install
- Correctness check of forward path (compared to SpConv)
python3 check_fwd.py
@inproceedings{hong2023pcengine,
title = {{Exploiting Hardware Utilization and Adaptive Dataflow for Efficient Sparse Convolution in 3D Point Clouds}},
author = {Hong, Ke and Yu, Zhongming and Dai, Guohao and Yang, Xinhao and Lian, Yaoxiu and Liu, Zehao and Xu, Ningyi and Dong, Yuhan and Wang, Yu},
booktitle = {Conference on Machine Learning and Systems (MLSys)},
year = {2023}
}