High-Performance Computing Course Development for Cultivating the Generalized System-level Comprehensive Capability

Juan Chen

Volume 12, Issue 2 (February 2021), pp. 31–32


PDF icon Download PDF

  author={Juan Chen},
  title={High-Performance Computing Course Development for Cultivating the Generalized System-level Comprehensive Capability},
  journal={The Journal of Computational Science Education},
Copied to clipboard!

Supercomputers are moving towards exascale computing, high-performance computer systems are becoming larger and larger, and the scale and complexity of high-performance computing (HPC) applications are also increasing rapidly, which puts forward high requirements for cultivation of HPC majors and HPC course development. HPC majors are required to be able to solve practical problems in a specific field of high-performance computing, which may be a problem for system design or a problem for a specific HPC application field. Regardless of the type of problem, the complexity and difficulty of the problem are often very high because HPC is interdisciplinary. The development of HPC courses to meet these kinds of talent cultivation needs must emphasize the cultivation of students' Generalized System-level Comprehensive Capabilities, so that students can master the key elements in the limited course knowledge learning process. System-level Comprehensive Capability refers to the ability to use the knowledge and ability of the computer system to solve practical problems. The ACM/IEEE Joint Computer Science Curricula 2013 (CS2013) also involves System-level Perspective. System-level Comprehensive Capability is considered to be a crucial factor to improve students' system development ability and professional ability. This is especially important for students majoring in high-performance computing. Furthermore, due to the HPC field's interdisciplinary and high complexity characteristics, System-level Comprehensive Capability is not enough for HPC majors, and students need to have Generalized System-level Comprehensive Capabilities. A knowledge system at the computer system level "vertically" (from bottom to top: parallel computer architecture, operating system/resource management system, compilation, library optimization, etc.) is no longer enough; multiple high-performance computing application areas should also be "horizontally" involved. Generalized System-level Comprehensive Capabilities vertically and horizontally can meet the needs of different types of high-performance computing talents.