Multi-core is a term used to describe a computer architecture where two or more processors, or cores, are integrated into a single chip package. This architecture is used to run multiple instructions simultaneously, leading to increased performance for parallel applications. Multi-core processors are ubiquitous in today's computing devices. They are not only found in high-performance computing (HPC) systems but also in desktop and laptop computers, tablets, and smartphones. While these multi-core systems can provide automatic performance improvements, individual applications must be modified to take full advantage of them. This tutorial introduces the general concepts of multi-core systems and the methods used to improve HPC application performance on them.
Target Audience: HPC application users and developers who run applications on a multi-core system.