point-in-rbbox
功能
实现point-in-rbbox算子(支持CUDA和Triton),用于计算3D旋转框内的点云,相比PyTorch版本显存有明显优化
依赖
- CUDA:11.8
- PyTorch:2.0.0
- Triton:2.0.0(使用Triton算子时需要)
安装
- pip安装
export TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0 7.5 8.0 8.6 8.9 9.0+PTX" # 支持不同GPU架构【可选】
export ENABLE_BF16=1 # 支持BF16【可选,部分GPU可能不支持】
python3 -m pip install points-in-rbbox
- 源码安装
git clone https://github.com/lh9171338/points-in-rbbox.git
cd points-in-rbbox
export TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0 7.5 8.0 8.6 8.9 9.0+PTX" # 支持不同GPU架构【可选】
export ENABLE_BF16=1 # 支持BF16【可选,部分GPU可能不支持】
python3 setup.py install
使用
- CUDA算子
from points_in_rbbox import points_in_rbbox_cuda
mask = points_in_rbbox_cuda(points, boxes)
- Triton算子(无需编译,自动适配GPU架构)
from points_in_rbbox import points_in_rbbox_triton
mask = points_in_rbbox_triton(points, boxes)
显存&耗时
| 方法 | dtype | 显存(GB) | 耗时(s) |
|---|---|---|---|
| points_in_rbbox_torch | FP32 | 10.0 | 12 |
| points_in_rbbox_torch | FP16 | 5.3 | 10 |
| points_in_rbbox_torch | BF16 | 5.3 | 10 |
| points_in_rbbox_cuda | FP32 | 1.2 | 9 |
| points_in_rbbox_cuda | FP16 | 1.0 | 9 |
| points_in_rbbox_cuda | BF16 | 1.0 | 9 |
| points_in_rbbox_triton | FP32 | 1.2 | 8 |
| points_in_rbbox_triton | FP16 | 1.0 | 8 |
| points_in_rbbox_triton | BF16 | 1.0 | 8 |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
points_in_rbbox-1.1.9.tar.gz
(6.6 kB
view details)
File details
Details for the file points_in_rbbox-1.1.9.tar.gz.
File metadata
- Download URL: points_in_rbbox-1.1.9.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c666f0be6ba5391ee63ef393f87be6b11f3fe747e9c317e847e54f2dd5f1f7c8
|
|
| MD5 |
1918fe8d08d01ee783d06a12a3595b0c
|
|
| BLAKE2b-256 |
91c9c42537a8c9d352977d34d9fe6a7648ce6a37f87146df9645a7d570f0d210
|