Intel® Trace Collector 9.1 Update 2 User and Reference Guide
Intel® Trace Collector supports trace collection for MPI applications running on:
Intel® Many Integrated Core Architecture (Intel® MIC Architecture)
Intel® 64 architecture and on the Intel® MIC Architecture simultaneously
To trace such applications, make sure to properly set up the Network File System (NFS) between the hosts and the coprocessors. See the Intel® Many Integrated Core Software Stack (MPSS) documentation on how to set up NFS on the coprocessors.
To trace an MPI application running on an Intel® Xeon Phi™ coprocessor, use Intel® MPI Library, the Intel® Trace Collector libraries, and a compiler that can generate an executable file compatible with the targeted Intel® Many Integrated Core Architecture (Intel® MIC Architecture). Do the following:
Source the mpivars.sh and itacvars.sh from the intel64/bin directories.
Compile the application using the statically linked Intel Trace Collector libraries:
host$ mpiicc -mmic -trace myApp.c -o myApp_mic
where MyApp is the name of your application.
Set environment variables for Intel MPI Library to understand that the application uses the Intel Xeon Phi coprocessors:
host$ export I_MPI_MIC=enable
host$ export I_MPI_MIC_POSTFIX=_mic
Run the application with the following command:
host$ mpirun -host host1-mic0 -n 4 ./myApp
Running your application with this command, you do not have to add the _mic suffix to the name of your application, because it is added to the application name automatically.
If everything is correct, you will get a message that a trace file has been written.
To trace an application running on the host system and the Intel® Xeon Phi™ coprocessor simultaneously, compile one part for the host system and another part for the Intel Xeon Phi coprocessor:
Source the mpivars.sh and itacvars.sh from the intel64/bin directories.
Set the Intel® Trace Analyzer and Collector variables for the Intel® 64 architecture:
host$ export I_MPI_MIC=enable
host$ export I_MPI_MIC_POSTFIX=_mic
Compile the application for the Intel® MIC Architecture:
host$ mpiicc -mmic -trace myApp.c -o myApp_mic
Compile the same application for the host:
host$ mpiicc -trace myApp.c -o myApp
Run the application:
host$ mpirun -f host_file -n 64 myApp
To trace an application not linked to the Intel® Trace Collector library, do the following:
Source the mpivars.sh and itacvars.sh scripts from the intel64/bin directories.
Set environment variables for Intel® MPI Library to understand that the application uses the Intel® Xeon Phi™ coprocessors:
host$ export I_MPI_MIC=enable
host$ export I_MPI_MIC_POSTFIX=_mic
Run the application:
host$ mpirun -trace -f host_file -n 64 myApp
If rank 0 runs on the coprocessor, trace file name includes postfix. For example, myApp_mic.stf
If your application requires a shared library, you may need to add the path to that library to the LD_LIBRARY_PATH variable.