利用体素结构特性,提升点云网络稀疏卷积效率
Spira: Exploiting Voxel Data Structural Properties for Efficient Sparse Convolution in Point Cloud Networks
- 基于体素坐标整数性、范围有限性和几何连续性,设计高效稀疏卷积引擎
- 端到端推理加速最高达3.04倍,层级执行最高提速3.44倍
- 适合自动驾驶与虚拟现实中的点云处理场景
稀疏卷积(SpC)是自动驾驶和增强/虚拟现实领域广泛使用的三维点云网络核心。传统SpC通过构建映射表存储输入体素坐标、输出坐标与权重偏移的关系,并据此计算输出特征。本文发现体素坐标具有三个关键特性:为整数值、空间范围有限,且在物体表面相邻体素空间偏移小。现有SpC引擎未充分利用这些特性,导致预处理和后处理开销高。为此,我们提出Spira,首个面向体素特性的GPU稀疏卷积引擎。Spira设计了(i)无需预处理的一次性搜索算法,实现高数据局部性;(ii)低开销的打包原生访问方案;(iii)可自适应层特性的灵活双数据流执行机制;(iv)网络级并行化策略,在网络启动时并发构建所有层的映射表。实验表明,Spira平均比现有最优引擎快1.68倍,端到端推理最高提升3.04倍;层级执行平均快2.11倍,最高达3.44倍。代码已开源于github.com/SPIN-Research-Group/Spira。
原文摘要 · Abstract (English)
Sparse Convolution (SpC) powers 3D point cloud networks widely used in autonomous driving and augmented/virtual reality. SpC builds a kernel map that stores mappings between input voxel coordinates, output coordinates, and weight offsets, then uses this map to compute feature vectors for output coordinates. Our work identifies three key properties of voxel coordinates: they are integer-valued, bounded within a limited spatial range, and geometrically continuous, i.e., neighboring voxels on the same object surface are highly likely to exist at small spatial offsets from each other. Prior SpC engines do not fully exploit these properties and suffer from high pre-processing and post-processing overheads during kernel map construction. To address this, we design Spira, the first voxel-property-aware SpC engine for GPUs. Spira proposes (i) a high-performance one-shot search algorithm that builds the kernel map with no pre-processing and high data locality, (ii) an effective packed-native processing scheme that accesses packed voxel coordinates at low cost, (iii) a flexible dual-dataflow execution mechanism that efficiently computes output feature vectors by adapting to layer characteristics, and (iv) a network-wide parallelization strategy that builds kernel maps for all SpC layers concurrently at network start. Our evaluation shows that Spira significantly outperforms prior state-of-the-art SpC engines by 1.68x on average and up to 3.04x for end-to-end inference, and by 2.11x on average and up to 3.44x for layer-wise execution across diverse layer configurations. The source code of Spira is freely available at github.com/SPIN-Research-Group/Spira.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。