Programming Multi-Core and Many-Core Systems

Table of Contents

Parallelisation & OpenMP

architecture model from programmer perspective:

program with multithreading. one code, one data heap, multiple program counters, multiple register sets, multiple runtime stacks. threads are provided by OS.

OpenMP:

Loop parallelisation:

concurrent access is like a fridge in a shared apartment, your beers can disappear at any time for any reason.

race condition/data race: if behaviour of program depends on execution order of program parts whose temporal behaviour is beyond control