HPC Programming Languages and Libraries

HPC programming can be done using a wide variety of languages and tools, but most major HPC software is written in C, C++, or Fortran using OpenMP, POSIX Threads, or the Message Passing Interface (MPI) libraries.

C and Fortran are pure compiled languages, so programs run at the highest possible speed (often orders of magnitude faster than the same program written in an interpreted language). C++ also offers good performance, but C++ has a higher learning curve and best suited for well-trained, experienced programmers.

When developing libraries to be used from C, C++, and Fortran programs, C is generally the most trouble-free choice. C libraries are very easy to link into C++ and Fortran programs, and generally provide marginally better performance than C++ or Fortran. C++ and Fortran libraries can also be linked into programs written in other languages, but the process requires additional knowledge and effort.

Self-test
  1. What are the most popular languages for HPC programming? Why?