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 \href{https://github.com/SPIN-Research-Group/Spira}{https://github.com/SPIN-Research-Group/Spira}.
翻译:稀疏卷积驱动了广泛应用于自动驾驶和增强/虚拟现实的3D点云网络。稀疏卷积构建一个存储输入体素坐标、输出坐标与权重偏移映射关系的核映射表,然后利用该表计算输出坐标的特征向量。本文识别出体素坐标的三个关键属性:整数值性、有限空间范围内的有界性以及几何连续性——即同一物体表面相邻体素极有可能彼此存在微小空间偏移。现有稀疏卷积引擎未能充分利用这些特性,在核映射表构建过程中产生高昂的预处理和后处理开销。为此,我们设计了Spira——首个体素属性感知的GPU稀疏卷积引擎。Spira提出:(i)一种无需预处理且具有高数据局部性的高性能单次搜索算法来构建核映射表;(ii)一种高效打包原生处理方案,以低成本访问打包后的体素坐标;(iii)一种灵活的双数据流执行机制,通过自适应层特征高效计算输出特征向量;以及(iv)一种网络级并行化策略,在网络启动时并发地为所有稀疏卷积层构建核映射表。实验评估表明,Spira在端到端推理中平均性能提升1.68倍(最高达3.04倍),在各类层配置的逐层执行中平均性能提升2.11倍(最高达3.44倍),显著超越现有最先进的稀疏卷积引擎。Spira源代码完全开放于\href{https://github.com/SPIN-Research-Group/Spira}{https://github.com/SPIN-Research-Group/Spira}。