一、简介
该功能器称之为GPU-Block-Solver,用于提升局部BA的运行时间,通过将舒尔补计算放置在GPU中进行,减少CPU的计算压力。同时,设计工作队列(work queue),有效地利用GPU的内存资源,从而减少CPU计算资源的损耗,提升计算时间和性能。
二、Solver的编译运行
网址如下:
GitHub - sfu-rsl/gpu-block-solver: Modified g2o with GPU support for general matrix calculations.
在git过程中,需要注意,在g2o的EXTERNAL文件夹下有别的库,这个库通过正常下载或者git是无法获取的,即使是通过
git clone https://github.com/sfu-rsl/gpu-block-solver.git --recursive
的命令进行git,也可能会由于网络超时等因素导致EXTERNAL中的额外引用的库无法被成功下载。因此,最稳妥的方法是检查下载下来的solver里面的EXTERNAL 里面是否包含全部的文件。
同样的,在compute-eigen中的external文件里也会包括对别的库的引用,在下一个库中的external还会包含对别的库的引用...一直循环嵌套,直到保证所有的external中的文件都被正确下载且放在正确位置即可。
solver下载完成后,需要根据官网的指示安装如下的几个环境依赖项。
sudo apt-get install libspdlog-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install qtdeclarative5-dev
sudo apt-get install qt5-qmake
sudo apt-get install libqglviewer-dev-qt5