diff --git a/lectures/hardware/slides.qmd b/lectures/hardware/slides.qmd index 6d7db39c2a57bc75f24a3f74ad4ddfb4f3a870b6..93c6df40695c7c3d85769fadacbac9744eafa858 100644 --- a/lectures/hardware/slides.qmd +++ b/lectures/hardware/slides.qmd @@ -52,3 +52,21 @@ It's **impossible** to look at the entire globe in full resolution. * This slide is either important or has a special purpose. * You can use it to ask the audience a question or to start a hands-on session. + +## Leftovers from previous talk +Best practices for efficient scaling: +* Limit the number of shared resources in parallel regions (less sync) +* Limit the amount of communication between executors +* Use efficient domain decomposition to avoid load imbalance (be aware when using I/O) + +## Leftovers from previous talk +Types of parallelism +* **Data-level parallelism** supported by hardware through + * instruction-level parallelism (e.g. pipelining) + * vector architectures and GPUs (e.g. SIMD) + * thread-level parallelism (what we've been discussing) + * request-level parallelism +* **Task-level parallelism** supported by hardware through + * thread-level parallelism + * request-level parallelism (e.g. MIMD) + diff --git a/lectures/parallelism/slides.qmd b/lectures/parallelism/slides.qmd index c7ecf400dc37e3fa00cd233e8c13d32aecd0eb9b..db508f77f4453ae37a57fed7c8cc8e0390b57591 100644 --- a/lectures/parallelism/slides.qmd +++ b/lectures/parallelism/slides.qmd @@ -217,24 +217,9 @@ Wikipedia ## Types of parallelism -* **Data-level parallelism** supported by hardware through - * instruction-level parallelism (e.g. pipelining) - * vector architectures and GPUs (e.g. SIMD) - * thread-level parallelism (what we've been discussing) - * request-level parallelism -* **Task-level parallelism** supported by hardware through - * thread-level parallelism - * request-level parallelism (e.g. MIMD) +* Data-level parallelism - what we've been discussing +* Task-level parallelism - Example: Atmosphere ocean coupling -:::{.fragment} -:::{.info .smaller} -*More about hardware next week!* -::: -::: - -:::{.notes} -task-level : (Example: Atmosphere ocean coupling) -::: ## Precondition for parallel execution @@ -343,12 +328,8 @@ d = c - b; // S2 ::: ## Best practices -::: {.incremental} + * Parallelisation should not change the results! Exceptions to be discussed next week! -* Limit the number of shared resources in parallel regions (less sync) -* Limit the amount of communication between executors -* Use efficient domain decomposition to avoid load imbalance (be aware when using I/O) -::: # FIXME * Homework: @@ -357,7 +338,7 @@ d = c - b; // S2 * Have them discuss the concepts from the lecture using the metaphor of a kitchen workflow? -# Documentation +# Additional reading * "Computer Architecture - A Quantitative Approach" - J. Hennessy and D. Patterson * "Introduction to High Performance Computing for Scientists and Engineers" - G. Hager and G. Wellein