My favorites | Sign in
Project Home Downloads Wiki Issues Source Code Search
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 422: How do use gperftools to profile mpi program?
3 people starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Reported by niuqingp...@gmail.com, Apr 2, 2012
What steps will reproduce the problem?
1. mpicc -o t.x t.c -g
2. mpirun_rsh --hostfile=hfile -n 2 LD_PRELOAD=/home/niuq/tools/gperftools-2.0/gcc-build/lib/libtcmalloc.so HEAPPROFILE=./tprofile ./t.x
3. I can get tprofile.0004.heap  tprofile.0017.heap  tprofile.0030.heap but the thing is there not each processor seperate heap file. We can not distinguish which processor heap file comes from?
What is the expected output? What do you see instead?
Expected heap file seperately for each mpi processor. 

What version of the product are you using? On what operating system?
niuq@node020:~/code$ uname -a
Linux node020.cluster 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
gperftools-2.0


Please provide any additional information below.

niuq@node020:~/code$ cat t.c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <string.h> 
#include <mpi.h> 
int main(int argc, char *argv[]) { 
    MPI_Init(&argc,&argv);
    int myrank;
    MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
    if(myrank==1)
    {
        size_t x=sizeof(int);
        printf( "size = %lu\n", x ); 
        int i;
        for(i=0;i<10000000;i++)
        {
            unsigned long s=100;
            int* sum=(int*)malloc(s*sizeof(int));
            int k;
            for(k=1;k<s;k++) sum[k]=sum[k-1]+5;
        }
    }
    MPI_Finalize();
    return 0;
} 

mpicc -o t.x t.c -g


May 4, 2012
Project Member #1 chapp...@gmail.com
Waiting on further comment. We had a possible solution over an email chat but it turns out that it doesn't cover all MPI implementations.
Sign in to add a comment

Powered by Google Project Hosting