I read the samples and --help to run advisor xe on my program.
I want to do an analysis on vectorization. I am limited to command line for everything.
I used advisorxe to collect data for my mpi program - like this:
mpirun -np ../dir1/dir2/a.out : -np 1 advixe-cl --collect survey -project-dir myproc ../dir1/dir2/a.out
This runs 64 mpi ranks and successfully runs to completion -the run created directory myproc containing file myproc.advixeproj and directory rank.63 (containing more subdirectories and files).
So now I want a report so I run:
advixe-cl --report survey --project myproc --search-dir src:r= ../dir1/dir2
But instead of generating a report I get an error message:
Intel(R) Advisor Command Line Tool
Copyright (C) 2009-2016 Intel Corporation. All rights reserved.
advixe: Error: The directory, `e000', cannot be found.
So what is wrong with my collection or my report generation? Please advise.
Oh - yes if you would like to know version of advisorxe the version I amusing is in directory: advisor_2017.1.1.486553/bin64/advixe-cl
I find it odd that the command line doesn't accept advixe-cl -v (or --v). oh well.
I recently wrote an article that describes this process:
Let me know if you have any questions.
Thank you Kevin. That is a very good article and I find it helpful. It doesn't quite address my problem. It seems advisor-xe is hardwired for mpi rank 0. For example - today I reran things -one worked one did not - the only difference being to which mpi rank I applied Advisor-xe analysis. Here is the first case:
mpirun -np 1 advixe-cl -collect survey -project-dir /usr/people/drmackay/ko ../dir1/dir2/a.out : -np 63 ../dir1/dir2/a.out
Then I ran
advixe-cl -report survey -project-dir /usr/people/drmackay/ko -format text -report-output survey.txt
and this worked like a charm. Notice in this case I collected advisor data for mpi rank 0. So then I went back to my original mode of collecting for mpi rank 63:
mpirun -np 63 ../dir1/dir2/a.out : -np 1 advixe-cl -collect survey -project-dir /usr/people/drmackay/ko6 ../dir1/dir2/a.out
Everything appears to work fine - directory and files in it look good. But then I try to generate a report:
advixe-cl -report survey -project-dir /usr/people/drmackay/ko6 -format text -report-output survey6.txt
Then once again I get the error message: advixe: Error: The directory, `e000', cannot be found.
When I collect data for mpi rank 0 things work fine. When I collrect for mpi rank 63 it fail.
When collecting for mpi rank 0 I get file: ko.advixeproj and a directory rank.0 (which contains files: loop_hashes.def and rank.0.advixeexp and direcotry hs000) When I collect for mpi rank 63 I get file ko6.advixeproj and directory rank.63 (which contains files: loops_hashes.def and rank.63.advixeexp and direcotry hs000).
The example you use in the fine document also collects for mpi rank 0. I really think there is a using command line for resolving data for any rank other than mpi rank 0. Is there another option to pass into the command line argument so that it knows it is working with an mpi rank other than 0? Am I limited to analyzing mpi rank 0? Why does this method above work for mpi rank 0 but not mpi rank 63?
For now I can work with mpi rank 0 - so that is sufficient for now and I can continue -but I can imagine really wanting to analyze a different rank with the command line.