Intel® Trace Collector 9.1 Update 2 User and Reference Guide

Tracing MPI Applications on the Intel® Many Integrated Core Architecture

Intel® Trace Collector supports trace collection for MPI applications running on:

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.

Applications Running on an Intel® Xeon Phi™ Coprocessor

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:

  1. Source the mpivars.sh and itacvars.sh from the intel64/bin directories.

  2. 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.

  3. 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

  4. 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.

  5. If everything is correct, you will get a message that a trace file has been written.

Application Running on Host System and Intel® Xeon Phi™ Coprocessor Simultaneously

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:

  1. Source the mpivars.sh and itacvars.sh from the intel64/bin directories.

  2. 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

  3. Compile the application for the Intel® MIC Architecture:

    host$ mpiicc -mmic -trace myApp.c -o myApp_mic

  4. Compile the same application for the host:

    host$ mpiicc -trace myApp.c -o myApp

  5. Run the application:

    host$ mpirun -f host_file -n 64 myApp

Applications Not Linked to Intel® Trace Collector Library

To trace an application not linked to the Intel® Trace Collector library, do the following:

  1. Source the mpivars.sh and itacvars.sh scripts from the intel64/bin directories.

  2. 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

  3. Run the application:

    host$ mpirun -trace -f host_file -n 64 myApp

  4. If rank 0 runs on the coprocessor, trace file name includes postfix. For example, myApp_mic.stf

Note

If your application requires a shared library, you may need to add the path to that library to the LD_LIBRARY_PATH variable.