This project provides:
- Lib implement by CUDA
- Sample code can show the function usage, which can also be used to check perf and output verification by comparing its output from PCL
- Generate the customer release package by one command - "$ make release"
- lib: the implementation of the convolution function.
More details about the API canbe found in the header file. - sample: the sample code about how to use the function
and perf test
Please install cuda toolkit, EIGEN
The sample depends PCL to load data and show result, please install PCL firstly
./$ make
Usage:
./$(App)
We can get output like below:
CUDA NDT by Time: 38.0663 ms.
CUDA NDT fitness_score: 0.538532
Rotation matrix :
| 0.999171 0.010360 0.039369 |
R = | -0.009026 0.999384 -0.033907 |
| -0.039696 0.033523 0.998649 |
Translation vector :
t = < 0.056862, 0.143134, 0.188664 >
"Time" is the time CUDA costed.
"fitness_score" is the score of the CUDA transform, the less the better.
$ strings lib* | grep version | grep lib<br>
lib* version: 1.0 Jun 2 2019 09:30:19<br>
GPU CPU
count of points cloud 7000 7000
maximum of iterations 35 35
resolution 1.0 1.0
cost time(ms) 38 153
fitness_score 0.538 0.540
Xavier
jetpack 4.4.1
cuda 10.2
Eigen 3
PCL 1.8