18736

Swizzle Inventor: Data Movement Synthesis for GPU Kernels

Phitchaya Mangpo Phothilimthana, Archibald Samuel Elliott, An Wang, Abhinav Jangda, Bastian Hagedorn, Henrik Barthels, Samuel J. Kaufman, Vinod Grover, Emina Torlak, Rastislav Bodik
University of California, Berkeley
Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2019

@inproceedings{SwizzleInventor,

   author={Phothilimthana, Phitchaya Mangpo and Elliott, Archibald Samuel and Wang, An and Abhinav Jangda and Bastian Hagedorn and Henrik Barthels and Kaufman, Samuel J. and Vinod Grover and Emina Torlak and Rastislav Bodik},

   title={Swizzle Inventor: Data Movement Synthesis for GPU Kernels},

   booktitle={2019 Architectural Support for Programming Languages and Operating Systems (ASPLOS)},

   series={ASPLOS ’19},

   year={2019},

   isbn={978-1-4503-2716-9},

   location={Providence, RI, USA},

   numpages={14},

   url={http://doi.acm.org/10.1145/3297858.3304059},

   doi={10.1145/3297858.3304059},

   publisher={ACM},

   address={New York, NY, USA}

}

Download Download (PDF)   View View   Source Source   

804

views

Utilizing memory and register bandwidth in modern architectures may require irregular data placement and movement, such as shuffles and broadcasts. We develop Swizzle Inventor to help programmers implement swizzle algorithms, by writing programs that omit swizzles and delegating the creation of those swizzles to an automatic synthesizer. Our synthesis algorithm scales to real-world programs, allowing us to invent new GPU kernels for stencil computations, matrix transposition, and a finite field multiplication algorithm (used in cryptographic applications). The synthesized 2D convolution and finite-field multiplication kernels are on average 1.5-3.2x and 1.1-1.7x faster, respectively, than expert-optimized CUDA kernels.
Rating: 1.0/5. From 1 vote.
Please wait...

* * *

* * *

HGPU group © 2010-2019 hgpu.org

All rights belong to the respective authors

Contact us: