diff options
author | Jonathan Kim <jkm@hdfgroup.org> | 2012-09-04 17:00:38 (GMT) |
---|---|---|
committer | Jonathan Kim <jkm@hdfgroup.org> | 2012-09-04 17:00:38 (GMT) |
commit | 0aa8d4d88a7d90cbb841bafacf54d97bc1d7a3f7 (patch) | |
tree | 0df0359ab13df0f84c4d69689007bcae2c9880e4 /src/H5trace.c | |
parent | 3ab17f5e0409b717d9739577f8cc59ce460401bc (diff) | |
download | hdf5-0aa8d4d88a7d90cbb841bafacf54d97bc1d7a3f7.zip hdf5-0aa8d4d88a7d90cbb841bafacf54d97bc1d7a3f7.tar.gz hdf5-0aa8d4d88a7d90cbb841bafacf54d97bc1d7a3f7.tar.bz2 |
[svn-r22735] Purpose:
HDFFV-8143 Provide a routine(s) for telling the user why the library broke collective data access
Description:
Added H5Pget_mpio_no_collective_cause() function that retrive reasons why the collective I/O was broken during Read/Write IO access.
Reasons to break collective I/O:
- SET_INDEPENDENT
- DATATYPE_CONVERSION
- DATA_TRANSFORMS
- MPIPOSIX
- NOT_SIMPLE_OR_SCALAR_DATASPACES (NULL Space)
- POINT_SELECTIONS
- NOT_CONTIGUOUS_OR_CHUNKED_DATASET (Compact or External-Storage)
- FILTERS
Tested:
jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE)
Diffstat (limited to 'src/H5trace.c')
-rw-r--r-- | src/H5trace.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/H5trace.c b/src/H5trace.c index b559669..2dab8ec 100644 --- a/src/H5trace.c +++ b/src/H5trace.c @@ -535,6 +535,60 @@ H5_trace(const double *returning, const char *func, const char *type, ...) } /* end else */ break; + case 'n': + if(ptr) { + if(vp) + fprintf(out, "0x%lx", (unsigned long)vp); + else + fprintf(out, "NULL"); + } /* end if */ + else { + H5D_mpio_no_collective_cause_t nocol_cause_mode = (H5D_mpio_no_collective_cause_t)va_arg(ap, int); + + switch(nocol_cause_mode) { + case H5D_MPIO_COLLECTIVE: + fprintf(out, "H5D_MPIO_COLLECTIVE"); + break; + + case H5D_MPIO_SET_INDEPENDENT: + fprintf(out, "H5D_MPIO_SET_INDEPENDENT"); + break; + + case H5D_MPIO_DATATYPE_CONVERSION: + fprintf(out, "H5D_MPIO_DATATYPE_CONVERSION"); + break; + + case H5D_MPIO_DATA_TRANSFORMS: + fprintf(out, "H5D_MPIO_DATA_TRANSFORMS"); + break; + + case H5D_MPIO_SET_MPIPOSIX: + fprintf(out, "H5D_MPIO_SET_MPIPOSIX"); + break; + + case H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES: + fprintf(out, "H5D_MPIO_NOT_SIMPLE_OR_SCALAR_DATASPACES"); + break; + + case H5D_MPIO_POINT_SELECTIONS: + fprintf(out, "H5D_MPIO_POINT_SELECTIONS"); + break; + + case H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET: + fprintf(out, "H5D_MPIO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET"); + break; + + case H5D_MPIO_FILTERS: + fprintf(out, "H5D_MPIO_FILTERS"); + break; + + default: + fprintf(out, "%ld", (long)nocol_cause_mode); + break; + } /* end switch */ + } /* end else */ + break; + case 'o': if(ptr) { if(vp) |