paper-with-me

Papers

Minuet: Accelerating 3D Sparse Convolutions on GPUs

2023-12-01 · Jiacheng Yang, Christina Giannoula, Jun Wu, Mostafa Elhoushi, James Gleeson, Gennady Pekhimenko

Sparse Convolution (SC) is widely used for processing 3D point clouds that are inherently sparse. Different from dense convolution, SC preserves the sparsity of the input point cloud by only allowing outputs to specific locations. To efficiently compute SC, prior SC engines first use hash tables to build a kernel map that stores the necessary General Matrix Multiplication (GEMM) operations to be executed (Map step), and then use a Gather-GEMM-Scatter process to execute these GEMM operations (GMaS step). In this work, we analyze the shortcomings of prior state-of-the-art SC engines, and propose Minuet, a novel memory-efficient SC engine tailored for modern GPUs. Minuet proposes to (i) replace the hash tables used in the Map step with a novel segmented sorting double-traversed binary search algorithm that highly utilizes the on-chip memory hierarchy of GPUs, (ii) use a lightweight scheme to autotune the tile size in the Gather and Scatter operations of the GMaS step, such that to adapt the execution to the particular characteristics of each SC layer, dataset, and GPU architecture, and (iii) employ a padding-efficient GEMM grouping approach that reduces both memory padding and kernel launching overheads. Our evaluations show that Minuet significantly outperforms prior SC engines by on average $1.74\times$ (up to $2.22\times$) for end-to-end point cloud network executions. Our novel segmented sorting double-traversed binary search algorithm achieves superior speedups by $15.8\times$ on average (up to $26.8\times$) over prior SC engines in the Map step. The source code of Minuet is publicly available at https://github.com/UofT-EcoSystem/Minuet.

📄 PDF Abstract BibTeX arXiv:2401.06145

Code (1)

UofT-EcoSystem/Minuet 공식 구현 pytorch

Tasks

GPU

Methods 이 논문이 사용한 방법론

Convolution A convolution is a type of matrix operation, consisting of a kernel, a small matrix of weights, that slides over input data performing element-wise multiplication with the…

Similar Papers 제목 키워드 기반

SparseRT: Accelerating Unstructured Sparsity on GPUs for Deep Learning Inference

2020-08-26 · Ziheng Wang

In recent years, there has been a flurry of research in deep neural network pruning and compression. Early approaches prune weights individually. However, it is difficult to take advantage of the resulting unstructured s…

Deep LearningNetwork Pruning

ReSprop: Reuse Sparsified Backpropagation

2020-06-01 · CVPR 2020 6 · Negar Goli, Tor M. Aamodt

The success of Convolutional Neural Networks (CNNs) in various applications is accompanied by a significant increase in computation and training time. In this work, we focus on accelerating training by observing that abo…

GPU

Escoin: Efficient Sparse Convolutional Neural Network Inference on GPUs

2018-02-28 · Xuhao Chen

Deep neural networks have achieved remarkable accuracy in many artificial intelligence applications, e.g. computer vision, at the cost of a large number of parameters and high computational complexity. Weight pruning can…

Accelerating Sparse Matrix Operations in Neural Networks on Graphics Processing Units

2019-07-01 · ACL 2019 7 · Arturo Argueta, David Chiang

Graphics Processing Units (GPUs) are commonly used to train and evaluate neural networks efficiently. While previous work in deep learning has focused on accelerating operations on dense matrices/tensors on GPUs, efforts…

GPU

PhotoGAN: Generative Adversarial Neural Network Acceleration with Silicon Photonics

2025-01-23 · Tharini Suresh, Salma Afifi, Sudeep Pasricha

Generative Adversarial Networks (GANs) are at the forefront of AI innovation, driving advancements in areas such as image synthesis, medical imaging, and data augmentation. However, the unique computational operations wi…

Computational EfficiencyData AugmentationImage Generation