EasyHPC: An online programming platform for learning high performance computing

Lacking of appropriate learning facilities, the traditional approach to learn high-performance computing (HPC) is commonly theory-oriented without sufficient hands-on programming experiences. To improve the hands-on experiences of HPC learners, we design and implement a flexible and adaptive online HPC learning platform in this paper, called EasyHPC. This platform contains various online course modules such as quiz bank, interactive community, and virtual laboratory. In our system, various HPC theoretical and experimental learning activities can be conducted online, such as assigning HPC parallel programming tasks, and creating HPC questions and collecting students' submissions. It is convenient for students to study HPC-related courses in our platform, submit course assignments, exchange ideas, and complete HPC programming tasks. Our preliminary learning trials have shown that our system can effectively improve the hands-on experience of our students by providing an integrated HPC learning and programming environment. Our students are able to achieve various HPC capstone projects in our platform to develop their system capability.