Mapping Parallelism in a Functional IR through Constraint Satisfaction
Graphics Processing Units (GPUs) are notoriously hard to optimize for manually. What is needed are good automatic code generators and optimizers. Accelerate, Futhark and Lift have demonstrated that using a functional approach is well suited to solve this challenge. Lift, for instance, uses a system of rewrite rules with a multi-stage approach. Algorithmic optimizations are first explored, followed by hardware-specific optimizations such as using shared memory and mapping parallelism. While the algorithmic exploration leads to correct transformed programs by construction, it is not necessarily true for the latter phase. Exploiting shared memory and mapping parallelism while ensuring correct synchronization is a delicate balancing act, and is hard to encode in a rewrite system. Currently, Lift relies on heuristics with ad-hoc mechanisms to check for correctness. This paper proposes to extract parallelization constraints automatically from a functional IR and use a solver to identify valid rewriting. Using a convolutional neural network on a mobile GPU as a use case, this approach matches the performance of the ARM Compute Library GEMM convolution and the TVM-generated kernel consuming between 2x and 3.6x less memory. Furthermore, a speedup of 12x is achieved over the ARM Compute Library direct convolution implementation.
Wed 6 AprDisplayed time zone: Eastern Time (US & Canada) change
13:00 - 14:00 | Session 6: Performance OptimizationsCC Research Papers at CC Virtual Room Chair(s): Doru Thom Popovici Lawrence Berkeley National Lab | ||
13:00 15mPaper | Loner: Utilizing the CPU Vector Datapath to Process Scalar Integer Data CC Research Papers Armand Behroozi University of Michigan, Sunghyun Park University of Michigan, Scott Mahlke University of Michigan DOI | ||
13:15 15mPaper | Mapping Parallelism in a Functional IR through Constraint Satisfaction CC Research Papers Naums Mogers University of Edinburgh, Lu Li University of Edinburgh, Valentin Radu University of Sheffield, Christophe Dubach McGill University DOI | ||
13:30 15mPaper | Software Pre-execution for Irregular Memory Accesses in the HBM Era CC Research Papers DOI | ||
13:45 15mPaper | Efficient Profile-Guided Size Optimization for Native Mobile Applications CC Research Papers DOI |