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.
翻译:稀疏卷积(SpC)驱动着广泛应用于自动驾驶和增强/虚拟现实的三维点云网络。SpC构建一个存储输入体素坐标、输出坐标与权重偏移映射关系的核映射表,并利用该表计算输出坐标的特征向量。我们的研究识别出体素坐标的三个关键属性:整数取值特性、限定空间范围内的有界性以及几何连续性——即同一物体表面相邻体素极有可能存在于彼此较小的空间偏移内。现有SpC引擎未能充分利用这些属性,在核映射表构建过程中面临巨大的预处理和后处理开销。针对此问题,我们设计了Spira——首个面向GPU的体素属性感知SpC引擎。Spira提出:(i)一种高性能单次搜索算法,在零预处理条件下构建具备高数据局部性的核映射表;(ii)一种有效的紧凑原生处理方案,实现低开销访问紧凑体素坐标;(iii)一种灵活的双数据流执行机制,通过自适应层特性高效计算输出特征向量;(iv)一种网络级并行化策略,在网络启动时并发构建所有SpC层的核映射表。评估表明,Spira在端到端推理中相比现有最先进SpC引擎平均提升1.68倍、最高达3.04倍;在不同层配置的逐层执行中平均提升2.11倍、最高达3.44倍。Spira源代码已开源发布于github.com/SPIN-Research-Group/Spira。