Tutorial on HPC Applications, Systems & Programming Languages
Programming Models & Languages
TimeWednesday, June 27th9:30am - 11am
DescriptionHigh Performance Computing (HPC) is a fundamental technology used in solving scientific and commercial problems. Many of the grand challenges of science depend on simulations and models run on HPC facilities to make progress, for example: protein folding, understanding the human brain, or developing nuclear fusion. In industry, sophisticated computer models are integral to the development of products such as jet engines, wind turbines and new drugs.
This tutorial will present the fundamental concepts, methods, and technologies of high-performance computing systems and the necessary parallel programming associated with it. After introducing the basic terminology and vocabulary, an overview about parallel computer architectures is given introducing shared memory, distributed memory, and hybrid computer systems including latest trends like many-core CPUs and hardware acceleration via GPUs. Next, the basics of parallel programming
are explained including a crash course in message-passing and multi-threaded programming with the industry standards MPI and OpenMP.