51 строка
1.0 KiB
D
51 строка
1.0 KiB
D
/*
|
|
* Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
|
|
* Use is subject to license terms.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
BEGIN
|
|
{
|
|
allocations = 0;
|
|
deallocations = 0;
|
|
prcnt = 0;
|
|
}
|
|
|
|
pid$target:libmpi:MPI_Comm_create:entry,
|
|
pid$target:libmpi:MPI_Comm_dup:entry,
|
|
pid$target:libmpi:MPI_Comm_split:entry
|
|
{
|
|
++allocations;
|
|
@counts[probefunc] = count();
|
|
@stacks[ustack()] = count();
|
|
}
|
|
|
|
pid$target:libmpi:MPI_Comm_free:entry
|
|
{
|
|
++deallocations;
|
|
@counts[probefunc] = count();
|
|
@stacks[ustack()] = count();
|
|
}
|
|
|
|
profile:::tick-1sec
|
|
/++prcnt > 10/
|
|
{
|
|
printf("=====================================================================");
|
|
printa(@counts);
|
|
printf("Communicator Allocations = %d \n", allocations);
|
|
printf("Communicator Deallocations = %d\n", deallocations);
|
|
prcnt = 0;
|
|
}
|
|
|
|
END
|
|
{
|
|
printf("Communicator Allocations = %d, Communicator Deallocations = %d\n",
|
|
allocations, deallocations);
|
|
}
|
|
|
|
|