From a02df1b7d4c68c39bd600f178b261c200c95f769 Mon Sep 17 00:00:00 2001 From: Georgiana Mania <mania@dkrz.de> Date: Fri, 24 May 2024 10:17:37 +0200 Subject: [PATCH] add parallelism scientific details --- lectures/parallelism/slides.qmd | 36 +++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/lectures/parallelism/slides.qmd b/lectures/parallelism/slides.qmd index ace2472..b1f7c12 100644 --- a/lectures/parallelism/slides.qmd +++ b/lectures/parallelism/slides.qmd @@ -201,14 +201,37 @@ The problem is called "data race". * A thread is blocked indefinitely waiting on a resource # Finally: A definition of parallelism -"Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously." +<!--"Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously." Wikipedia -FIXME: Citation correct?! +--> + +"Parallel computing is the simultaneous use of multiple compute resources to solve a computational problem" + +:::{.smaller} +-- *Introduction to Parallel Computing Tutorial, LLNL * +::: + + ## Types of parallelism -* Data parallelism (what we've been discussing) -* Task parallelism (Example: Atmosphere ocean coupling) -* Instruction level parallelism (see next week) +* **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) + +:::{.fragment} +:::{.info .smaller} +*More about hardware next week!* +::: +::: + +:::{.notes} +task-level : (Example: Atmosphere ocean coupling) +::: ## Precondition for parallel execution @@ -334,4 +357,5 @@ d = c - b; // S2 # Documentation * "Computer Architecture - A Quantitative Approach" - J. Hennessy and D. Patterson -* "Introduction to High Performance Computing for Scientists and Engineers" - G. Hager and G. Wellein \ No newline at end of file +* "Introduction to High Performance Computing for Scientists and Engineers" - G. Hager and G. Wellein +* "Introduction to Parallel Computing Tutorial" - [Online](https://hpc.llnl.gov/documentation/tutorials/introduction-parallel-computing-tutorial), Lawrence Livermore National Laboratory \ No newline at end of file -- GitLab