@inproceedings{e1c74c3b23cb4a3681e790ce4b4303a2,
title = "Model-driven optimisation of memory hierarchy and multithreading on GPUs",
abstract = "Due to their potentially high peak performance and energy effciency, GPUs are increasingly popular for scientific computations. However, the complexity of the architecture makes it difficult to write code that achieves high performance. Two of the most important factors in achieving high performance are the usage of the GPU memory hierarchy and the way in which work is mapped to threads and blocks. The dominant frameworks for GPU computing, CUDA and OpenCL, leave these decisions largely to the programmer. In this work, we address this in part by proposing a technique that simultaneously manages use of the GPU lowlatency shared memory and chooses the granularity with which to divide the work (block size). We show that a relatively simple heuristic based on an abstraction of the GPU architecture is able to make these decisions and achieve average performance within 17% of an optimal configuration on an NVIDIA Tesla K20.",
keywords = "Graphics Processing Unit (GPU), Optimisation, Parallel programming, Performance analysis",
author = "Haigh, {Andrew A.} and McCreath, {Eric C.}",
note = "Publisher Copyright: {\textcopyright} 2015, Australian Computer Society, Inc.; Proceedings of the 13th Australasian Symposium on Parallel and Distributed Computing, AusPDC 2015 ; Conference date: 27-01-2015 Through 30-01-2015",
year = "2015",
language = "English",
isbn = "9781921770456",
series = "Conferences in Research and Practice in Information Technology Series",
publisher = "Australian Computer Society",
pages = "71--74",
editor = "Bahman Javadi and Garg, {Saurabh Kumar}",
booktitle = "Proceedings of the 13th Australasian Symposium on Parallel and Distributed Computing, AusPDC 2015",
address = "Australia",
}