{\mu}-cuDNN: Accelerating Deep Learning Frameworks with Micro-Batching
Yosuke Oyama, Tal Ben-Nun, Torsten Hoefler, Satoshi Matsuoka

TL;DR
{uDNN} is a wrapper library that improves GPU convolution algorithm efficiency in deep learning frameworks by micro-batching, leading to significant speedups without increasing memory usage.
Contribution
It introduces uDNN, a micro-batching approach using optimization techniques to enhance convolution performance while preserving computational semantics.
Findings
Achieves 1.63x speedup on AlexNet
Achieves 1.21x speedup on ResNet-18
Maintains the same memory footprint as standard cuDNN
Abstract
NVIDIA cuDNN is a low-level library that provides GPU kernels frequently used in deep learning. Specifically, cuDNN implements several equivalent convolution algorithms, whose performance and memory footprint may vary considerably, depending on the layer dimensions. When an algorithm is automatically selected by cuDNN, the decision is performed on a per-layer basis, and thus it often resorts to slower algorithms that fit the workspace size constraints. We present {\mu}-cuDNN, a transparent wrapper library for cuDNN, which divides layers' mini-batch computation into several micro-batches. Based on Dynamic Programming and Integer Linear Programming, {\mu}-cuDNN enables faster algorithms by decreasing the workspace requirements. At the same time, {\mu}-cuDNN keeps the computational semantics unchanged, so that it decouples statistical efficiency from the hardware efficiency safely. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Neural Network Applications · Advanced Memory and Neural Computing · Ferroelectric and Negative Capacitance Devices
Methods1x1 Convolution · Convolution · Local Response Normalization · Grouped Convolution · *Communicated@Fast*How Do I Communicate to Expedia? · Dropout · Dense Connections · Max Pooling · Softmax · How do I speak to a person at Expedia?-/+/
