VT configure fixes:
- patch libtool.m4 to fix detection of PGI 10 C++ compiler - patch configure to fix detection of PGI 10 Fortran compiler (pgfortran) - checks for MPI: - do only check Fortran interoperability if F77 compiler given - do not enable MPI-2 I/O support for LAM/MPI - added configure checks for PMPI_Win_<lock|unlock|test>, because in LAM-MPI these functions are missing - checks for LIBC-I/O tracing: - pass ldd's stderr output to /dev/null VT source fixes: - fixed detection of unique node id on MacOS platforms (use sysctl instead of gethostid) - fixed yet another Coverity warning - fixed compiler warnings on MacOS This commit was SVN r22508.
Этот коммит содержится в:
родитель
86dd1d41af
Коммит
f7822df9b8
@ -2,14 +2,17 @@
|
||||
- updated version of internal OTF to 1.6.5openmpi
|
||||
(see extlib/otf/ChangeLog)
|
||||
- added functions 'MPI_Group_range_<incl|excl>' to Fortran MPI wrappers
|
||||
- added environment variable VT_METRICS_SEP to specify a string which separate
|
||||
the counter names in VT_METRICS
|
||||
- added environment variable VT_METRICS_SEP to specify a string which
|
||||
separate the counter names in VT_METRICS
|
||||
- fixed detection of unique node id on MacOS platforms
|
||||
- fixed support for LAM/MPI
|
||||
- fixed build error: do not add objects from the static version of the
|
||||
BFD library to the shared VT libraries, because the BFD objects might
|
||||
be built without position independent code (PIC)
|
||||
- patched libtool to avoid a bug in detection of the PGI 10 compilers
|
||||
|
||||
5.8openmpi
|
||||
- updated version of internal OTF to 1.6.4stingray
|
||||
- updated version of internal OTF to 1.6.4openmpi
|
||||
(see extlib/otf/ChangeLog)
|
||||
- added support for tracing calls to arbitrary third party libraries
|
||||
The new tool 'vtlibwrapgen' can be used to generate a wrapper library.
|
||||
|
@ -22,11 +22,11 @@ AC_DEFUN([ACVT_LIBC],
|
||||
[
|
||||
AS_IF([test -r "conftest"],
|
||||
[
|
||||
libc_pathname=`ldd conftest | grep "libc\." | \
|
||||
sed -e "s/.*=>//" \
|
||||
-e "s/[[\(].*[\)]]//" \
|
||||
-e "s/[[ ]]//g" \
|
||||
-e "s%^[[^/]].*%%" | \
|
||||
libc_pathname=`ldd conftest 2>/dev/null | grep "libc\." | \
|
||||
sed -e "s/.*=>//" \
|
||||
-e "s/[[\(].*[\)]]//" \
|
||||
-e "s/[[ ]]//g" \
|
||||
-e "s%^[[^/]].*%%" | \
|
||||
head -n1`
|
||||
],
|
||||
[
|
||||
|
@ -152,6 +152,7 @@ AC_DEFUN([ACVT_MPI],
|
||||
MPILIB="-lmpi -llam"
|
||||
PMPILIB="$MPILIB"
|
||||
FMPILIB="-llamf77mpi"
|
||||
check_mpi2_io="no"; have_mpi2_io="no"
|
||||
])
|
||||
])
|
||||
|
||||
@ -652,7 +653,8 @@ dnl check for MPI-2 One-Sided Communications
|
||||
AS_IF([test x"$check_mpi2_1sided" = "xyes"],
|
||||
[
|
||||
AC_CHECK_FUNC([MPI_Get],
|
||||
[AC_CHECK_FUNC([MPI_Put], [have_mpi2_1sided="yes"])])
|
||||
[AC_CHECK_FUNC([MPI_Put], [have_mpi2_1sided="yes"
|
||||
AC_CHECK_FUNCS([PMPI_Win_test PMPI_Win_lock PMPI_Win_unlock])])])
|
||||
AS_IF([test x"$force_mpi2_1sided" = "xyes" -a x"$have_mpi2_1sided" = "xno"], [exit 1])
|
||||
],
|
||||
[
|
||||
@ -687,8 +689,14 @@ dnl check for MPI-2 I/O
|
||||
ACVT_CONF_SUBTITLE([MPI-2 I/O])
|
||||
AS_IF([test x"$check_mpi2_io" = "xyes"],
|
||||
[
|
||||
AC_CHECK_FUNC([MPI_File_open],
|
||||
[AC_CHECK_FUNC([MPI_File_close], [have_mpi2_io="yes"])])
|
||||
AC_CHECK_DECL([LAM_MPI],
|
||||
[
|
||||
AC_MSG_NOTICE([error: MPI-2 I/O isn't supported for LAM/MPI])
|
||||
],
|
||||
[
|
||||
AC_CHECK_FUNC([MPI_File_open],
|
||||
[AC_CHECK_FUNC([MPI_File_close], [have_mpi2_io="yes"])])
|
||||
], [#include "mpi.h"])
|
||||
AS_IF([test x"$force_mpi2_io" = "xyes" -a x"$have_mpi2_io" = "xno"], [exit 1])
|
||||
],
|
||||
[
|
||||
@ -711,22 +719,22 @@ dnl check for Fortran interoperability
|
||||
[
|
||||
ACVT_CONF_SUBTITLE([Fortran interoperability])
|
||||
|
||||
AC_CHECK_PROGS(MPIF77, mpif77 hf77 mpxlf_r mpxlf mpf77 cmpifc mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c)
|
||||
AS_IF([test x"$MPIF77" != x],
|
||||
AS_IF([test x"$F77" != x],
|
||||
[
|
||||
mpif77=`echo $MPIF77 | cut -d ' ' -f 1`
|
||||
which_mpif77=`which $mpif77 2>/dev/null`
|
||||
AS_IF([test x"$which_mpif77" = x], [AC_MSG_ERROR([$mpif77 not found])])
|
||||
|
||||
mpi_bin_dir=`dirname $which_mpif77`
|
||||
AS_IF([test "$mpi_bin_dir" != "/usr/bin"],
|
||||
AC_CHECK_PROGS(MPIF77, mpif77 hf77 mpxlf_r mpxlf mpf77 cmpifc mpif90 mpxlf95_r mpxlf90_r mpxlf95 mpxlf90 mpf90 cmpif90c)
|
||||
AS_IF([test x"$MPIF77" != x],
|
||||
[
|
||||
AS_IF([test x"$FMPIINCDIR" = x],
|
||||
[FMPIINCDIR=-I`echo $mpi_bin_dir | sed -e 's/bin/include/'`])
|
||||
])
|
||||
],
|
||||
[
|
||||
AS_IF([test x"$F77" != x],
|
||||
mpif77=`echo $MPIF77 | cut -d ' ' -f 1`
|
||||
which_mpif77=`which $mpif77 2>/dev/null`
|
||||
AS_IF([test x"$which_mpif77" = x], [AC_MSG_ERROR([$mpif77 not found])])
|
||||
|
||||
mpi_bin_dir=`dirname $which_mpif77`
|
||||
AS_IF([test "$mpi_bin_dir" != "/usr/bin"],
|
||||
[
|
||||
AS_IF([test x"$FMPIINCDIR" = x],
|
||||
[FMPIINCDIR=-I`echo $mpi_bin_dir | sed -e 's/bin/include/'`])
|
||||
])
|
||||
],
|
||||
[
|
||||
MPIF77="$F77"
|
||||
AC_MSG_CHECKING([for mpif.h])
|
||||
@ -745,11 +753,11 @@ EOF
|
||||
fmpiwraplib_error="yes"
|
||||
])
|
||||
rm -f conftest.f conftest.o
|
||||
],
|
||||
[
|
||||
AC_MSG_NOTICE([error: no Fortran 77 compiler command given!])
|
||||
fmpiwraplib_error="yes"
|
||||
])
|
||||
],
|
||||
[
|
||||
AC_MSG_NOTICE([error: no Fortran 77 compiler command given!])
|
||||
fmpiwraplib_error="yes"
|
||||
])
|
||||
|
||||
AS_IF([test x"$check_fc_conv" = "xyes" -a x"$fmpiwraplib_error" = "xno"],
|
||||
|
@ -2,6 +2,7 @@
|
||||
- enforce building position independent code (PIC) for the static
|
||||
version of the OTF library
|
||||
(so it's possible to add these objects to 3rd-party shared libraries)
|
||||
- patched libtool to avoid a bug in detection of the PGI 10 C++ compiler
|
||||
|
||||
1.6.4openmpi
|
||||
- enhanced reading of process group definition records
|
||||
|
@ -68,12 +68,12 @@ int main( int argc, char** argv ) {
|
||||
|
||||
} else if ( 0 == strcmp( argv[i], "--libs" ) ) {
|
||||
|
||||
snprintf( tmp, sizeof(tmp) -1, "-L%s -lotf %s\n",
|
||||
OTFCONFIG_LIBDIR,
|
||||
#ifdef HAVE_ZLIB
|
||||
"-lz" );
|
||||
snprintf( tmp, sizeof(tmp) -1, "-L%s -lotf -lz\n",
|
||||
OTFCONFIG_LIBDIR );
|
||||
#else /* HAVE_ZLIB */
|
||||
"" );
|
||||
snprintf( tmp, sizeof(tmp) -1, "-L%s -lotf\n",
|
||||
OTFCONFIG_LIBDIR );
|
||||
#endif /* HAVE_ZLIB */
|
||||
|
||||
printf( "%s", tmp );
|
||||
|
@ -898,7 +898,7 @@ cleanUp()
|
||||
|
||||
bool error = false;
|
||||
|
||||
uint32_t i;
|
||||
uint32_t i, j;
|
||||
char filename1[STRBUFSIZE];
|
||||
char filename2[STRBUFSIZE];
|
||||
OTF_FileType filetype;
|
||||
@ -929,7 +929,7 @@ cleanUp()
|
||||
//
|
||||
for( i = 0; i < g_vecUnifyCtls.size(); i++ )
|
||||
{
|
||||
for( uint32_t j = 0; j < 4; j++ )
|
||||
for( j = 0; j < 4; j++ )
|
||||
{
|
||||
bool removed = false;
|
||||
|
||||
@ -1038,34 +1038,38 @@ cleanUp()
|
||||
//
|
||||
for( i = 0; i < g_vecUnifyCtls.size(); i++ )
|
||||
{
|
||||
for( uint32_t j = 0; j < 2; j++ )
|
||||
for( j = 0; j < 2; j++ )
|
||||
{
|
||||
OTF_FileType filetype;
|
||||
bool renamed = false;
|
||||
|
||||
if( j == 0 ) filetype = OTF_FILETYPE_EVENT;
|
||||
else filetype = OTF_FILETYPE_STATS;
|
||||
if( j == 0 ) filetype = OTF_FILETYPE_EVENT;
|
||||
else filetype = OTF_FILETYPE_STATS;
|
||||
|
||||
OTF_getFilename( tmp_out_file_prefix.c_str(),
|
||||
g_vecUnifyCtls[i]->streamid,
|
||||
filetype,
|
||||
STRBUFSIZE, filename1 );
|
||||
OTF_getFilename( Params.out_file_prefix.c_str(),
|
||||
g_vecUnifyCtls[i]->streamid,
|
||||
filetype,
|
||||
STRBUFSIZE, filename2 );
|
||||
OTF_getFilename( tmp_out_file_prefix.c_str(),
|
||||
g_vecUnifyCtls[i]->streamid, filetype,
|
||||
STRBUFSIZE, filename1 );
|
||||
OTF_getFilename( Params.out_file_prefix.c_str(),
|
||||
g_vecUnifyCtls[i]->streamid, filetype,
|
||||
STRBUFSIZE, filename2 );
|
||||
|
||||
if( access( filename1, F_OK ) != 0 )
|
||||
{
|
||||
assert( strlen( filename1 ) + 2 + 1 < sizeof( filename1 ) - 1 );
|
||||
assert( strlen( filename2 ) + 2 + 1 < sizeof( filename2 ) - 1 );
|
||||
if( !(renamed = ( rename( filename1, filename2 ) == 0 ) ) )
|
||||
{
|
||||
OTF_getFilename( tmp_out_file_prefix.c_str(),
|
||||
g_vecUnifyCtls[i]->streamid,
|
||||
filetype | OTF_FILECOMPRESSION_COMPRESSED,
|
||||
STRBUFSIZE, filename1 );
|
||||
OTF_getFilename( Params.out_file_prefix.c_str(),
|
||||
g_vecUnifyCtls[i]->streamid,
|
||||
filetype | OTF_FILECOMPRESSION_COMPRESSED,
|
||||
STRBUFSIZE, filename2 );
|
||||
|
||||
// file not found, try '.z' suffix
|
||||
strncat( filename1, ".z", 2 );
|
||||
strncat( filename2, ".z", 2 );
|
||||
}
|
||||
renamed = ( rename( filename1, filename2 ) == 0 );
|
||||
}
|
||||
|
||||
if( rename( filename1, filename2 ) == 0 )
|
||||
VPrint( 2, " Renamed %s to %s\n", filename1, filename2 );
|
||||
if( renamed )
|
||||
{
|
||||
VPrint( 2, " Renamed %s to %s\n", filename1, filename2 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -37,12 +37,8 @@
|
||||
|
||||
#if SIZEOF_LONG == 4
|
||||
# define ATOL8 atoll
|
||||
# define S64STR "lli"
|
||||
# define U64STR "llu"
|
||||
#else
|
||||
# define ATOL8 atol
|
||||
# define S64STR "li"
|
||||
# define U64STR "lu"
|
||||
#endif
|
||||
|
||||
#ifdef VT_MPI
|
||||
|
@ -496,9 +496,9 @@ Definitions::createGlobal( const std::vector<DefRec_Base_struct*> *
|
||||
// start-time
|
||||
//
|
||||
tt = (time_t)(g_uMinStartTimeEpoch / 1e6);
|
||||
snprintf( comment, sizeof( comment ) - 1, " Start: %s (%"U64STR")",
|
||||
snprintf( comment, sizeof( comment ) - 1, " Start: %s (%llu)",
|
||||
asctime(localtime(&tt)),
|
||||
g_uMinStartTimeEpoch );
|
||||
(unsigned long long)g_uMinStartTimeEpoch );
|
||||
p_vecGlobDefs->push_back( new DefRec_DefinitionComment_struct(
|
||||
1,
|
||||
comment ) );
|
||||
@ -506,9 +506,9 @@ Definitions::createGlobal( const std::vector<DefRec_Base_struct*> *
|
||||
// stop-time
|
||||
//
|
||||
tt = (time_t)(g_uMaxStopTimeEpoch / 1e6);
|
||||
snprintf( comment, sizeof( comment ) - 1, " Stop: %s (%"U64STR")",
|
||||
snprintf( comment, sizeof( comment ) - 1, " Stop: %s (%llu)",
|
||||
asctime(localtime(&tt)),
|
||||
g_uMaxStopTimeEpoch );
|
||||
(unsigned long long)g_uMaxStopTimeEpoch );
|
||||
p_vecGlobDefs->push_back( new DefRec_DefinitionComment_struct(
|
||||
2,
|
||||
comment ) );
|
||||
@ -518,11 +518,11 @@ Definitions::createGlobal( const std::vector<DefRec_Base_struct*> *
|
||||
tt = (time_t)((g_uMaxStopTimeEpoch - g_uMinStartTimeEpoch) / 1e6);
|
||||
gmtime_r(&tt, &elapsed_tm);
|
||||
snprintf( comment, sizeof( comment ) - 1,
|
||||
" Elapsed: %s%d:%s%d:%s%d (%"U64STR")",
|
||||
elapsed_tm.tm_hour < 10 ? "0" : "", elapsed_tm.tm_hour,
|
||||
elapsed_tm.tm_min < 10 ? "0" : "", elapsed_tm.tm_min,
|
||||
elapsed_tm.tm_sec < 10 ? "0" : "", elapsed_tm.tm_sec,
|
||||
(g_uMaxStopTimeEpoch - g_uMinStartTimeEpoch) );
|
||||
" Elapsed: %s%d:%s%d:%s%d (%llu)",
|
||||
elapsed_tm.tm_hour < 10 ? "0" : "", elapsed_tm.tm_hour,
|
||||
elapsed_tm.tm_min < 10 ? "0" : "", elapsed_tm.tm_min,
|
||||
elapsed_tm.tm_sec < 10 ? "0" : "", elapsed_tm.tm_sec,
|
||||
(unsigned long long)(g_uMaxStopTimeEpoch - g_uMinStartTimeEpoch) );
|
||||
p_vecGlobDefs->push_back( new DefRec_DefinitionComment_struct(
|
||||
3,
|
||||
comment ) );
|
||||
|
@ -53,12 +53,4 @@
|
||||
# endif /* _SX && _W8 */
|
||||
#endif /* VT_MPI || VT_HYB */
|
||||
|
||||
#if SIZEOF_LONG == 8
|
||||
# define S64STR "li"
|
||||
# define U64STR "lu"
|
||||
#else /* SIZEOF_LONG */
|
||||
# define S64STR "lli"
|
||||
# define U64STR "llu"
|
||||
#endif /* SIZEOF_LONG */
|
||||
|
||||
#endif /* _VT_INTTYPES_H */
|
||||
|
@ -569,7 +569,7 @@ off64_t lseek64(int fd, off64_t offset, int whence)
|
||||
|
||||
VT_IOWRAP_CHECK_TRACING3(fd, offset, whence);
|
||||
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %" S64STR ", %i", fd, offset, whence);
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %lli, %i", fd, (long long)offset, whence);
|
||||
|
||||
VT_IOWRAP_ENTER_IOFUNC();
|
||||
|
||||
@ -745,7 +745,7 @@ ssize_t pread64(int fd, void *buf, size_t count, off64_t offset)
|
||||
|
||||
VT_IOWRAP_CHECK_TRACING4(fd, buf, count, offset);
|
||||
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %zu, %" S64STR, fd, count, offset);
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %zu, %lli", fd, count, (long long)offset);
|
||||
|
||||
VT_IOWRAP_ENTER_IOFUNC();
|
||||
|
||||
@ -772,7 +772,7 @@ ssize_t pwrite64(int fd, const void *buf, size_t count, off64_t offset)
|
||||
|
||||
VT_IOWRAP_CHECK_TRACING4(fd, buf, count, offset);
|
||||
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %zu, %" S64STR, fd, count, offset);
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %zu, %lli", fd, count, (long long)offset);
|
||||
|
||||
VT_IOWRAP_ENTER_IOFUNC();
|
||||
|
||||
@ -963,9 +963,9 @@ int fseeko64(FILE *stream, off64_t offset, int whence)
|
||||
|
||||
VT_IOWRAP_CHECK_TRACING3(stream, offset, whence);
|
||||
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %" S64STR ", %i",
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %lli, %i",
|
||||
stream != NULL ? fileno(stream) : -1,
|
||||
offset, whence);
|
||||
(long long)offset, whence);
|
||||
|
||||
VT_IOWRAP_ENTER_IOFUNC();
|
||||
|
||||
@ -1049,9 +1049,9 @@ int fsetpos64(FILE *stream, const fpos64_t *pos) {
|
||||
VT_IOWRAP_CHECK_TRACING2(stream, pos);
|
||||
|
||||
/*
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %" S64STR,
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i, %lli",
|
||||
stream != NULL ? fileno(stream) : -1,
|
||||
pos->__pos);
|
||||
(long long)pos->__pos);
|
||||
*/
|
||||
/* pos->__pos does not exist on every platform */
|
||||
vt_debug_msg(DBG_IO, stringify(VT_IOWRAP_THISFUNCNAME) ": %i",
|
||||
@ -1595,7 +1595,7 @@ int lockf(int fd, int function, off_t size)
|
||||
uint32_t fid = file->vampir_file_id;
|
||||
if( fid ) {
|
||||
if( ret != 0 ) {
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %" U64STR, time);
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %llu", time);
|
||||
vt_ioend( &time, fid, handleid, ioop | VT_IOFLAG_IOFAILED, (uint64_t)num_bytes );
|
||||
}
|
||||
else {
|
||||
@ -1677,7 +1677,7 @@ int fcntl(int fd, int cmd, ...)
|
||||
uint32_t fid = file->vampir_file_id;
|
||||
if( fid ) {
|
||||
if( ret == -1 ) {
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %" U64STR, time);
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %llu", (unsigned long long)time);
|
||||
vt_ioend( &time, fid, handleid, ioop | VT_IOFLAG_IOFAILED, (uint64_t)num_bytes );
|
||||
}
|
||||
else {
|
||||
|
@ -442,7 +442,7 @@ EXTERN int(*libc_fprintf)(FILE *, const char *, ...);
|
||||
#define VT_IOWRAP_ENTER_IOFUNC() \
|
||||
{ \
|
||||
enter_time = vt_pform_wtime(); \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_enter(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %" U64STR, enter_time); \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_enter(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %llu", (unsigned long long)enter_time); \
|
||||
was_recorded = vt_enter( &enter_time, iofunctions[FUNC_IDX(VT_IOWRAP_THISFUNCNAME)].vt_func_id ); \
|
||||
if( was_recorded ) { \
|
||||
handleid = VTTHRD_IO_NEXT_HANDLEID(VTTHRD_MY_VTTHRD); \
|
||||
@ -471,7 +471,7 @@ EXTERN int(*libc_fprintf)(FILE *, const char *, ...);
|
||||
} \
|
||||
if( fid ) { \
|
||||
if( ERROR_CONDITION ) { \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %" U64STR, time); \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %llu", (unsigned long long)time); \
|
||||
vt_ioend( &time, fid, handleid, ioop | VT_IOFLAG_IOFAILED, (uint64_t)num_bytes ); \
|
||||
} \
|
||||
else { \
|
||||
@ -491,7 +491,7 @@ EXTERN int(*libc_fprintf)(FILE *, const char *, ...);
|
||||
uint32_t ioop = VT_IOWRAP_FUNCTYPE(VT_IOWRAP_THISFUNCNAME); \
|
||||
if( ERROR_CONDITION ) { \
|
||||
uint32_t fid = vt_iofile_id( path ); \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %" U64STR, time); \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %llu", (unsigned long long)time); \
|
||||
vt_ioend( &time, fid, handleid, ioop | VT_IOFLAG_IOFAILED, 0 ); \
|
||||
} \
|
||||
else { \
|
||||
@ -520,7 +520,7 @@ EXTERN int(*libc_fprintf)(FILE *, const char *, ...);
|
||||
fid = file->vampir_file_id; \
|
||||
if( fid ) { \
|
||||
if( ERROR_CONDITION ) { \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %" U64STR, time); \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %llu", (unsigned long long)time); \
|
||||
vt_ioend( &time, fid, handleid, ioop | VT_IOFLAG_IOFAILED, (uint64_t)num_bytes ); \
|
||||
} \
|
||||
else { \
|
||||
@ -544,7 +544,7 @@ EXTERN int(*libc_fprintf)(FILE *, const char *, ...);
|
||||
uint32_t fid = vt_iofile_id(PATH); \
|
||||
if( fid ) { \
|
||||
if( ERROR_CONDITION ) { \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %" U64STR, time); \
|
||||
vt_debug_msg(DBG_VT_CALL, "vt_ioend(" stringify(VT_IOWRAP_THISFUNCNAME) "), stamp %llu", (unsigned long long)time); \
|
||||
vt_ioend( &time, fid, handleid, ioop | VT_IOFLAG_IOFAILED, 0 ); \
|
||||
} \
|
||||
else { \
|
||||
|
@ -3693,6 +3693,8 @@ VT_MPI_INT MPI_Win_wait( MPI_Win win )
|
||||
return result;
|
||||
}
|
||||
|
||||
#if defined(HAVE_PMPI_WIN_TEST) && HAVE_PMPI_WIN_TEST
|
||||
|
||||
/* -- MPI_Win_test -- */
|
||||
|
||||
VT_MPI_INT MPI_Win_test( MPI_Win win, VT_MPI_INT* flag )
|
||||
@ -3738,6 +3740,10 @@ VT_MPI_INT MPI_Win_test( MPI_Win win, VT_MPI_INT* flag )
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif /* HAVE_PMPI_WIN_TEST */
|
||||
|
||||
#if defined(HAVE_PMPI_WIN_LOCK) && HAVE_PMPI_WIN_LOCK
|
||||
|
||||
/* -- MPI_Win_lock -- */
|
||||
|
||||
VT_MPI_INT MPI_Win_lock( VT_MPI_INT lock_type,
|
||||
@ -3775,6 +3781,10 @@ VT_MPI_INT MPI_Win_lock( VT_MPI_INT lock_type,
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif /* HAVE_PMPI_WIN_LOCK */
|
||||
|
||||
#if defined(HAVE_PMPI_WIN_UNLOCK) && HAVE_PMPI_WIN_UNLOCK
|
||||
|
||||
/* -- MPI_Win_unlock -- */
|
||||
|
||||
VT_MPI_INT MPI_Win_unlock( VT_MPI_INT rank,
|
||||
@ -3818,6 +3828,8 @@ VT_MPI_INT MPI_Win_unlock( VT_MPI_INT rank,
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif /* HAVE_PMPI_WIN_UNLOCK */
|
||||
|
||||
#endif /* HAVE_MPI2_1SIDED */
|
||||
|
||||
/*
|
||||
|
@ -306,7 +306,7 @@ void vt_open()
|
||||
|
||||
start_time_epoch = ((uint64_t)tv1.tv_sec * (uint64_t)1000000) +
|
||||
(uint64_t)tv1.tv_usec;
|
||||
vt_def_comment("__STARTTIME__ %"U64STR, start_time_epoch);
|
||||
vt_def_comment("__STARTTIME__ %llu", (unsigned long long)start_time_epoch);
|
||||
}
|
||||
|
||||
#if !(defined(VT_MPI) || defined(VT_HYB))
|
||||
@ -747,7 +747,7 @@ void vt_close()
|
||||
|
||||
stop_time_epoch = ((uint64_t)tv0.tv_sec * (uint64_t)1000000) +
|
||||
(uint64_t)tv0.tv_usec;
|
||||
vt_def_comment("__STOPTIME__ %"U64STR, stop_time_epoch);
|
||||
vt_def_comment("__STOPTIME__ %llu", (unsigned long long)stop_time_epoch);
|
||||
}
|
||||
|
||||
/* close trace files */
|
||||
@ -1369,16 +1369,19 @@ static void vt_write_def_header()
|
||||
if( tmp_uint64 >= (1024*1024*1024) )
|
||||
{
|
||||
tmp_uint64 /= (1024*1024*1024);
|
||||
snprintf(tmp_char, sizeof(tmp_char)-1, "%"U64STR"G", tmp_uint64);
|
||||
snprintf(tmp_char, sizeof(tmp_char)-1, "%lluG",
|
||||
(unsigned long long)tmp_uint64);
|
||||
}
|
||||
else if( tmp_uint64 >= (1024*1024) )
|
||||
{
|
||||
tmp_uint64 /= (1024*1024);
|
||||
snprintf(tmp_char, sizeof(tmp_char)-1, "%"U64STR"M", tmp_uint64);
|
||||
snprintf(tmp_char, sizeof(tmp_char)-1, "%lluM",
|
||||
(unsigned long long)tmp_uint64);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(tmp_char, sizeof(tmp_char)-1, "%"U64STR, tmp_uint64);
|
||||
snprintf(tmp_char, sizeof(tmp_char)-1, "%llu",
|
||||
(unsigned long long)tmp_uint64);
|
||||
}
|
||||
|
||||
vt_def_comment("__VT_COMMENT__ VT_BUFFER_SIZE: %s", tmp_char);
|
||||
|
@ -121,13 +121,11 @@ void vt_pform_init()
|
||||
free(procargs);
|
||||
|
||||
/* get unique numeric SMP-node identifier */
|
||||
hostid_retries = 0;
|
||||
while( !vt_node_id && (hostid_retries++ < VT_MAX_GETHOSTID_RETRIES) ) {
|
||||
vt_node_id = gethostid();
|
||||
}
|
||||
if (!vt_node_id)
|
||||
vt_error_msg("Maximum retries (%i) for gethostid exceeded!",
|
||||
VT_MAX_GETHOSTID_RETRIES);
|
||||
mib[0] = CTL_KERN;
|
||||
mib[1] = KERN_HOSTID;
|
||||
len = sizeof(vt_node_id);
|
||||
if (sysctl(mib, 2, &vt_node_id, &len, NULL, 0) == -1)
|
||||
vt_error_msg("sysctl[KERN_HOSTID] failed: %s", strerror(errno));
|
||||
}
|
||||
|
||||
/* directory of global file system */
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user