This page contains a Flash digital edition of a book.
high-performance computing Bridging the skills gap


Distance learning techniques may help train the next generation of computational scientists according to James


S


imulation and modelling are now widely seen as the third pillar of science, alongside theory and experimentation. Te ability to


harness today’s high performance computers is crucial for a wide range of endeavours. From developing the next generation of cars we drive, to the medication we take, and the feature films that entertain us, high-performance computing is playing a key role in helping us to unravel the science that sits just beyond the horizon of our understanding. As pointed out by John Barr on page 20,


to carry out that science requires experts in a particular domain – be that biology, chemistry, physics or engineering – to develop specialities within their respective fields, but also to hone the skills required to maximise the potential of the computing systems available to them. For the most part, it has been sufficient to


run some simulations on desktop computers because, until around 2006 and the advent of multi-core processors, the amount of serial computing power available on the desktop had been doubling roughly every 18 months in accordance with Moore’s law. Although the basic tenet of transistor


density doubling still holds, we have reached the electrical and thermal limits of silicon. Nowadays therefore, instead of increasingly faster clock speeds, we have ever-larger numbers of cores per processor. Te amount of parallel computing power available on the desktop continues to keep pace with Moore’s law, yet the multi-core era is forcing domain specialists to become experts in writing parallel code, in order to make their simulations run faster or at higher resolution. Te good news is that, in the field of high-


performance computing, standards such as MPI (Message Passing Interface) and OpenMP (Open Multi-Processing) have been developed and continue to evolve. Tese standards have allowed domain specialists to develop parallel codes that run across multiple processors:


www.scientific-computing.com l How do we address these shortcomings?


Osborne, High Performance Computing (HPC) Wales’ training and outreach mentor


since around 1992 in the case of MPI; and around 1997 in the case of OpenMP. For the types of simulation that have always run on multi-processor high-performance computing platforms, the multi-core era required only a small change in working practises on the path to ever increasingly powerful systems. So, how do we train the next generation of


domain specialists to become computational scientists as well, and be able to think in parallel? Te first challenge is that parallel


programming has not been taught to the majority of computer scientists over the past 20 years, let alone the wider range of science and engineering graduates across the globe. Tere are a few notable exceptions, but because the topic is so complex and the demand for graduates capable of building databases, maintaining servers, and developing serial


With my computer science background, I have taught a range of programming languages, beginning with Java and C#, to computer science students. However, over the past seven years that has broadened out to teaching Fortran to groups of physics researchers, financial modellers, and even architecture graduates. Alongside this, I also teach OpenMP and MPI, in collaboration with Intel and NAG, along with basic Linux skills, so domain specialists can learn how to get the most out of high-performance computing. As a result of the logistical difficulties of


running courses over large distances, I am beginning to use a technique called ‘blended learning’ to support training at a distance. By bringing cohorts of domain specialists together in this way, in order to cover more specialist topics such as OpenMP and MPI, we are starting to turn face-to-face training sessions into ones we can run in different geographical locations. Using technologies such as Moodle, and recording screencasts with a voice-over narrative – scripted and refined over a number of iterations - it is possible to train domain specialists in some of the key concepts required for high-performance computing from the comfort of their own office.


WE CAN TRAIN THE NEXT GENERATION OF


COMPUTATIONAL SCIENTISTS TO GET THE MOST OUT OF HIGH-PERFORMANCE COMPUTING


desktop applications has been far greater, we have a high-performance computing skills gap. Te second issue is that one of the traditional


languages of high-performance computing, with an enormous existing code-base, Fortran, is not generally taught to computer-science undergraduates. Oſten, more modern, object- oriented languages such as Java and C# are now in favour, both of which are interpreted instead of compiled languages, making them more expressive, but this comes at a significant cost in terms of computational performance. Te good news is that a small number of


domain specialists have been taught Fortran in order to maintain and extend the existing scientific code-base. While it is certainly better to learn Fortran than trying to reinvent the wheel in the language du jour, it is imperative that higher numbers of students are taught this critical language.


@scwmagazine Together with colleagues, I have developed


the syllabus for a Postgraduate Certificate in HPC targeted at domain specialists in both business and academia and covering a range of key topics, while teaching good practices from the outset for the development of parallel codes,. Topics range from an introduction to Linux and HPC, through basic programming in Fortran or C / C++, to debugging, profiling, and optimising codes, and developing codes using OpenMP and MPI, as well as the basics of visualisation. My vision for the future is that we can train


the next generation of computational scientists to get the most out of high-performance computing, without exposing them to bad practices, and teaching them the basics in a structured way, allowing learners to progress at their own pace and engage with the topics they need from a single accessible resource.


FEBRUARY/MARCH 2014 29


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40