loading subjects...

High-Performance Computing (HPC) deals with parallel hard- and soft-ware since decades—with quite impressive results. Nowadays, we have parallel hardware (e.g., multi-core and many-core CPUs) in nearly every device, but parallel software is still a challenge, especially for non-HPC experts. Thus, we do not use the full potential of today’s hardware yet, and software developers have only a limited understanding of the possibilities of parallel hardware. Software performance engineering (SPE) confirms this statement. So, why are HPC projects successful, but other scientists often fail on parallelization challenges? Because they are no HPC experts and lack the needed knowledge. They do not become HPC experts because they are experts in other disciplines (of computer science)! To tackle this knowledge transfer challenge, we present the concept of our pattern catalog, describe why it is needed, why it is an adequate approach, and give examples of patterns. Our approach helps the HPC Community to make their knowledge explicit and makes it easier to transfer gathered knowledge from HPC to other disciplines.
