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