50 строки
904 B
D
50 строки
904 B
D
/*
|
|
* Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
/*
|
|
* This script will count the number of times MPI APIs are called. It
|
|
* will print out its results every 10 seconds and then a final count
|
|
* at the end. This script can be used to see that an MPI application
|
|
* is progressing as the number of MPI API calls should be increasing
|
|
* over time. In addition, it is a good way to see a summary of which
|
|
* MPI APIs are used an application.
|
|
*/
|
|
|
|
dtrace:::BEGIN
|
|
{
|
|
i = 2;
|
|
printf("\n\nNumber of times MPI APIs are called in 10 second intervals\n");
|
|
}
|
|
|
|
pid$target:libmpi:MPI_*:entry
|
|
{
|
|
@api[probefunc] = count();
|
|
}
|
|
|
|
profile:::tick-1sec
|
|
/i > 0/
|
|
{
|
|
i--;
|
|
}
|
|
|
|
profile:::tick-1sec
|
|
/i == 0/
|
|
{
|
|
i = 10;
|
|
printa(@api);
|
|
}
|
|
|
|
/*
|
|
* Print out the final results.
|
|
*/
|
|
dtrace:::END
|
|
{
|
|
printa(@api);
|
|
}
|