Programming Shared Memory Computers

Abstract:

Many multicore processors are capable to speedup computations with a significant magnitude, reducing for example to one hour some computation that would otherwise take an entire day to complete. The Ada programming language provides a high level and effective tool to speedup computations on multicore processors. The design of parallel programs starts with the granularity level of the parallelism with careful attention to memory management. We decide on the size of each job, check the mapping of jobs to threads, and on the location of the input and output data for each job. In the evaluation of parallel programs we tune the work load to reach the desired level of efficiency and throughput.

Ada Europe 2021, Tutorial, 7 June 2021, online

slides of the tutorial