SLAM各种并行加速方法

简介: SLAM各种并行加速方法

前言


CPU并行加速


CPU并行加速的本质就是通过硬件并发(hardware concurrency)的形式来实现。这种的操作方式是通过单个进程里多线程,从而实现共享地址空间,全局变量,指针,引用。但是这种方式相对而言更加传统,但是同时更加具有普适性。


beef8fae0dd043d59d2485849f4d0bdf.png


其中操作是使用以pthread为代表的多线程并行加速


pthread


这是一个pthread的简单示例代码。


class helloFromObject{
public:
    void operator()() const{
        std::cout << "Hello, My Second thread!" << std::endl;
    }
};
int main() {
    std::cout << "Hello, Coconut Cat!" << std::endl;
    std::thread bthread((helloFromObject()));
    bthread.join();
    return 0;
}


我们可以发现pthread这种多线程加速v-slam场景下都有着充分的应用


OpenMP


openmp作为另一种CPU提速方式,在SLAM的特征提取中拥有比较良好的加速代码。当然thread对于openmp还是有一定的影响的,每个thread分配给omp的线程可能减小或者是在thread里面继续调用omp再开线程会带来更大的成本,导致omp单独执行时变慢。


相关文章
|
5月前
|
并行计算 TensorFlow 调度
推荐场景GPU优化的探索与实践:CUDA Graph与多流并行的比较与分析
RTP 系统(即 Rank Service),是一个面向搜索和推荐的 ranking 需求,支持多种模型的在线 inference 服务,是阿里智能引擎团队沉淀多年的技术产品。今年,团队在推荐场景的GPU性能优化上又做了新尝试——在RTP上集成了Multi Stream,改变了TensorFlow的单流机制,让多流的执行并行,作为增加GPU并行度的另一种选择。本文详细介绍与比较了CUDA Graph与多流并行这两个方案,以及团队的实践成果与心得。
|
5月前
|
人工智能 并行计算 API
极智AI | 谈谈GPU并行推理的几个方式
大家好,我是极智视界,本文主要聊一下 GPU 并行推理的几个方式。
270 0
|
12月前
|
5G
带你读《5G大规模天线增强技术》——2.4.6 大尺度参数计算
带你读《5G大规模天线增强技术》——2.4.6 大尺度参数计算
|
缓存 openCL 算法
关于实现Halcon算法加速的基础知识(2)(多核并行/GPU)
关于实现Halcon算法加速的基础知识(多核并行/GPU)
2613 0
关于实现Halcon算法加速的基础知识(2)(多核并行/GPU)
|
12月前
|
5G
带你读《5G大规模天线增强技术》——2.4.7 小尺度参数计算
带你读《5G大规模天线增强技术》——2.4.7 小尺度参数计算
|
12月前
|
机器学习/深度学习 并行计算 算法
图像预处理库CV-CUDA开源了,打破预处理瓶颈,提升推理吞吐量20多倍
图像预处理库CV-CUDA开源了,打破预处理瓶颈,提升推理吞吐量20多倍
154 0
|
12月前
|
机器学习/深度学习 人工智能 并行计算
深度学习设计的衍射处理器并行计算数百个变换
深度学习设计的衍射处理器并行计算数百个变换
深度学习设计的衍射处理器并行计算数百个变换
|
12月前
|
机器学习/深度学习 自然语言处理 并行计算
终结1.x时代,PyTorch 2.0来了!100%向后兼容,一行代码将训练提速76%
终结1.x时代,PyTorch 2.0来了!100%向后兼容,一行代码将训练提速76%
443 0
|
12月前
|
人工智能 算法 调度
Soft Diffusion:谷歌新框架从通用扩散过程中正确调度、学习和采样
Soft Diffusion:谷歌新框架从通用扩散过程中正确调度、学习和采样
|
机器学习/深度学习 人工智能 数据可视化
Pytorch2 如何通过算子融合和 CPU/GPU 代码生成加速深度学习
Pytorch2 如何通过算子融合和 CPU/GPU 代码生成加速深度学习
746 0