diff --git a/lectures/parallelism/slides.qmd b/lectures/parallelism/slides.qmd index 5747f359839c5d268bc003f5d0c3a31bffefc024..7eddddcdf3cb9097e00b6fe8851795ffcd16b323 100644 --- a/lectures/parallelism/slides.qmd +++ b/lectures/parallelism/slides.qmd @@ -67,24 +67,31 @@ FIXME a[i] = 2 * i; ``` -## Hands-on Session! {background-color=var(--dark-bg-color) .leftalign} -1. Load the GNU compliler and compile the code on Levante +# Hands-on Session! {background-color=var(--dark-bg-color) .leftalign} +1. Load the GNU compiler on Levante ```bash module load gcc -g++ main.cpp -o main ``` +2. Compile and run the serial example +```bash +gcc main.c -o serial.x -lm +time ./serial.x # use `time` to check the runtime +``` +3. Compile and run the example using OpenMP +```bash +gcc -fopenmp main.c -o parallel.x -lm +OMP_NUM_THREADS=2 time ./parallel.x +``` +4. See next slide! - -1. Compile and run the example serially. Use `time ./serial.x` to time the execution. -23. Compile and run the example using OpenMP. Use `OMP_NUM_THREADS=2 time ./omp.x` to time the execution. -42. Now add +# Hands-on Session! {background-color=var(--dark-bg-color) .leftalign} +4. Now add * `schedule(static,1)` * `schedule(static,10)` * `schedule(FIXMEsomethingelse)` * `schedule(FIXMEsomethingelse)` and find out how the OpenMP runtime decomposes the problem domain. -FIXME: Maybe get rid of timings here? FIXME: Maybe add something varying the number of threads, so that one can see first ideas of strong/weak scaling.