Commit c11168eb authored by Rob Latham's avatar Rob Latham

merge with trunk


git-svn-id: https://svn.mcs.anl.gov/repos/darshan/branches/more-pnetcdf@312 3b7491f3-a168-0410-bf4b-c445ed680a29
parents ccb11887 b7e1f5d3
......@@ -2,13 +2,26 @@
Darshan Release Change Log
--------------------------
darshan-2.0.0-pre1
==================
* introduce new output file format that is portable across architectures, with
reader-makes-right byte swapping
* enable darshan-job-summary.pl to open output files directly without using
intermediate darshan-parser output
* backwards compatibility to version 1.1.0
darshan-2.0.0
=============
* new output file format that is portable across architectures
NOTE: Darshan 1.x output files are incompatible with the tools in this
release unless they were generated on a ppc32 architecture (Blue Gene)
* 8 new counters that record the rank of the fastest and slowest process that
opened each shared file, along with the number of seconds and number of
bytes consumed by those processes. It also reports the variance in both
time and amount of data.
* new --with-jobid-env configure argument to support recording job identifiers
from different schedulers
* job ID is now recorded within the Darshan log in addition to in the file
name
* darshan-job-summary.pl:
* opens output files directly without using intermediate darshan-parser output
* table showing data usage per file system
* table showing I/O balance in shared files
* Fixes for bugs reported by Noah Watkins:
* avoid name collision in hashing function
* divide by zero error in darshan-job-summary.pl
darshan-1.1.14
==============
......
This diff is collapsed.
......@@ -66,7 +66,9 @@ AC_ARG_WITH(log-path,
)
AC_ARG_WITH(jobid-env,
[ --with-jobid-env=<name> Name of environment variable that stores the jobid ],
[ --with-jobid-env=<name> Name of environment variable that stores the jobid
(specify "NONE" if no appropriate environment variable is available:
Darshan will use rank 0's pid instead)],
if test x$withval = xyes; then
AC_MSG_ERROR(--with-jobid-env must be given a name)
else
......
/* darshan-config.h.in. Generated from configure.in by autoheader. */
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Name of the environment variable that stores the jobid */
#undef CP_JOBID
......@@ -48,18 +51,29 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* The size of a `long int', as computed by sizeof. */
/* The size of `long int', as computed by sizeof. */
#undef SIZEOF_LONG_INT
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
/* Location to store log files at run time */
#undef __CP_LOG_PATH
......
......@@ -182,6 +182,10 @@ enum darshan_indices
CP_ACCESS4_COUNT,
CP_DEVICE, /* device id reported by stat */
CP_SIZE_AT_OPEN,
CP_FASTEST_RANK,
CP_FASTEST_RANK_BYTES,
CP_SLOWEST_RANK,
CP_SLOWEST_RANK_BYTES,
CP_NUM_INDICES,
};
......@@ -203,8 +207,15 @@ enum f_darshan_indices
CP_F_MPI_WRITE_TIME, /* cumulative mpi-io write time */
CP_F_MAX_READ_TIME,
CP_F_MAX_WRITE_TIME,
CP_F_FASTEST_RANK_TIME,
CP_F_SLOWEST_RANK_TIME,
CP_F_VARIANCE_RANK_TIME,
CP_F_VARIANCE_RANK_BYTES,
CP_F_NC_READ_TIME,
CP_F_NC_WRITE_TIME,
CP_F_NUM_INDICES,
};
......
This diff is collapsed.
......@@ -139,6 +139,7 @@ int main(int argc, char **argv)
printf("# CP_ACCESS*_COUNT: count of the four most common access sizes.\n");
printf("# CP_DEVICE: device id reported by stat().\n");
printf("# CP_SIZE_AT_OPEN: size of file when first opened.\n");
printf("# CP_*_RANK_BYTES: fastest, slowest and variance of bytes transfer.\n");
printf("# CP_F_OPEN_TIMESTAMP: timestamp of first open (mpi or posix).\n");
printf("# CP_F_*_START_TIMESTAMP: timestamp of first read/write (mpi or posix).\n");
printf("# CP_F_*_END_TIMESTAMP: timestamp of last read/write (mpi or posix).\n");
......@@ -148,6 +149,7 @@ int main(int argc, char **argv)
printf("# CP_F_POSIX_META_TIME: cumulative time spent in posix open, close, fsync, stat and seek, .\n");
printf("# CP_F_MPI_META_TIME: cumulative time spent in mpi-io open, close, set_view, and sync.\n");
printf("# CP_MAX_*_TIME: duration of the slowest read and write operations.\n");
printf("# CP_*_RANK_TIME: fastest, slowest variance of transfer time.\n");
printf("\n");
......
......@@ -204,7 +204,7 @@ void darshan_shutdown_bench(int argc, char** argv, int rank, int nprocs);
void darshan_walk_file_accesses(struct darshan_job_runtime* final_job);
double darshan_wtime(void);
uint32_t hashlittle(const void *key, size_t length, uint32_t initval);
uint64_t hash(register unsigned char *k, register uint64_t length, register uint64_t level);
uint32_t darshan_hashlittle(const void *key, size_t length, uint32_t initval);
uint64_t darshan_hash(register unsigned char *k, register uint64_t length, register uint64_t level);
#endif /* __DARSHAN_H */
This diff is collapsed.
......@@ -1181,7 +1181,7 @@ struct darshan_file_runtime* darshan_file_by_name(const char* name)
return(&darshan_global_job->file_runtime_array[0]);
}
tmp_hash = hash((void*)name, strlen(name), 0);
tmp_hash = darshan_hash((void*)name, strlen(name), 0);
/* check most recently used */
if(darshan_global_job->darshan_mru_file && darshan_global_job->darshan_mru_file->log_file->hash == tmp_hash)
......
......@@ -253,7 +253,7 @@ uint32_t *pb) /* IN: more seed OUT: secondary hash value */
/*
-------------------------------------------------------------------------------
hashlittle() -- hash a variable-length key into a 32-bit value
darshan_hashlittle() -- hash a variable-length key into a 32-bit value
k : the key (the unaligned variable-length array of bytes)
length : the length of the key, counting by bytes
initval : can be any 4-byte value
......@@ -278,7 +278,7 @@ acceptable. Do NOT use for cryptographic purposes.
-------------------------------------------------------------------------------
*/
uint32_t hashlittle( const void *key, size_t length, uint32_t initval)
uint32_t darshan_hashlittle( const void *key, size_t length, uint32_t initval)
{
uint32_t a,b,c; /* internal state */
union { const void *ptr; size_t i; } u; /* needed for Mac Powerbook G4 */
......
......@@ -54,7 +54,7 @@ This implies that a hash using mix64 has no funnels. There may be
/*
--------------------------------------------------------------------
hash() -- hash a variable-length key into a 64-bit value
darshan_hash() -- hash a variable-length key into a 64-bit value
k : the key (the unaligned variable-length array of bytes)
len : the length of the key, counting by bytes
level : can be any 8-byte value
......@@ -81,7 +81,7 @@ is acceptable. Do NOT use for cryptographic purposes.
--------------------------------------------------------------------
*/
ub8 hash( k, length, level)
ub8 darshan_hash( k, length, level)
const register ub1 *k; /* the key */
register ub8 length; /* the length of the key */
register ub8 level; /* the previous hash, or an arbitrary value */
......@@ -280,7 +280,7 @@ void driver1()
for (i=0; i<256; ++i)
{
h = hash(buf,i,h);
h = darshan_hash(buf,i,h);
}
}
......@@ -318,10 +318,10 @@ void driver2()
/* have a and b be two keys differing in only one bit */
a[i] ^= (k<<j);
a[i] ^= (k>>(8-j));
c[0] = hash(a, hlen, m);
c[0] = darshan_hash(a, hlen, m);
b[i] ^= ((k+1)<<j);
b[i] ^= ((k+1)>>(8-j));
d[0] = hash(b, hlen, m);
d[0] = darshan_hash(b, hlen, m);
/* check every bit is 1, 0, set, and not set at least once */
for (l=0; l<HASHSTATE; ++l)
{
......@@ -374,21 +374,21 @@ void driver3()
ub8 h,i,j,ref,x,y;
printf("Endianness. These should all be the same:\n");
h = hash(q+0, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(q+0, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
h = hash(qq+1, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(qq+1, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
h = hash(qqq+2, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(qqq+2, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
h = hash(qqqq+3, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(qqqq+3, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
h = hash(o+4, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(o+4, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
h = hash(oo+5, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(oo+5, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
h = hash(ooo+6, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(ooo+6, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
h = hash(oooo+7, (ub8)(sizeof(q)-1), (ub8)0);
h = darshan_hash(oooo+7, (ub8)(sizeof(q)-1), (ub8)0);
printf("%.8lx%.8lx\n", (ub4)h, (ub4)(h>>32));
printf("\n");
for (h=0, b=buf+1; h<8; ++h, ++b)
......@@ -399,11 +399,11 @@ void driver3()
for (j=0; j<i; ++j) *(b+j)=0;
/* these should all be equal */
ref = hash(b, len, (ub8)1);
ref = darshan_hash(b, len, (ub8)1);
*(b+i)=(ub1)~0;
*(b-1)=(ub1)~0;
x = hash(b, len, (ub8)1);
y = hash(b, len, (ub8)1);
x = darshan_hash(b, len, (ub8)1);
y = darshan_hash(b, len, (ub8)1);
if ((ref != x) || (ref != y))
{
printf("alignment error: %.8lx %.8lx %.8lx %ld %ld\n",ref,x,y,h,i);
......@@ -424,8 +424,8 @@ void driver3()
printf("These should all be different\n");
for (i=0, h=0; i<8; ++i)
{
h = hash(buf, (ub8)0, h);
printf("%2ld 0-byte strings, hash is %.8lx%.8lx\n", (ub4)i,
h = darshan_hash(buf, (ub8)0, h);
printf("%2ld 0-byte strings, darshan_hash is %.8lx%.8lx\n", (ub4)i,
(ub4)h,(ub4)(h>>32));
}
}
......
Index: lib/darshan-mpi-io.c
===================================================================
--- lib/darshan-mpi-io.c (revision 300)
+++ lib/darshan-mpi-io.c (working copy)
@@ -1538,6 +1538,7 @@
MPI_Aint displacements[CP_MAX_MEM_SEGMENTS];
void* buf;
int failed_write = 0;
+ MPI_Info info;
/* construct data type to describe everything we are writing */
/* NOTE: there may be a bug in MPI-IO when using MPI_BOTTOM with an
@@ -1552,8 +1553,16 @@
MPI_Type_hindexed(count, lengths, displacements, MPI_BYTE, &mtype);
MPI_Type_commit(&mtype);
+ /* EXPERIMENTAL: set up ROMIO hints to use collective buffering with a
+ * single node writing all of the data
+ */
+ MPI_Info_create(&info);
+ MPI_Info_set(info, "romio_cb_write", "enable");
+ MPI_Info_set(info, "cb_nodes", "1");
+
ret = PMPI_File_open(MPI_COMM_WORLD, logfile_name, MPI_MODE_CREATE |
- MPI_MODE_WRONLY | MPI_MODE_EXCL, MPI_INFO_NULL, &fh);
+ MPI_MODE_WRONLY | MPI_MODE_EXCL, info, &fh);
+ MPI_Info_free(&info);
if(ret != MPI_SUCCESS)
{
/* TODO: keep this print or not? */
@@ -1581,6 +1590,7 @@
PMPI_File_close(&fh);
+
/* rename from *.darshan_partial to *-<logwritetime>.darshan.gz */
if(rank == 0)
{
This diff is collapsed.
#!/bin/bash
mkdir -p out
TEST_PROG_DIR=/home/carns/working/darshan-examples
CFLAGS="-g"
LDFLAGS=""
LIBS=""
PATH=/home/carns/working/darshan/install/bin/fast:$PATH
mpicc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpicc.fast
mpixlc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc.fast
mpixlc_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc_r.fast
mpicxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpicxx.fast
mpixlcxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx.fast
mpixlcxx_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx_r.fast
mpif77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif77.fast
mpixlf77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77.fast
mpixlf77_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77_r.fast
mpif90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif90.fast
mpixlf90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90.fast
mpixlf90_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90_r.fast
mpixlf95 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95.fast
mpixlf95_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95_r.fast
mpixlf2003 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003.fast
mpixlf2003_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003_r.fast
CFLAGS="-g"
LDFLAGS="-L/home/carns/working/fpmpi/build/lib"
LIBS="-lfpmpi"
PATH=/home/carns/working/darshan/install/bin/fast:$PATH
mpicc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpicc.fpmpi.fast
mpixlc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc.fpmpi.fast
mpixlc_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc_r.fpmpi.fast
mpicxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpicxx.fpmpi.fast
mpixlcxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx.fpmpi.fast
mpixlcxx_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx_r.fpmpi.fast
LIBS="-lfmpich.cnk -lfpmpi"
mpif77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif77.fpmpi.fast
mpixlf77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77.fpmpi.fast
mpixlf77_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77_r.fpmpi.fast
mpif90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif90.fpmpi.fast
mpixlf90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90.fpmpi.fast
mpixlf90_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90_r.fpmpi.fast
mpixlf95 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95.fpmpi.fast
mpixlf95_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95_r.fpmpi.fast
mpixlf2003 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003.fpmpi.fast
mpixlf2003_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003_r.fpmpi.fast
CFLAGS="-g"
LDFLAGS=""
LIBS=""
PATH=/home/carns/working/darshan/install/bin:$PATH
mpicc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpicc
mpixlc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc
mpixlc_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc_r
mpicxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpicxx
mpixlcxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx
mpixlcxx_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx_r
mpif77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif77
mpixlf77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77
mpixlf77_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77_r
mpif90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif90
mpixlf90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90
mpixlf90_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90_r
mpixlf95 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95
mpixlf95_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95_r
mpixlf2003 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003
mpixlf2003_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003_r
CFLAGS="-g"
LDFLAGS="-L/home/carns/working/fpmpi/build/lib"
LIBS="-lfpmpi"
PATH=/home/carns/working/darshan/install/bin:$PATH
mpicc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpicc.fpmpi
mpixlc $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc.fpmpi
mpixlc_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/mpi-io-test.c $LIBS -o out/mpi-io-test.mpxlc_r.fpmpi
mpicxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpicxx.fpmpi
mpixlcxx $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx.fpmpi
mpixlcxx_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/cxxpi.cxx $LIBS -o out/cxxpi.mpxlcxx_r.fpmpi
LIBS="-lfmpich.cnk -lfpmpi"
mpif77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif77.fpmpi
mpixlf77 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77.fpmpi
mpixlf77_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf77_r.fpmpi
mpif90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpif90.fpmpi
mpixlf90 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90.fpmpi
mpixlf90_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf90_r.fpmpi
mpixlf95 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95.fpmpi
mpixlf95_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf95_r.fpmpi
mpixlf2003 $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003.fpmpi
mpixlf2003_r $CFLAGS $LDFLAGS $TEST_PROG_DIR/fperf.f $LIBS -o out/fperf.mpxlf2003_r.fpmpi
for i in `ls out/`; do echo $i; nm out/$i |grep -c darshan; done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment