141 编写剖析例程

BACKWARD FORWARD


MPICH实现包含一个针对编写包裹的程序。

这个描述将写出每一个被调用的MPI例程:

#ifdef MPI_BUILD_PROFILING
#undef MPI_BUILD_PROFILING
#endif
#include <stdio.h>
#include "mpi.h"

{{fnall fn_name}}
  {{vardecl int llrank}}
  PMPI_Comm_rank( MPI_COMM_WORLD, &llrank );
  printf( "[%d] Starting {{fn_name}}...\n", llrank ); fflush( stdout );
  {{callfn}}
  printf( "[%d] Ending {{fn_name}}\n", llrank ); fflush( stdout );
{{endfnall}}

命令

wrappergen -w trace.w -o trace.c 


将它转换成一个C程序。编译文件trace.c,将结果对象文件插入到你的链接行:

cc -o a.out a.o ... trace.o -lpmpi -lmpi


Copyright: NPACT BACKWARD FORWARD