Superoptimization and Supercomputing

The BCS OSSG is hosting two talks which look at “super” themes.

Venue: The Prince Philip room, Royal Society of Arts, 8 John Adam Street, London WC2N 6EZ (N.B. Note the change of venue to the RSA)
Date: Wednesday 26 November
Time: 6:00pm for 6:30pm start

This event is free to attend for both BCS Members and non-members but booking is required.

Superoptimization: How fast can your code go

Speaker: James Pallister, University of Bristol

Super TuxModern compiler optimization can take almost any code and produce a reasonably efficient binary at the end. However compiler “optimization” doesn’t make your code “optimal”, just better.

In contrast, superoptimization can produce perfect code – the fastest, the smallest or the most energy efficient code. The technique, first introduced in the late 80s found in some cases it could do 25% better than the best assembly programmer, and 40% better than the best compiler at the time.

Free software has always played a central role in superoptimization research, with the GNU Superoptimizer being one of the very first tools constructed.

However there is a downside. Superoptimization today is incredibly demanding of compute time, so currently it is limited to short instruction sequences. At present it is most valuable in optimizing code hotspots and key library routines, and can also be a valuable aid to the compiler writer for peephole optimization. Recent research has developed new techniques that can make superoptimization more applicable to general code.

In this talk I will introduce superoptimization and give some examples of the weird and wonderfully short sequences of code it produces. I will introduce the GNU superoptimizer and show how it is used, including some of the recent improvements I have contributed. The final part of my talk will look at the latest research including machine learning and constraint solving, and show how in future superoptimizers may be able to optimize much larger programs.

Open Source Software in UK Scientific HPC

Speakers: Neil Morgan and Phil Ridley, Hartree Centre, STFC Daresbury

There are hundreds of scientific applications, libraries and tools that are used within the UK’s academic HPC community and a large number of these are Open Source. To demonstrate this usage and the benefits of Open Source to this community, a short review of some of these will be given.

Applications will be included which are used for performing atomistic and molecular simulations, computational fluid dynamics, and statistics for bioinformatics. All of these are able to utilise the capabilities of high end computing architectures with thousands of cores to facilitate new science.

Furthermore, since efficient object code is of greatest importance in HPC, the use of Open Source in compilers, tools and libraries will also be described.