ros package points downsampler with cupoch.
optimized with jetson.
tested in jetson xavier, jetpack 4.5.1
downsample a pointcloud of 119978 points with res=1.0 to 3440 points.
the bandwidth is 14.4MB/s with 10*1.44MB
- cuda-pcl
7ms
- pcl
6ms
- cupoch
4ms
NOTE: You should set power management policy for cpu and gpu to get the best performance of cudaMemCpy
.
refer to this guide from stackoverflow to disable cpu scaling.
sudo apt-get install cpufrequtils
# to get the highest freq
sudo cpufreq-set -g performance
# to get the default mode powersave
sudo cpufreq-set -g powersave
refer to this guide for more details.
# If not, please set CONFIG_DEVFREQ_GOV_PERFORMANCE=y and update the kernel
zcat /proc/config.gz | grep CONFIG_DEVFREQ_GOV_PERFORMANCE
# Run below command on board as root to keep GPU alive (not suspend)
echo 0 > /sys/devices/17000000.gv11b/railgate_enable
# Enable performance governor for GPU
cat /sys/class/devfreq/17000000.gv11b/available_governors
echo performance > /sys/class/devfreq/17000000.gv11b/governor
cat /sys/class/devfreq/17000000.gv11b/governor