- Infos im HLRS Wiki sind nicht rechtsverbindlich und ohne Gewähr -
- Information contained in the HLRS Wiki is not legally binding and HLRS is not responsible for any damages that might result from its use -
Advisor: Difference between revisions
Line 65: | Line 65: | ||
advixe-cl --snapshot --project-dir=results_advisor --cache-sources path_to_source_code --cache-binaries path_to_binary | advixe-cl --snapshot --project-dir=results_advisor --cache-sources path_to_source_code --cache-binaries path_to_binary | ||
Above command will create a file snapshot000.advixeexpz which can be easily copied to the local machine and can be viewed in GUI as below | |||
advixe-gui snapshot000.advixeexpz | advixe-gui snapshot000.advixeexpz |
Revision as of 18:16, 17 December 2021
Intel® Advisor XE is a threading assistant for C, C++, C# and Fortran. It guides developers through threading design, automating analyses required for fast and correct implementation.
It helps developers to add parallelism to their existing C/C++ or Fortran programs. You can use the Intel Advisor XE to:
|
|
Why Intel Advisor?
Before checking the parallel efficiency of an application, it is necessary to understand how the application behaves at the core level. For example,
- whether it is memory bound or compute bound
- how good is the vectorization
- how is the memory access pattern
- whether there are dependencies hindering vectorization
- where different loops/functions lie on the Roofline plot etc.
Intel Advisor not only provide answers to all the above-mentioned queries, but also suggests solutions, for example, what kind of optimizations one needs to implement in order to improve the performance of the application.
How to use Intel Advisor?
First compile your application with an additional flag "-g". Then, set up an environment for the Advisor by loading the corresponding module.
For example, on Hawk
module load advisor
On Vulcan
module load performance/advisor
If you have installed Intel oneAPI on your laptop then,
source /opt/intel/oneapi/setvars.sh
One may then select the number of OpenMP threads
export OMP_NUM_THREADS=num_of_threads
and bind them as follows,
export OMP_PROC_BIND=spread
Afterwards, collect survey, tripcounts and flops as follows,
advixe-cl -collect survey -project-dir results_advisor ./a.out
advixe-cl -collect tripcounts -flop -project-dir results_advisor ./a.out
Now the results can be opened as follows
advixe-gui results_advisor/e000/e000.advixeexp
Visualizing results on Hawk could be slow, one may thus alternatively pack up all the results in a read-only file as follows
advixe-cl --snapshot --project-dir=results_advisor --cache-sources path_to_source_code --cache-binaries path_to_binary
Above command will create a file snapshot000.advixeexpz which can be easily copied to the local machine and can be viewed in GUI as below
advixe-gui snapshot000.advixeexpz