Oxford Programming Language Seminar - PL and Emerging Hardware

Jeremy Gibbons and I decided to run a seminar series in Oxford. We invited people to speak about new developments in hardware and their relationship with or requirements from programming languages.

We had fantastic outside speakers:

  • Peter Braam - PL and Emerging Hardware overview (slides)

  • John Gustafson (NUS) spoke about POSITS

  • Steve Pawlowski (Micron) - described the tremendous impact of ML on the hardware

  • Paul Kelly (UCL) spoke about FireDrake (slides)

  • Hironori Kasahara (Waseda University) - the OSCAR parallel compiler and its applications (slides)

  • Simon Knowles (Graphcore) - spoke about the Graphcore architecture

  • Priyanka Raina (Stanford) - the AHA project (slides)

  • Albert Cohen (Google) - MLIR (slides)

n3xt.jpg





Oxford Seminar Series on Machine Learning and Physics

In the autumn trimester of 2019, I started a seminar series in Oxford on the application of machine learning and physics. Miha Zgubic helped a lot in bringing it together and Philipp Winsdischhofer will do so for next year. The seminar was very well attended, and we really learned fantastic things about how ML has become a new scientific method for physics.

Often machine learning is described as the answer to the big data challenge, but I think it goes well beyond that. In particular, it has shown to be a viable supplement or alternative to simulation, and possible it might lead to major breakthroughs in hard computational problems surrounding turbulence for example, where little progress has been made for decades.

I gave the opening seminar (slides here), giving a survey of some of the interactions, and some of the relationships with developments in computer science. The entire series can be found on our YouTube channel.

Physics-ML-Science.png




Keynote - Conference on Next Generation Arithmetic

John Gustafson developed the new UNUM and POSIT formats for floating-point numbers which mathematically and computationally appear to be very attractive. Background can be found on posithub.org and in his wonderful book entitled The End of Error, UNUM Computing.

John and I have been discussing applications of this to grand challenge compute problems like those encountered by the SKA radio telescope. In outline, the idea is to compress floating-point data to reduce the required memory bandwidth. For example, one could contemplate storing numbers with lower precision in memory, yet performing computations with higher precision before sending data back to memory.

I gave a keynote at the CONGA conference in March 2019 explaining the challenges and the ideas. The slides and a video of my presentation are online.

At the conference, I mentioned the importance of not looking at this problem one-float-at-a-time but instead considering the compression and decompression of arrays of floating-point numbers. I learned at the conference that there is very interesting work being done by Milan Klower in the Physics Department at Oxford (one feels somewhat embarrassed to discover such things 5000 miles away from our common department). Milan looks at the information content of arrays before using them in computations. Perhaps this is the way forward.

There are steep obstacles in creating good software for decompression of data in CPU caches because few instructions and even fewer API’s are available to manage data while controlling its write-back to RAM.

unum-posit.jpg

Tensorflow for HPC

Google has developed TensorFlow, a truly complete platform for ML. TensorFlow has many ingredients, for example:

  • many domain specific libraries for machine learning

  • the TensorFlow domain specific data-flow language

  • carefully organized input and output for data flow

  • an optimizing runtime and compiler

  • hardware implementations of TensorFlow operations in TensorFlow processing unit (TPU) chips

The performance of the platform is amazing, and it begs the question if it will be useful for HPC in a similar manner that GPU’s heralded a revolution.

InsideHPC created a podcast based on my lecture about this at the South African National HPC Conference CHPC 2018 Conference in Cape Town.

The slides are here and here

tpuv3.png

AI Cern SKA Workshop

In September 2018 we had a wonderful workshop at the Alan Turing Institute in London concerning AI at CERN and SKA.

There were many wonderful presentations ranging from applications of AI to particle discovery at CERN, to deep mathematics concerning information extraction and very novel applications of ML to cast a dramatically new light on numerical solutions to physics PDE’s - in this case for structure formation in the early Universe.

The presentations can be found on the Indico site, no video recordings were made.

Performance Engineering for the SKA Telescope

PERFORMANCE ENGINEERING FOR THE SKA TELESCOPE

I gave a keynote at ICPE 2018 in Berlin about performance aspects in computing for the SKA telescope. The slides were posted here and the local copy is here.

ABSTRACT

The SKA radio telescope will be a massive world class scientific instrument, currently under design by a world wide consortium, to progress to full operation in South Africa and Australia in the mid 2020’s. The capabilities of the telescope are expected to enable major scientific breakthroughs. At the center of its data processing sits the Science Data Processor, a large HPC system with specialized software. In this lecture we will give a high level overview of the project and progress to the computing and data related architecture. Then we will discuss the work of the SDP design consortium to understand and achieve the many performance requirements leveraging hardware and algorithms. Among these is a requirement for memory bandwidth exceeding 100 PB/sec.

SKA-3-aspects-Infographic_OP-opt.jpg

Dramatic Changes in HPC Storage

At the 2017 CHPC conference I gave a plenary lecture looking at developments in HPC storage past and future.

Dramatic changes for Storage and IO in HPC are upon us. Bridging several tiers of storage is becoming a necessity, software will need to improve dramatically to keep up with faster memory and storage devices, and far more nodes will be supplying storage resources. We will talk about roles for technologies such as containers, file systems, object storage and give an overview of a broad class of new data movement software and analogies with the cloud. This is an area with many exciting opportunities and presently only a handful of solutions are available or under development.

Intel has published a beautiful image outlining some of the developments

intel-io-today-future.jpg

The numbers required by some of the future deployments, in particular the SKA Science Data Processor always draw attention.

The slides for CHPC IO.

chpc-2017-audience.jpg

Occam Lecture: Extreme Computing For Ska

The OCCAM lectures at Merton College in Oxford are given each Term. In October 2017 I gave a talk about SKA, which led me to build relationships with the Physics Department, and they helped me significantly in the organization of the workshop AI at CERN and SKA. They also rewarded me with a wonderful tour of CERN

We have slides here and a movie was created, available from Merton College’s Occam Lecture page, and on Youtube.