In this exercise, we want to analyze the 2D Gauss-Seidel (GS) kernel. In this algorithm we iterate over a two-dimensional grid and update a cell in-place based on its four neighbor cells.
You can find the code here: https://hpc-mover.rrze.uni-erlangen.de/compiler-explorer/z/oYT4fj
1. Compile the code using icc 2021.6.0 and use the optimization flags "
-Ofast -qopenmp-simd -qopt-zmm-usage=low -xHost -fargument-noalias -funroll-loops -fno-builtin" and create an executor with the same flags. Run the code with a grid of 6000x6000.
2. Identify the region of interest (ROI) and analyze it with OSACA. Does your measurement meet your expectations? What is the limiting bottleneck?