Student Cluster Competition 2021

HPC

Hi everyone, my name is Yusuke Miyashita and I am the High-Performance Computing (HPC) Branch Lead at Monash DeepNeuron. Today I have the pleasure of introducing some of the most exciting work we are doing in the HPC branch currently, the ASC21 Student Cluster Competition.

What is a Student Cluster Competition (SCC)?

In a Student Cluster Competition, students are required to work with hardware and assemble a computing cluster that is capable of running a range of High-Performance Computing applications. These include but are not limited to benchmarks as well as various scientific programs in the domains such as Artificial Intelligence, Quantum computing, and Astronomy.

Traditionally, opportunities for students to get real-world HPC experience are few and far between. Student Cluster Competition aims to help challenge and equip the next generation of HPC specialists.

Asian student Supercomputing challenge (ASC)

Asian student Supercomputing challenge (ASC)

Held in Shenzhen, China

The competition consists of 2 rounds:

  • Preliminary round - This round acts as a trial for teams to build and test various HPC applications that will be used in the final round. From this pool of applicants, only a small number is selected to participate in the next round. 

  • Final round - This is similar to the first round, where teams are required to optimise HPC applications. This time however we will be required to perform under the constraint of power usage. With the team that can produce the fastest and most accurate results winning the competition.

Monash DeepNeuron’s team has proceeded into the final round and is one of only 27 finalists out of more than 350 universities across the globe! Some of which have been competing for over a decade (in comparison to our team which was only formed 2 months prior to our submission). 

For the final round, the team has been given the opportunity to set up an HPC cluster at Monash University and will be competing virtually against other teams across a week in early May (8th-12th).

Meet the Team

Congratulations to the HPC team on becoming finalists!

Students:

Angus Trau, Matti Haddad, Zachary Zendarski, Tushar Nagar, Sarath Kunair, Kevin Liu, Ayden Khalil, Yusuke Miyashita, Luhan Cheng

Academic Supervisors:

Simon Michnowicz, Titus Tang

Applications of ASC21

HPL/Linpack - Linear system solver for benchmarking the supercomputer 

HPCG - HPCG is a complete, stand-alone code that measures the performance of basic operations (matrix-vector multiplication, Global dot products) in a unified code.

Image from “How to compile HPL (linpack)”

PRESTO - Pulsar Finder

QuEST - Quantum Circuit Simulator

English Language Exam - Natural language processing task which requires the implementation of deep learning techniques.

Mystery application - To make the competition harder to predict, not all of the tasks are given to us before the competition begins. On the week, the ASC committee will give us a mystery application, where we will have to develop quality solutions under time pressure.

Preparation for SCC

To give us the best chance of success at the competition, the team is using several approaches to improve the performance of the code.

  • Parallel/distributed computing: employing parallel computing is essential to solving HPC applications as it allows for more efficient utilization of computational resources, saving both time and money. The ASC team is mostly using openMP for parallel computing and OpenMP for distributed computing.

  • Compiler: a compiler is a computer program that translates source code into binary code which a machine can process. Different compilers produce different binary codes and give different code performances. We need to empirically prove which compiler works best for which program. Some choices include:

    1. Intel

    2. GNU

    3. PGI

    4. AMD AOCC

  • Profiler: a profiler is a program analysis software that measures memory usage, time complexity, frequency, and duration of a function call. Profilers are a great tool to help you find where you can improve in the program. 

  • Scientific understanding of applications: In the competition, there will be multiple algorithms to solve different scientific applications. Employing different algorithms to source code can change the performance drastically. However difficult and time-consuming this may be - students will be required to read relevant papers and understand the algorithm of the applications so that we are best able to optimize the software. We acknowledge the assistance of our supervisor Titus who is helping out with the Natural language Processing algorithm for the English Language Exam application.

High Performance Computing cluster for SCC at Monash

Since the team is competing virtually from Monash university, DeepNeuron has been trying to source and set up a local cluster we can use. The server we have obtained consists of a single Dell PowerEdge R7525 with two AMD EPYC 7532 processors. We acknowledge the generous assistance of Dellfor loaning us this machine.

We currently have four K80 Nvidia GPUs to place in the machine but are excited that both Dell and Nvidia are investigating if we can borrow A100 GPU cards for the contest. (For reference, there are only 2 A100 cards in Australia)

The server rack is located in LG05 in the Woodside building, and the DeepNeuron ASC team will be working there.  The rack and associated equipment were generously loaned to us from the support team at Monash eSolutions.

Also, I would like to take this opportunity to thank Simon Michnowicz and Gin Tan from Monash eResearch centre and Scott Wordley from Monash Engineering faculty for taking care of all the logistics to install a HPC cluster for DeepNeuron and securing a space for the ASC team to work on the competition.

Future SCC competitions and opportunities for you

One of the focuses of the HPC branch in DeepNeuron moving forward is to ensure the longevity of the SCC team. We want to equip students and send them to SCC competitions every semester and be able to iterate on the experience that we gain. In fact, we are looking to participate in SC21(SCC in America) in Semester 2, 2021. 

Monash DeepNeuron is looking to expand its HPC branch into new and exciting areas, and passionate coders are needed! We currently run recruitment twice a year, with our semester 1 intake being currently open. If you are interested in being part of the SCC team, apply for the HPC branch on our website from the recruitment page.

If you are concerned about your technical skills to join Monash DeepNeuron, we would recommend checking out our resources page on the MDN website. We also run 5 weeks of intense HPC training course for new HPC members. New recruits will have an opportunity to learn key HPC computing skills such as Linux command line, slurm, compiler, container technology, and parallel computing.

If you have any questions feel free to reach out to me at hpc@deepneuron.org

Yusuke Miyashita

High-Performance Computing Branch Lead

Previous
Previous

Introduction to Deep Learning: Our First Blog