Wednesday, June 10, 2015

HPC is not only about computer science

HPC has been a hot topic for everybody since the arrival of multicore processors and accelerators. Much attention has been given to new technologies related to these architectures and supporting software. Not only in Latin American universities but in many places, the focus has been on teaching the technology only. However, there is a very important aspect that universities here should pay more attention and that is the applications and the techniques used to develop applications, in what is typically called Computational Science and Engineering.

High Performance Computing is a mean not an end in itself, therefore, our professionals usually will have to design and develop software to be used in HPC machines. These tasks will require not only knowledge about the system they use but also what they are actually developing. The industry, that is the place most of the students of HPC eventually will work, is interested in the application and how to use HPC systems to solve real problems.

Some people may claim that computer scientists do not need to know the gory details of any scientific or data application. I agree with them. Surely the HPC professionals typically work in teams that include application experts that know deeply the problem and the methods used to solve it. However, HPC professionals need to know the basic techniques, methods and the language used by those experts, so that they can be more productive.

The list of topics one should pay attention may be large and intimidating. But there are some basics subjects every student interested in HPC should be encouraged to study. My list is:

  - Linear Algebra and its applications;
  - Probability / Statistics (and also its applications);
  - Numerical methods;
  - Optimization;
  - Data Analytics;
  - Visualization.

This list is not meant to be complete but it covers a lot of background many HPC practitioners will need. But how one can learn about these topics? Computer science departments may not offer the subjects related to these topics. However, the diligent student can still find on the Internet all she/he needs to learn about Computational Science and Engineering. Here are some examples:


There are definitely more available, but this is a good sample of what can be used. Finally, I believe that our professional will have more impact if they manage to use HPC to solve real problems and that starts with a better understanding of the problems and solutions methods that are available.

No comments:

Post a Comment