Use this URL to cite or link to this record in EThOS:
Title: Auto-tuning compiler for HPC
Author: Jones, Jessica
Awarding Body: University of Bath
Current Institution: University of Bath
Date of Award: 2019
Availability of Full Text:
Access from EThOS:
Access from Institution:
Many of the principal high-performance libraries are written in assembly language. When a new CPU architecture appears on the market, it takes time for the developers of high performance libraries to gain access to it and to port their kernels to that system. During that period performance for a wide range of applications suffers. To provide a suitable middle ground, the author proposes using a tailored subset of the optimization options built into the available compilers. The available options are not ideal for all software programs on all architectures, and in the general case compilation times need to be kept short. However, scientific computing kernels are so heavily used that an expensive one-off compilation can be afforded. Searching the large number of available compiler flags by hand would be extremely time consuming, and difficult to do without an intimate understanding of the hardware, the compiler of choice and the software being compiled. Instead, this search is best automated, and that is what the author has attempted to do in the form of a tool referred to as OptSearch. This tool reads in a number of options from a configuration file: These nclude the list of compiler flags to search through, the application to be compiled, a clean-up routine, and two sets of tests to run; one for accuracy, one for performance. After investigation of a number of optimisation algorithms, a robust search method (PSO [49]) is selected and used as a number of the compilations are liable to end in an error from the compiler. The end result is a set of compiler flags that deliver better performance than the defaults for that particular piece of code on that hardware. While this will not rival expert hand-coding, it is observed to deliver significant performance improvements over using -O3. To date, OptSearch has been used with the reference BLAS [117] and the HPL benchmark [136]. In the future the author intends to target other libraries fundamental to scientific computing.
Supervisor: McCusker, Guy ; Davenport, James Sponsor: Not available
Qualification Name: Thesis (Ph.D.) Qualification Level: Doctoral
EThOS ID:  DOI: Not available