Hands-on #3: Dot product with OSACA
Open the CE project from hands-on #2. If you don't have this anymore, you can start with https://hpc-mover.rrze.uni-erlangen.de/compiler-explorer/z/17Yoq1
Now you see two panes: On the left is a C++ source code editor, while on the right is the compiled assembly code.
Hint: You can add a new tool by selecting "Add tool..." in the compiler pane. You can add arguments to a tool the same way as for executors (>_ Arguments
).
1. Add OSACA as a new tool. It is recommended to always add your target architecture.
2. Identify the region of interest (ROI), the benchmark loop in the assembly code and limit the OSACA analysis to the ROI using the "--lines
" option. Does the OSACA prediction match with your measurements? What is the actual in-core bottleneck?