当前位置: 首页 > 专利查询>清华大学专利>正文

面向点云稀疏卷积网络的GPU计算加速方法、装置及设备制造方法及图纸

技术编号:38659959 阅读:23 留言:0更新日期:2023-09-02 22:44
本申请涉及一种面向点云稀疏卷积网络的GPU计算加速方法、装置及设备,包括:根据点云数据的输入特性判断待输入数据流的最优数据流计算策略是否为聚集

【技术实现步骤摘要】
面向点云稀疏卷积网络的GPU计算加速方法、装置及设备


[0001]本申请涉及点云深度学习
,特别涉及一种面向点云稀疏卷积网络的GPU(Graphics Processing Unit,图形处理器)计算加速方法、装置及设备。

技术介绍

[0002]近年来三维(3D)点云深度神经网络DNN(Deep

Learning Neural Network,点云深度神经网络)算法在自动驾驶、机器人和虚拟现实VR(Virtual Reality,虚拟现实技术)等场景中取得了显著的成效,在物体检测和跟踪、语义和实例分割等各种任务上取得了优异的成绩。根据点云数据的表示,点云神经网络算法可以大致分为基于体素、基于点、基于视图、基于图等类别。在这些类别中,基于体素的算法在各种任务中取得了突出的精度表现。
[0003]基于体素的网络根据输入点云数据的坐标将3D特征划分为相应位置的体素,这些体素稀疏地分布在3D空间中。基于体素的3D点云网络中的典型操作是稀疏卷积。借鉴卷积神经网络CNN(Convolutional Neural Networks,卷积神经网络)中感受局部信息的思想,稀疏卷积运算也将通过卷积核实现对周围体素信息的提取,被用作体素计算的核心算子。与密集的图像数据相比,这些体素是离散且高度稀疏的点,包含了现实世界中物体的位置和深度信息。3D场景的稠密度通常在0.01%到10%范围内,如此高稀疏度(低稠密度)导致了稀疏卷积运算时数据访问的局部性差和计算负载不规则等问题。

技术实现思路

[0004]本申请提供一种面向点云稀疏卷积网络的GPU计算加速方法、装置及设备,以解决面向点云稀疏卷积网络推理计算过程中,由于点云稀疏特性导致的GPU利用率不足,以及由于未考虑数据动态性而导致单一数据流计算的性能恶化等问题。
[0005]本申请第一方面实施例提供一种面向点云稀疏卷积网络的GPU计算加速方法,包括以下步骤:获取点云数据的输入特性;根据所述点云数据的输入特性判断待输入数据流的最优数据流计算策略是否为聚集

矩阵乘

分散数据流计算策略;若所述待输入数据流的最优数据流计算策略为所述聚集

矩阵乘

分散数据流计算策略,则基于所述聚集

矩阵乘

分散数据流计算策略计算所述待输入数据流得到输出数据,否则,基于按需取数数据流策略计算所述待输入数据流得到所述输出数据。
[0006]可选地,所述基于所述聚集

矩阵乘

分散数据流计算策略计算所述待输入数据流得到输出数据,包括:基于预设的特征优先映射策略,利用预设的Coded

CSR的格式对所述待输入数据流进行特征优先映射操作得到多个矩阵乘;对所述多个矩阵乘进行聚集操作、矩阵乘操作和分散操作,得到所述输出数据。
[0007]可选地,预设Coded

CSR格式为:通过行指针指示原映射矩阵中每一行非零元素的起始地址,通过列数组指示每个非零元素在原映射矩阵中的列序号,通过值数组指示所述每个非零元素的值,并基于预设的编码公式将所述列数组和值数组压缩为一个数组,其中,所述行指针的长度为所述原映射矩阵行数加一,所述列数组的长度为和所述值数组的长度
均为所述非零元素个数,其中,所述预设的编码公式为:
[0008]v
coded
=c+Kv;
[0009]其中,c为列数组,K为大于等于卷积核大小的正整数,v为值数组。
[0010]可选地,所述基于按需取数数据流策略计算所述待输入数据流得到所述输出数据,包括:基于预设的权重优先策略,对所述待输入数据流进行权重优先映射得到多个矩阵乘,并基于预设的指示序列的不规则矩阵乘合并策略,对所述多个矩阵乘进行合并,得到所述输出数据。
[0011]可选地,所述基于指示序列的不规则矩阵乘合并策略为:将所述多个矩阵乘的负载连续映射至图形处理器GPU计算单元进行去除补零处理,并通过预设的指示序列指示所述多个矩阵乘中特征矩阵的起始地址,以根据所述特征矩阵的起始地址为所述多个矩阵乘法分配数目与矩阵乘运算规模相匹配的计算单元。
[0012]可选地,在所述根据所述点云数据的输入特性判断待输入数据流的最优数据流计算策略是否为聚集

矩阵乘

