i've cloned a "PointPillars" repo for 3D detection using just point cloud as input. But when I came to run it, I noted it use cuda and numba. With any prior knowledge about these two, I'm asking if there is any way to remove or disable numba and cuda. I want to run it on local server with CPU only, so I want your advice to solve.
Asked
Active
Viewed 950 times
0
-
1You can not just "remove code" and magically make it work in different hardware!!! If the code uses CUDA, you need a NVIDIA GPU. There is no way *removing* code will *add* functionality, in this case, CPU code. – Ander Biguri Apr 08 '19 at 11:28
-
CUDA/NVCC has the option when compiling code to do this with a GPU emulator, more info in [this SO thread](https://stackoverflow.com/questions/3087361/gpu-emulator-for-cuda-programming-without-the-hardware) – user2255757 Apr 08 '19 at 12:38
-
GPU emulation is no longer supported. – Daniel Bauer Apr 08 '19 at 12:53
1 Answers
2
The actual code matters here.
If the usage is only of vectorize
or guvectorize
using the target=cuda
parameter, then "removal" of CUDA should be trivial. Just remove the target parameter.
However if there is use of the @cuda.jit
decorator, or explicit copying of data between host and device, then other code refactoring would be involved. There is no simple answer here in that case, the code would have to be converted to an alternate serial or parallel realization via refactoring or porting.

Robert Crovella
- 143,785
- 11
- 213
- 257