This is a project for learning torch.utils.cpp_extensions, which includes:
- pytorch and perimeter python libs
- CUDA extension and CUDA parallelism
- C++ export module
- libtorch (interesting conflicts with CUDA, not to mention Eigen)
CUDA implemented marching cubes algorithm (2D), which sucks, because of the dynamic parallelism and interesting CUDA version problem, like when I set:
-gencode=arch=compute_70,code=sm_70
for nvcc compile arguments, the kernels won't even execute for unknown reasons.
Also, dynamic parallelism (or nested kernel functions) are not well support by CUDA 10.2 I suppose.
Figure 1 | Figure 2 |
---|---|
![]() |
![]() |