Automated GPU Grid Geometry Selection for OPENMP Kernels
Resumo
Modern supercomputers are increasingly using GPUs to improve performance per watt. Generating GPU code for target regions in openMP 4.0, or later versions, requires the selection of grid geometry to execute the GPU kernel. Existing industrial-strength compilers use a simple heuristic with arbitrary numbers that are constant for all kernels. After characterizing the relationship between region features, grid geometry and performance, we built a machine-learning model that successfully predicts a suitable geometry for such kernels and results in a performance improvement with a geometric mean of 5% across the benchmarks studied. However, this prediction is impractical because the overhead of the predictor is too high. A careful study of the results of the predictor allowed for the development of a practical low-overhead heuristic that resulted in a performance improvement of up to 7 times with a geometric mean of 25.9%. This paper describes the methodology to build the machine-learning model, and the practical low-overhead heuristic that can be used in industry-strong compilers.
Palavras-chave:
Geometry, Benchmark testing, Kernel, Graphics processing units, Machine learning, Predictive models, Feature extraction, GPUs, heterogeneous computing, openMP, Machine Learning, Grid Geometry
Publicado
24/09/2018
Como Citar
LLOYD, Taylor; CHIKIN, Artem; KEDIA, Sanket; JAIN, Dhruv; AMARAL, José Nelson.
Automated GPU Grid Geometry Selection for OPENMP Kernels. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 30. , 2018, Lyon/FR.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2018
.
p. 442-449.
