HPC Curriculum and Associated Ressources in the Academic Context

Hardware support for high-performance computing (HPC) has so far been subject to significant advances. The pervasiveness of HPC systems, mainly made up with parallel computing units, makes it crucial to spread and vivify effective HPC curricula. Besides didactic considerations, it appears very important to implement HPC hardware infrastructures that will serves for practices, and also for scientific and industrial requests. The latter ensures a valuable connection with surrounding cutting-edge research activities in other topics ({\em life sciences, physics, data mining, applied mathematics, finance, quantitative economy, engineering sciences}, to name a few), and also with industrial entities and services providers from their requests related to HPC means and expertise. This aspect is very important as it makes an HPC Center becoming a social actor, while bringing real-life scenarios into the academic context. The current paper describes the major steps and objectives for a consistent HPC curriculum, with specific analyses of particular contexts; suggests how to technically set up operational HPC infrastructures; and discusses the connection with end-users, all these in both effective and prospective standpoints.

[1]  L. Ridgway Scott,et al.  Scientific Parallel Computing , 2005 .

[2]  Claude Tadonki,et al.  Harris corner detection on a NUMA manycore , 2018, Future Gener. Comput. Syst..

[3]  Peter S. Pacheco Parallel programming with MPI , 1996 .

[4]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[5]  emontmej,et al.  High Performance Computing , 2003, Lecture Notes in Computer Science.

[6]  Hesham El-Rewini,et al.  Introduction to Parallel Computing , 1992 .

[7]  Gerhard Wellein,et al.  Introduction to High Performance Computing for Scientists and Engineers , 2010, Chapman and Hall / CRC computational science series.

[8]  Claude Tadonki,et al.  A Fine-grained Approach for Power Consumption Analysis and Prediction , 2014, ICCS.

[9]  David Kaeli,et al.  Introduction to Parallel Programming , 2013 .

[10]  Maurice Herlihy,et al.  The art of multiprocessor programming , 2020, PODC '06.

[11]  Leonie Kohl,et al.  Parallel Programming In C With Mpi And Open Mp , 2016 .

[12]  Ronald H. Perrott,et al.  Parallel programming , 1988, International computer science series.

[13]  Frank Thomson Leighton Introduction to parallel algorithms and architectures: arrays , 1992 .

[14]  Claude Tadonki,et al.  QIRAL: A High Level Language for Lattice QCD Code Generation , 2012, ArXiv.

[15]  Barbara Chapman,et al.  Using OpenMP - portable shared memory parallel programming , 2007, Scientific and engineering computation.

[16]  Claude Tadonki,et al.  Basic Parallel and Distributed Computing Curriculum , 2018, ArXiv.

[17]  John B. Shoven,et al.  I , Edinburgh Medical and Surgical Journal.

[18]  Seyed H. Roosta Parallel processing and parallel algorithms - theory and computation , 1999 .

[19]  Juraj Hromkovic,et al.  Communication Complexity and Parallel Computing , 1997, Texts in Theoretical Computer Science An EATCS Series.

[20]  Sanjay V. Rajopadhye,et al.  The Algebraic Path Problem Revisited , 1999, Euro-Par.

[21]  Claude Tadonki,et al.  An efficient CELL library for lattice quantum chromodynamics , 2010, CARN.

[22]  Claude Tadonki,et al.  High Performance Computing as a Combination of Machines and Methods and Programming , 2013 .

[23]  H. James Hoover,et al.  Limits to Parallel Computation: P-Completeness Theory , 1995 .

[24]  Jack Dongarra,et al.  Introduction to the HPCChallenge Benchmark Suite , 2004 .

[25]  Mark D. Hill,et al.  Amdahl's Law in the Multicore Era , 2008 .

[26]  Fayez Gebali,et al.  Algorithms and Parallel Computing , 2011 .

[27]  Thomas Rauber,et al.  Parallel Programming: for Multicore and Cluster Systems , 2010, Parallel Programming, 3rd Ed..

[28]  Mathias Kluge Parallel Scientific Computing In C And Mpi A Seamless Approach To Parallel Algorithms And Their Implementation , 2016 .

[29]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[30]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .