Open|SpeedShop is a community effort by The Krell Institute with current direct funding from DOE’s NNSA and Office of Science. It is building on top of a broad list of community infrastructures, most notably Dyninst and MRNet from UW, libmonitor from Rice, and PAPI from UTK. Open|SpeedShop is an open source multi platform Linux performance tool which is targeted to support performance analysis of applications running on both single node and large scale Intel, AMD, ARM, Intel Phi, PPC, GPU processor based systems and on Blue Gene and Cray platforms.
I am setting OPENSS_ENABLE_MPI_PCONTROL=1 and I have the source code instrumented with
// uninteresting region
MPI_Pcontrol(1);
// interesting region
MPI_Pcontrol(0);
// uninteresting region
but I am still seeing routines from the uninteresting regions in the generated profile.
I (Jim G) have verified that MPI_Pcontrol is currently broken. This is what we expect it to do:
Case 1. ossmpi "mpirun -np nbody"
Should see data as it comes out of O|SS normally. All MPI_Pcontrol commands are ignored.
Case 2. CBTF_START_ENABLED=1 ossmpi "mpirun -np nbody"
Should see data as it comes out of O|SS normally. All MPI_Pcontrol commands are ignored because CBTF_ENABLE_MPI_PCONTROL is not set.
Case 3. CBTF_ENABLE_MPI_PCONTROL=1 ossmpi "mpirun -np nbody"
No initial gathering occurs and no gathering starts until MPI_Pcontrol(1) is seen.
If a MPI_Pcontrol (0) is seen, performance gathering stops until MPI_Pcontrol (1) is seen.
So, only the MPI commands that are seen after line 218 should show up
Case 4. CBTF_START_ENABLED=1 CBTF_DEBUG_MPI_PCONTROL=1 ossmpi "mpirun -np nbody"
Performance information is gathered from the beginning of the program.
If a MPI_Pcontrol(0) is seen, performance gathering stops until MPI_Pcontrol (1) is seen.
If a MPI_Pcontrol(1) is seen, performance gathering continues until a MPI_Pcontrol(0) is seen - when it should stop gathering.
So, every MPI command except for the MPI_Isend and MPI_Irecv should show up.
I am setting OPENSS_ENABLE_MPI_PCONTROL=1 and I have the source code instrumented with // uninteresting region MPI_Pcontrol(1); // interesting region MPI_Pcontrol(0); // uninteresting region but I am still seeing routines from the uninteresting regions in the generated profile.
I (Jim G) have verified that MPI_Pcontrol is currently broken. This is what we expect it to do:
Case 1. ossmpi "mpirun -np nbody" Should see data as it comes out of O|SS normally. All MPI_Pcontrol commands are ignored. Case 2. CBTF_START_ENABLED=1 ossmpi "mpirun -np nbody" Should see data as it comes out of O|SS normally. All MPI_Pcontrol commands are ignored because CBTF_ENABLE_MPI_PCONTROL is not set. Case 3. CBTF_ENABLE_MPI_PCONTROL=1 ossmpi "mpirun -np nbody" No initial gathering occurs and no gathering starts until MPI_Pcontrol(1) is seen. If a MPI_Pcontrol (0) is seen, performance gathering stops until MPI_Pcontrol (1) is seen. So, only the MPI commands that are seen after line 218 should show up
Case 4. CBTF_START_ENABLED=1 CBTF_DEBUG_MPI_PCONTROL=1 ossmpi "mpirun -np nbody" Performance information is gathered from the beginning of the program. If a MPI_Pcontrol(0) is seen, performance gathering stops until MPI_Pcontrol (1) is seen. If a MPI_Pcontrol(1) is seen, performance gathering continues until a MPI_Pcontrol(0) is seen - when it should stop gathering. So, every MPI command except for the MPI_Isend and MPI_Irecv should show up.