-2

So I wanted to learn HPC and I couldn't find any resources list. Of course we have "Awesome HPC" but last update was for 3 years ago.

My main question is how to learn HPC. what are the prerequisites? what programming languages should I know?

And if you have any advice I'm all ears.

2 Answers2

1

There are plenty of books about Parallel Computing, Parallel Algorithms, Scientific Computing, OpenMP and MPI; without to mention HPC books. Some good books are even free and good to start with such as the Victor Eijkhout's HPC book.

With respect to programing languages, C, C++ and FORTRAN are generally used to code HPC applications. CUDA and OpenCL may be good to know for GPU-based programming.

Note that the HPC landscape should not be very different since 3 years, so it is OK to read such tutorials.

Jérôme Richard
  • 41,678
  • 6
  • 29
  • 59
0

I would say it is very much about understanding the principles of computer architecture and from there on you will be able to write efficient code. First, one has to be able to write good serial code and then you can have a look on parallelizing it.

I'm a big fan of the book "Introduction to High Performance Computing for Scientists and Engineers" from Hager and Wellein. It will give you the full journey from understanding the hardware to writing fast code and finally to make the fast code even faster by parallelizing. By the way, it's from 2010, but all in there still holds ;-)

Oichlober
  • 31
  • 3