分散数据流计算策略之前,包括:基于动态性的启发式自适应数据流算法识别所述待输入数据流的类型,其中,所述基于动态性的启发式自适应数据流算法包括卷积层分组算法和数据流调度算法。
[0013]可选地,所述卷积层分组算法将步长和张量步长相同的卷积层划分至相同数组中,将所有卷积层的步长储存至预设数组,其中,计算张量步长数组的公式为:
[0014]其中,s为存储步长的数组,s
t
为张量步长数组,
[0015]i为卷积层序号,s
i
为第i层卷积的步长,为第i层卷积的张量步长,
[0016]所述数据流调度算法为根据所述卷积层、输入特征和预设标准进行数据流调度,其中,数据流调度公式为:
[0017][0018]其中,f
k
为输入特征,B为预设标准,为第k组卷积层,为第i层卷积的输入通道数,为第i层卷积的输出通道数,d(k)=0表示第k组选择聚集

矩阵乘

分散数据流进行计算,d(k)=1表示选择按需取数数据流计算。
[0019]本申请第二方面实施例提供一种面向点云稀疏卷积网络的GPU计算加速装置,包括:获取模块,用于获取点云数据的输入特性;判断模块,用于根据所述点云数据的输入特性判断待输入数据流的最优数据流计算策略是否为聚集

矩阵乘

分散数据流计算策略;输出模块,用于若所述待输入数据流的最优数据流计算策略为所述聚集

矩阵乘

分散数据流计算策略,则基于所述聚集

矩阵乘

分散数据流计算策略计算所述待输入数据流得到输出数据,否则,基于按需取数数据流策略计算所述待输入数据流得到所述输出数据。
[0020]可选地,所述输出模块,还用于:基于预设的特征优先映射策略,利用预设的Coded

CSR的格式对所述待输入数据流进行特征优先映射操作得到多个矩阵乘;对所述多个矩阵乘进行聚集操作、矩阵乘操作和分散操作,得到所述输出数据。
[0021]可选地,预设Coded

CSR格式为:通过行指针指示原映射矩阵中每一行非零元素的起始地址,通过列数组指示每个非零元素在原映射矩阵中的列序号,通过值数组指示所述
每个非零元素的值,并基于预设的编码公式将所述列数组和值数组压缩为一个数组,其中,所述行指针的长度为所述原映射矩阵行数加一,所述列数组的长度为和所述值数组的长度均为所述非零元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向点云稀疏卷积网络的GPU计算加速方法,其特征在于,包括以下步骤:获取点云数据的输入特性;根据所述点云数据的输入特性判断待输入数据流的最优数据流计算策略是否为聚集

矩阵乘

分散数据流计算策略;以及若所述待输入数据流的最优数据流计算策略为所述聚集

矩阵乘

分散数据流计算策略,则基于所述聚集

矩阵乘

分散数据流计算策略计算所述待输入数据流得到输出数据,否则,基于按需取数数据流策略计算所述待输入数据流得到所述输出数据。2.根据权利要求1所述的方法,其特征在于,所述基于所述聚集

矩阵乘

分散数据流计算策略计算所述待输入数据流得到输出数据,包括:基于预设的特征优先映射策略,利用预设的Coded

CSR的格式对所述待输入数据流进行特征优先映射操作得到多个矩阵乘;对所述多个矩阵乘进行聚集操作、矩阵乘操作和分散操作,得到所述输出数据。3.根据权利要求2所述的方法,其特征在于,预设Coded

CSR格式为:通过行指针指示原映射矩阵中每一行非零元素的起始地址,通过列数组指示每个非零元素在原映射矩阵中的列序号,通过值数组指示所述每个非零元素的值,并基于预设的编码公式将所述列数组和值数组压缩为一个数组,其中,所述行指针的长度为所述原映射矩阵行数加一,所述列数组的长度为和所述值数组的长度均为所述非零元素个数,其中,所述预设的编码公式为:v
coded
=c+Kv;其中,c为列数组,K为大于等于卷积核大小的正整数,v为值数组。4.根据权利要求1所述的方法,其特征在于,所述基于按需取数数据流策略计算所述待输入数据流得到所述输出数据,包括:基于预设的权重优先策略,对所述待输入数据流进行权重优先映射得到多个矩阵乘,并基于预设的指示序列的不规则矩阵乘合并策略,对所述多个矩阵乘进行合并,得到所述输出数据。5.根据权利要求4所述的方法,其特征在于,所述基于指示序列的不规则矩阵乘合并策略为:将所述多个矩阵乘的负载连续映射至图形处理器GPU计算单元进行去除补零处理,并通过预设的指示序列指示所述多个矩阵乘中特征矩阵的起始地址,以根据所述特征矩阵的起始地址为所述多个矩阵乘法分配数目与矩阵乘运算规模相匹配的计算单元。6.根据权利要求1所述的方法,其特征...

【专利技术属性】
技术研发人员:汪玉洪可杨昕昊
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1