Two decades of MSc programmes at EPCC

4 November 2021

Back in the late 1990’s we became aware of a need for postgraduate level training in high-performance computing (HPC) and parallel programming. We already had a good portfolio of material from the courses we delivered as part of the UK national supercomputing services (at the time it was based around the Cray T3D/T3E), and when the Engineering and Physical Sciences Research Council (EPSRC) offered Masters Training Programme grants in 2000, we took the opportunity to build on this material and successfully applied for funding to develop an MSc in HPC.

The biggest challenge in launching a new higher education course lies in getting it off the ground. However, the EPSRC pump-priming funding meant we could start small and not worry too much about initial student numbers. Course overheads are another potential barrier – developing and delivering a new course is as much work for 5 students as for 50 – but we overcame this by initially opening course registration to both MSc students and general HPC participants. Broadening participation gave us time to build the MSc’s reputation while covering our costs.

We initially followed a “short and fat” approach, offering courses as three full days a week over six weeks each semester, which suited our external, non-MSc attendees. However this changed once numbers grew and we switched to MSc-only classes, moving to half-day training blocks spread over a semester. As the course became more established we adopted the now standard University of Edinburgh format of two lectures and a practical session every week, and became fully integrated with the University’s teaching timetable.

Expansion and evolution of programmes

In 2014 the MSc programme was augmented with a new option to specialise in data science. The balance is now split roughly 60:40 between students of the MSc in HPC with Data Science, and the MSc in HPC alone.

Since 2016 we have offered online courses as part of Edinburgh’s interdisciplinary DSTI MSc, and since 2020 both of EPCC’s MSc in HPC programmes have been made available for  part-time online study. Our preparations for the online programmes were invaluable in enabling us to switch to online teaching and student support at the start of the COVID pandemic.

Our courses have changed greatly since the early days with printed handouts entirely replaced by the University’s virtual learning environment, and lectures automatically recorded to help students when revising The curriculum has evolved - original courses included Grid computing and high-performance Java - but our core content remains the same: we have always taught fundamental principles such as parallelism, performance programming and good software development techniques. Although hardware has evolved at an incredible rate – the new ARCHER2 service will be almost a million times more powerful than the Cray T3D system from the 1990’s – the fundamental concepts of HPC and computational science have stood the test of time.

Interdisciplinarity is an essential element of our MSc programmes, and we encourage our students to work with other groups within the University and with industry. We have established a strong international reputation, which has been reflected in the steady increase in overseas students. Our teaching programmes are a major element of EPCC’s activities with around half of our 120 staff actively involved in lecturing or supervising student projects. We aim to limit each year’s cohort to about 50 to ensure the quality of each student’s experience, particularly during their dissertation. Students benefit from time spent with experts who are working in the field of study, while staff gain from refreshing their knowledge. The regular cycle of the MSc helps us keep all our training materials fresh, with our training courses for the national HPC services benefiting from the MSc and vice-versa.

Student dissertations

Dissertation projects often focus on real-world problems in collaboration with external partners. Recent examples in academia include spiNNaker boards with the University of Manchester, and molecular dynamics simulations with the University of Nottingham. Our students have also worked with public bodies such as Historic Environment Scotland and the National Library of Scotland, Societies such as the Marine Biology Association, as well as Government organisations. Industrial projects have included Scottish companies as well as international ones such as Xilinx (inventor of FPGAs), Intel, Virgin Money, and the Renault FP1 team.

Sample student project: machine learning in the eyecare industry

Over the last few years several of EPCC's MSc students have worked closely and successfully with the Scottish-based company Optos on projects involving machine learning techniques. Optos manufactures and supplies eye-scanning devices to eyecare professionals helping patients. Their devices help in the detection of ocular pathologies, diagnosis, documentation and treatment. They have a research-centred department which is invested in applying deep learning techniques which assist in image evaluation.

For the most recent project the student developed an algorithm for the binary classification of Optical Coherence Tomography (OCT) A-scans into normal and anomalous ones. OCT is a non-invasive imaging modality that allows the acquisition of three-dimensional scans of the back of the eye, ie the retina. For clinical practice, it is important to ensure that good quality volumes are captured and to automatically identify those sample points, the A-scans, that are affected by imaging artefacts, like  mirroring or shadowing effects, or that cover particular retinal structures, eg the optic nerve head.

The student built a Convolutional Neural Network (CNN), using both CPUs and GPUs on Cirrus, one of EPSRC's Tier-2 National HPC Services hosted by EPCC), that was able to achieve a high A-scan accuracy on test sets of images through applying dataset augmentation techniques, dataset undersampling, class weighting, architecture optimisation, weight decay, and other hyperparamter optimisations. Moreover, the developed network was compressed and accelerated for production on hardware-limited scanning devices through modification of model hyperparameters, scaling model input data and use of dynamic quantization. After familiarising with the broader background, the project required the usage of core tools like PyTorch, Python programming skills and ML concepts - in particular the usage of CNNs.

ISC Student Cluster Competition

For many years our students have successfully participated in the international ISC Student Cluster Competition, where student teams build small ad-hoc clusters and compete to demonstrate the best performance across a series of benchmarks and applications without surpassing a 3KW power limit for the system. In 2014 EPCC’s team achieved the highest-ever LINPACK score. 

Academic governance is overseen by the School of Informatics at the University of Edinburgh.

Although the HPC landscape has changed substantially since we launched our first MSc programme, our goal remains the same: to produce graduates ready to apply their learning to solve real world problems wherever they are.

If you have any questions regarding our MSc programmes, please get in touch: www.epcc.ed.ac.uk/msc/contact

Image shows the class of 2013, including: Weronika Filinger (front row, third from left), who is now EPCC’s Programmes Director for our online MSc programmes and Chair of Student Programming at SC21, and Larisa Stoltzfus (front row, far left), now an Applications Consultant at EPCC.

Author

Dr David Henty
David Henty