141 编写剖析例程 |
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 |