mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-12 17:31:09 +08:00
[svn-r1881] Changed all the HAVE_PARALLEL and HAVE_GASS macros to the new
form of H5_HAVE_PARALLEL and H5_HAVE_GASS.
This commit is contained in:
parent
36c94d9018
commit
2c7bbf697f
@ -1694,5 +1694,4 @@ H5Zdeflate.lo: \
|
||||
$(srcdir)/H5Zprivate.h \
|
||||
$(srcdir)/H5Zpublic.h \
|
||||
$(srcdir)/H5Fprivate.h \
|
||||
$(srcdir)/H5Fpublic.h \
|
||||
$(srcdir)/H5FDpublic.h
|
||||
$(srcdir)/H5Fpublic.h
|
||||
|
4
src/H5.c
4
src/H5.c
@ -1866,7 +1866,7 @@ H5_trace (hbool_t returning, const char *func, const char *type, ...)
|
||||
fprintf(out, "NULL");
|
||||
}
|
||||
} else {
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
MPI_Comm comm = va_arg (ap, MPI_Comm);
|
||||
fprintf (out, "%ld", (long)comm);
|
||||
#endif
|
||||
@ -1880,7 +1880,7 @@ H5_trace (hbool_t returning, const char *func, const char *type, ...)
|
||||
fprintf(out, "NULL");
|
||||
}
|
||||
} else {
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
MPI_Info info = va_arg (ap, MPI_Info);
|
||||
fprintf (out, "%ld", (long)info);
|
||||
#endif
|
||||
|
@ -462,9 +462,9 @@ H5B_flush(H5F_t *f, hbool_t destroy, haddr_t addr, H5B_t *bt)
|
||||
* bother writing data for the child entries that don't exist or
|
||||
* for the final unchanged children.
|
||||
*/
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /* only p0 will write */
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
if (H5F_block_write(f, addr, (hsize_t)size, H5P_DEFAULT, bt->page)<0) {
|
||||
HRETURN_ERROR(H5E_BTREE, H5E_CANTFLUSH, FAIL,
|
||||
"unable to save B-tree node to disk");
|
||||
|
22
src/H5D.c
22
src/H5D.c
@ -38,7 +38,7 @@ static char RcsId[] = "@(#)$Revision$";
|
||||
#include <H5FDmpio.h>
|
||||
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* Remove this if H5R_DATASET_REGION is no longer used in this file */
|
||||
#include <H5Rpublic.h>
|
||||
#endif
|
||||
@ -902,7 +902,7 @@ H5D_create(H5G_entry_t *loc, const char *name, const H5T_t *type,
|
||||
"unable to locate insertion point");
|
||||
}
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* If MPIO is used, no filter support yet. */
|
||||
if (H5FD_MPIO==f->shared->lf->driver_id &&
|
||||
create_parms->pline.nfilters>0) {
|
||||
@ -1290,7 +1290,7 @@ H5D_open_oid(H5G_entry_t *ent)
|
||||
sizeof(dataset->create_parms->pline));
|
||||
}
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* If MPIO is used, no filter support yet. */
|
||||
if (H5FD_MPIO==dataset->ent.file->shared->lf->driver_id &&
|
||||
dataset->create_parms->pline.nfilters>0){
|
||||
@ -1522,7 +1522,7 @@ H5D_read(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
if (!mem_space) mem_space = file_space;
|
||||
nelmts = H5S_get_select_npoints(mem_space);
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
{
|
||||
/* Collective access is not permissible without the MPIO driver */
|
||||
H5FD_mpio_dxpl_t *dx;
|
||||
@ -1564,7 +1564,7 @@ H5D_read(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL,
|
||||
"unable to convert from file to memory data space");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* rky 980813 This is a temporary KLUGE.
|
||||
* The sconv functions should be set by H5S_find,
|
||||
* or we should use a different way to call the MPI-IO
|
||||
@ -1879,7 +1879,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
assert(mem_type);
|
||||
assert(buf);
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* If MPIO is used, no VL datatype support yet. */
|
||||
/* This is because they use the global heap in the file and we don't */
|
||||
/* support parallel access of that yet */
|
||||
@ -1889,7 +1889,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
"Parallel IO does not support writing VL datatypes yet");
|
||||
}
|
||||
#endif
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* If MPIO is used, no dataset region reference support yet. */
|
||||
/* This is because they use the global heap in the file and we don't */
|
||||
/* support parallel access of that yet */
|
||||
@ -1932,7 +1932,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
if (!mem_space) mem_space = file_space;
|
||||
nelmts = H5S_get_select_npoints(mem_space);
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
{
|
||||
/* Collective access is not permissible without the MPIO driver */
|
||||
H5FD_mpio_dxpl_t *dx;
|
||||
@ -1981,7 +1981,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL,
|
||||
"unable to convert from memory to file data space");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* rky 980813 This is a temporary KLUGE.
|
||||
* The sconv functions should be set by H5S_find,
|
||||
* or we should use a different way to call the MPI-IO
|
||||
@ -2489,7 +2489,7 @@ H5D_init_storage(H5D_t *dset, const H5S_t *space)
|
||||
break;
|
||||
|
||||
case H5D_CHUNKED:
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* If the dataset is accessed via parallel I/O, allocate file space
|
||||
* for all chunks now and initialize each chunk with the fill value.
|
||||
@ -2514,7 +2514,7 @@ H5D_init_storage(H5D_t *dset, const H5S_t *space)
|
||||
"unable to allocate all chunks of dataset");
|
||||
}
|
||||
}
|
||||
#endif /*HAVE_PARALLEL*/
|
||||
#endif /*H5_HAVE_PARALLEL*/
|
||||
break;
|
||||
}
|
||||
ret_value = SUCCEED;
|
||||
|
@ -121,7 +121,7 @@ static herr_t H5F_istore_encode_key(H5F_t *f, H5B_t *bt, uint8_t *raw,
|
||||
void *_key);
|
||||
static herr_t H5F_istore_debug_key(FILE *stream, intn indent, intn fwidth,
|
||||
const void *key, const void *udata);
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
static herr_t H5F_istore_get_addr(H5F_t *f, const H5O_layout_t *layout,
|
||||
const hssize_t offset[],
|
||||
void *_udata/*out*/);
|
||||
@ -1669,7 +1669,7 @@ H5F_istore_read(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
sub_offset_m[i] = chunk_offset[i] + offset_wrt_chunk[i] +
|
||||
offset_m[i] - offset_f[i];
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* If MPIO is used, must bypass the chunk-cache scheme because other
|
||||
* MPI processes could be writing to other elements in the same chunk.
|
||||
@ -1727,7 +1727,7 @@ H5F_istore_read(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
HRETURN_ERROR(H5E_IO, H5E_READERROR, FAIL,
|
||||
"unable to unlock raw data chunk");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1843,7 +1843,7 @@ H5F_istore_write(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
offset_m[i] - offset_f[i];
|
||||
}
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* If MPIO is used, must bypass the chunk-cache scheme because other
|
||||
* MPI processes could be writing to other elements in the same chunk.
|
||||
@ -1902,7 +1902,7 @@ H5F_istore_write(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
HRETURN_ERROR (H5E_IO, H5E_WRITEERROR, FAIL,
|
||||
"uanble to unlock raw data chunk");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2146,7 +2146,7 @@ H5F_istore_debug(H5F_t *f, haddr_t addr, FILE * stream, intn indent,
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
static herr_t
|
||||
H5F_istore_get_addr(H5F_t *f, const H5O_layout_t *layout,
|
||||
const hssize_t offset[], void *_udata/*out*/)
|
||||
@ -2174,7 +2174,7 @@ H5F_istore_get_addr(H5F_t *f, const H5O_layout_t *layout,
|
||||
|
||||
FUNC_LEAVE (FAIL);
|
||||
}
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -2272,7 +2272,7 @@ H5F_istore_allocate(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
* chunk.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* rky 981207 Serialize access to this critical region. */
|
||||
if (SUCCEED!=
|
||||
H5FD_mpio_wait_for_left_neighbor(f->shared->lf)) {
|
||||
@ -2292,7 +2292,7 @@ H5F_istore_allocate(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
HRETURN_ERROR (H5E_IO, H5E_WRITEERROR, FAIL,
|
||||
"uanble to unlock raw data chunk");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
if (SUCCEED!=
|
||||
H5FD_mpio_signal_right_neighbor(f->shared->lf)) {
|
||||
HRETURN_ERROR (H5E_IO, H5E_WRITEERROR, FAIL,
|
||||
@ -2320,7 +2320,7 @@ H5F_istore_allocate(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
if (carry) break;
|
||||
}
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* rky 980923
|
||||
*
|
||||
|
16
src/H5F.c
16
src/H5F.c
@ -83,11 +83,11 @@ H5F_xfer_t H5F_xfer_dflt = {
|
||||
NULL, /*Background buffer or NULL */
|
||||
H5T_BKG_NO, /*Type of background buffer needed */
|
||||
{0.1, 0.5, 0.9}, /*B-tree node splitting ratios */
|
||||
#ifndef HAVE_PARALLEL
|
||||
#ifndef H5_HAVE_PARALLEL
|
||||
1, /*Cache the hyperslab blocks */
|
||||
#else
|
||||
0, /*Don't cache the hyperslab blocks */
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
0, /*No limit on hyperslab block size to cache */
|
||||
NULL, /*Use malloc() for VL data allocations */
|
||||
NULL, /*No information needed for malloc() calls */
|
||||
@ -175,7 +175,7 @@ H5F_init_interface(void)
|
||||
|
||||
FUNC_ENTER(H5F_init_interface, FAIL);
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
{
|
||||
/* Allow MPI buf-and-file-type optimizations? */
|
||||
const char *s = HDgetenv ("HDF5_MPI_1_METAWRITE");
|
||||
@ -206,12 +206,12 @@ H5F_init_interface(void)
|
||||
if ((status=H5FD_SEC2)<0) goto end_registration;
|
||||
if ((status=H5FD_STDIO)<0) goto end_registration;
|
||||
if ((status=H5FD_FAMILY)<0) goto end_registration;
|
||||
#ifdef HAVE_GASS
|
||||
#ifdef H5_HAVE_GASS
|
||||
if ((status=H5FD_GASS)<0) goto end_registration;
|
||||
#endif
|
||||
if ((status=H5FD_CORE)<0) goto end_registration;
|
||||
if ((status=H5FD_MULTI)<0) goto end_registration;
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
if ((status=H5FD_MPIO)<0) goto end_registration;
|
||||
#endif
|
||||
end_registration: ;
|
||||
@ -726,7 +726,7 @@ H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id)
|
||||
f->shared->alignment = fapl->alignment;
|
||||
f->shared->gc_ref = fapl->gc_ref;
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* Disable cache if file is open using MPIO driver. Parallel
|
||||
* does not permit caching. (maybe able to relax it for
|
||||
@ -1726,7 +1726,7 @@ H5F_flush(H5F_t *f, H5F_scope_t scope, hbool_t invalidate,
|
||||
|
||||
} else {
|
||||
/* Write superblock */
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
|
||||
#endif
|
||||
if (H5FD_write(f->shared->lf, H5P_DEFAULT, f->shared->boot_addr,
|
||||
@ -1737,7 +1737,7 @@ H5F_flush(H5F_t *f, H5F_scope_t scope, hbool_t invalidate,
|
||||
|
||||
/* Write driver information block */
|
||||
if (HADDR_UNDEF!=f->shared->driver_addr) {
|
||||
#ifdef HAVE_PARALLLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
|
||||
#endif
|
||||
if (H5FD_write(f->shared->lf, H5P_DEFAULT,
|
||||
|
@ -22,7 +22,7 @@
|
||||
/* The driver identification number, initialized at runtime */
|
||||
static hid_t H5FD_GASS_g = 0;
|
||||
|
||||
#ifdef HAVE_GASS
|
||||
#ifdef H5_HAVE_GASS
|
||||
|
||||
/* File operations */
|
||||
#define OP_UNKNOWN 0
|
||||
@ -354,7 +354,7 @@ H5FD_gass_open(const char *name, unsigned flags, hid_t fapl_id,
|
||||
|
||||
if ((flags & H5F_ACC_CREAT) && (flags & H5F_ACC_RDWR) && (flags & H5F_ACC_EXCL)) {
|
||||
if ((fd = globus_gass_open (filename, O_RDWR|O_TRUNC)) < 0)
|
||||
HRETURN_ERROR(H5E_IO, H5E_CANTOPENFILE, FAIL, "open failed");
|
||||
HRETURN_ERROR(H5E_IO, H5E_CANTOPENFILE, NULL, "open failed");
|
||||
|
||||
}
|
||||
else if ((flags & H5F_ACC_CREAT) && (flags & H5F_ACC_RDWR) && (flags & H5F_ACC_TRUNC)) {
|
||||
@ -675,4 +675,4 @@ H5FD_gass_write(H5FD_t *_file, hid_t dxpl_id/*unused*/, haddr_t addr,
|
||||
FUNC_LEAVE(SUCCEED);
|
||||
}
|
||||
|
||||
#endif /* HAVE_GASS */
|
||||
#endif /* H5_HAVE_GASS */
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#ifdef HAVE_GASS
|
||||
#ifdef H5_HAVE_GASS
|
||||
#define H5FD_GASS (H5FD_gass_init())
|
||||
#else
|
||||
#define H5FD_GASS (-1)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GASS
|
||||
#ifdef H5_HAVE_GASS
|
||||
/* Define the GASS info object. (Will be added to later as more GASS
|
||||
functionality is sought to be exposed. */
|
||||
typedef struct GASS_Info {
|
||||
@ -37,7 +37,7 @@ typedef struct GASS_Info {
|
||||
#endif
|
||||
|
||||
/* Function prototypes */
|
||||
#ifdef HAVE_GASS
|
||||
#ifdef H5_HAVE_GASS
|
||||
hid_t H5FD_gass_init(void);
|
||||
herr_t H5Pset_fapl_gass(hid_t fapl_id, GASS_Info info);
|
||||
herr_t H5Pget_fapl_gass(hid_t fapl_id, GASS_Info *info/*out*/);
|
||||
|
@ -28,14 +28,14 @@
|
||||
#include <H5Pprivate.h> /*property lists */
|
||||
|
||||
/*
|
||||
* The driver identification number, initialized at runtime if HAVE_PARALLEL
|
||||
* The driver identification number, initialized at runtime if H5_HAVE_PARALLEL
|
||||
* is defined. This allows applications to still have the H5FD_MPIO
|
||||
* "constants" in their source code (it also makes this file strictly ANSI
|
||||
* compliant when HAVE_PARALLEL isn't defined)
|
||||
* compliant when H5_HAVE_PARALLEL isn't defined)
|
||||
*/
|
||||
static hid_t H5FD_MPIO_g = 0;
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
@ -1502,4 +1502,4 @@ haddr_to_MPIOff(haddr_t addr, MPI_Offset *mpi_off/*out*/)
|
||||
|
||||
FUNC_LEAVE(ret_value);
|
||||
}
|
||||
#endif /*HAVE_PARALLEL*/
|
||||
#endif /*H5_HAVE_PARALLEL*/
|
||||
|
@ -140,7 +140,7 @@ H5F_arr_read(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
haddr_t addr; /*address in file */
|
||||
intn i, j; /*counters */
|
||||
hbool_t carray; /*carry for subtraction */
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_xfer_t xfer_mode=H5FD_MPIO_INDEPENDENT;
|
||||
#endif
|
||||
|
||||
@ -158,7 +158,7 @@ H5F_arr_read(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
/* Make a local copy of size so we can modify it */
|
||||
H5V_vector_cpy(layout->ndims, hslab_size, _hslab_size);
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
{
|
||||
/* Get the transfer mode */
|
||||
H5F_xfer_t *dxpl;
|
||||
@ -171,7 +171,7 @@ H5F_arr_read(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* Collective MPIO access is unsupported for non-contiguous datasets */
|
||||
if (H5D_CONTIGUOUS!=layout->type && H5FD_MPIO_COLLECTIVE==xfer_mode) {
|
||||
HRETURN_ERROR (H5E_DATASET, H5E_READERROR, FAIL,
|
||||
@ -245,7 +245,7 @@ H5F_arr_read(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
* Now begin to walk through the array, copying data from disk to
|
||||
* memory.
|
||||
*/
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
if (H5FD_MPIO_COLLECTIVE==xfer_mode){
|
||||
/*
|
||||
* Currently supports same number of collective access. Need to
|
||||
@ -380,7 +380,7 @@ H5F_arr_write(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
haddr_t addr; /*address in file */
|
||||
intn i, j; /*counters */
|
||||
hbool_t carray; /*carry for subtraction */
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_xfer_t xfer_mode=H5FD_MPIO_INDEPENDENT;
|
||||
#endif
|
||||
|
||||
@ -398,7 +398,7 @@ H5F_arr_write(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
/* Make a local copy of _size so we can modify it */
|
||||
H5V_vector_cpy(layout->ndims, hslab_size, _hslab_size);
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
{
|
||||
/* Get the transfer mode */
|
||||
H5F_xfer_t *dxpl;
|
||||
@ -411,7 +411,7 @@ H5F_arr_write(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
if (H5D_CONTIGUOUS!=layout->type && H5FD_MPIO_COLLECTIVE==xfer_mode) {
|
||||
HRETURN_ERROR (H5E_DATASET, H5E_WRITEERROR, FAIL,
|
||||
"collective access on non-contiguous datasets not "
|
||||
@ -488,7 +488,7 @@ H5F_arr_write(H5F_t *f, hid_t dxpl_id, const struct H5O_layout_t *layout,
|
||||
* Now begin to walk through the array, copying data from memory to
|
||||
* disk.
|
||||
*/
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
if (H5FD_MPIO_COLLECTIVE==xfer_mode){
|
||||
/*
|
||||
* Currently supports same number of collective access. Need to
|
||||
|
@ -121,7 +121,7 @@ static herr_t H5F_istore_encode_key(H5F_t *f, H5B_t *bt, uint8_t *raw,
|
||||
void *_key);
|
||||
static herr_t H5F_istore_debug_key(FILE *stream, intn indent, intn fwidth,
|
||||
const void *key, const void *udata);
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
static herr_t H5F_istore_get_addr(H5F_t *f, const H5O_layout_t *layout,
|
||||
const hssize_t offset[],
|
||||
void *_udata/*out*/);
|
||||
@ -1669,7 +1669,7 @@ H5F_istore_read(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
sub_offset_m[i] = chunk_offset[i] + offset_wrt_chunk[i] +
|
||||
offset_m[i] - offset_f[i];
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* If MPIO is used, must bypass the chunk-cache scheme because other
|
||||
* MPI processes could be writing to other elements in the same chunk.
|
||||
@ -1727,7 +1727,7 @@ H5F_istore_read(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
HRETURN_ERROR(H5E_IO, H5E_READERROR, FAIL,
|
||||
"unable to unlock raw data chunk");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1843,7 +1843,7 @@ H5F_istore_write(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
offset_m[i] - offset_f[i];
|
||||
}
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* If MPIO is used, must bypass the chunk-cache scheme because other
|
||||
* MPI processes could be writing to other elements in the same chunk.
|
||||
@ -1902,7 +1902,7 @@ H5F_istore_write(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
HRETURN_ERROR (H5E_IO, H5E_WRITEERROR, FAIL,
|
||||
"uanble to unlock raw data chunk");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2146,7 +2146,7 @@ H5F_istore_debug(H5F_t *f, haddr_t addr, FILE * stream, intn indent,
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
static herr_t
|
||||
H5F_istore_get_addr(H5F_t *f, const H5O_layout_t *layout,
|
||||
const hssize_t offset[], void *_udata/*out*/)
|
||||
@ -2174,7 +2174,7 @@ H5F_istore_get_addr(H5F_t *f, const H5O_layout_t *layout,
|
||||
|
||||
FUNC_LEAVE (FAIL);
|
||||
}
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
@ -2272,7 +2272,7 @@ H5F_istore_allocate(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
* chunk.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* rky 981207 Serialize access to this critical region. */
|
||||
if (SUCCEED!=
|
||||
H5FD_mpio_wait_for_left_neighbor(f->shared->lf)) {
|
||||
@ -2292,7 +2292,7 @@ H5F_istore_allocate(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
HRETURN_ERROR (H5E_IO, H5E_WRITEERROR, FAIL,
|
||||
"uanble to unlock raw data chunk");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
if (SUCCEED!=
|
||||
H5FD_mpio_signal_right_neighbor(f->shared->lf)) {
|
||||
HRETURN_ERROR (H5E_IO, H5E_WRITEERROR, FAIL,
|
||||
@ -2320,7 +2320,7 @@ H5F_istore_allocate(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
|
||||
if (carry) break;
|
||||
}
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* rky 980923
|
||||
*
|
||||
|
@ -414,9 +414,9 @@ __DLLVAR__ H5F_access_t H5F_access_dflt;
|
||||
__DLLVAR__ H5F_xfer_t H5F_xfer_dflt;
|
||||
__DLLVAR__ const H5F_mprop_t H5F_mount_dflt;
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
__DLLVAR__ hbool_t H5_mpi_1_metawrite_g;
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
/* Private functions, not part of the publicly documented API */
|
||||
__DLL__ herr_t H5F_init(void);
|
||||
|
@ -356,9 +356,9 @@ H5G_node_flush(H5F_t *f, hbool_t destroy, haddr_t addr, H5G_node_t *sym)
|
||||
H5G_ent_encode_vec(f, &p, sym->entry, sym->nsyms);
|
||||
HDmemset(p, 0, size - (p - buf));
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
status = H5F_block_write(f, addr, (hsize_t)size, H5P_DEFAULT, buf);
|
||||
buf = H5MM_xfree(buf);
|
||||
if (status < 0)
|
||||
|
12
src/H5HL.c
12
src/H5HL.c
@ -379,9 +379,9 @@ H5HL_flush(H5F_t *f, hbool_t destroy, haddr_t addr, H5HL_t *heap)
|
||||
hdr_end_addr = addr + (hsize_t)H5HL_SIZEOF_HDR(f);
|
||||
if (H5F_addr_eq(heap->addr, hdr_end_addr)) {
|
||||
/* The header and data are contiguous */
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame( f->shared->lf, TRUE ); /* only p0 writes */
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
if (H5F_block_write(f, addr,
|
||||
(hsize_t)(H5HL_SIZEOF_HDR(f)+heap->disk_alloc),
|
||||
H5P_DEFAULT, heap->chunk) < 0) {
|
||||
@ -389,17 +389,17 @@ H5HL_flush(H5F_t *f, hbool_t destroy, haddr_t addr, H5HL_t *heap)
|
||||
"unable to write heap header and data to file");
|
||||
}
|
||||
} else {
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame( f->shared->lf, TRUE ); /* only p0 writes */
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
if (H5F_block_write(f, addr, (hsize_t)H5HL_SIZEOF_HDR(f),
|
||||
H5P_DEFAULT, heap->chunk)<0) {
|
||||
HRETURN_ERROR(H5E_HEAP, H5E_WRITEERROR, FAIL,
|
||||
"unable to write heap header to file");
|
||||
}
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame( f->shared->lf, TRUE ); /* only p0 writes */
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
if (H5F_block_write(f, heap->addr, (hsize_t)(heap->disk_alloc),
|
||||
H5P_DEFAULT,
|
||||
heap->chunk + H5HL_SIZEOF_HDR(f)) < 0) {
|
||||
|
@ -556,9 +556,9 @@ H5O_flush(H5F_t *f, hbool_t destroy, haddr_t addr, H5O_t *oh)
|
||||
HDmemset (p, 0, H5O_SIZEOF_HDR(f)-12);
|
||||
|
||||
/* write the object header header */
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 will write*/
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
if (H5F_block_write(f, addr, (hsize_t)H5O_SIZEOF_HDR(f),
|
||||
H5P_DEFAULT, buf) < 0) {
|
||||
HRETURN_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL,
|
||||
@ -632,9 +632,9 @@ H5O_flush(H5F_t *f, hbool_t destroy, haddr_t addr, H5O_t *oh)
|
||||
for (i = 0; i < oh->nchunks; i++) {
|
||||
if (oh->chunk[i].dirty) {
|
||||
assert(H5F_addr_defined(oh->chunk[i].addr));
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
H5FD_mpio_tas_allsame(f->shared->lf, TRUE); /*only p0 write*/
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
if (H5F_block_write(f, oh->chunk[i].addr,
|
||||
(hsize_t)(oh->chunk[i].size),
|
||||
H5P_DEFAULT, oh->chunk[i].image) < 0) {
|
||||
|
@ -39,7 +39,7 @@ static H5S_conv_t **H5S_conv_g = NULL;
|
||||
static size_t H5S_aconv_g = 0; /*entries allocated*/
|
||||
static size_t H5S_nconv_g = 0; /*entries used*/
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* Global var whose value comes from environment variable */
|
||||
hbool_t H5_mpi_opt_types_g = FALSE;
|
||||
#endif
|
||||
@ -77,7 +77,7 @@ H5S_init_interface(void)
|
||||
"unable to register one or more conversion functions");
|
||||
}
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
{
|
||||
/* Allow MPI buf-and-file-type optimizations? */
|
||||
const char *s = HDgetenv ("HDF5_MPI_OPT_TYPES");
|
||||
|
@ -17,10 +17,10 @@
|
||||
|
||||
#include <H5FDmpio.h> /*the MPIO file driver */
|
||||
|
||||
#ifndef HAVE_PARALLEL
|
||||
#ifndef H5_HAVE_PARALLEL
|
||||
/*
|
||||
* The H5S_mpio_xxxx functions are for parallel I/O only and are
|
||||
* valid only when HAVE_PARALLEL is #defined. This empty #ifndef
|
||||
* valid only when H5_HAVE_PARALLEL is #defined. This empty #ifndef
|
||||
* body is used to allow this source file be included in the serial
|
||||
* distribution.
|
||||
* Some compilers/linkers may complain about "empty" object file.
|
||||
@ -28,7 +28,7 @@
|
||||
* them.
|
||||
*/
|
||||
/* const hbool_t H5S_mpio_avail = FALSE; */
|
||||
#else /* HAVE_PARALLEL */
|
||||
#else /* H5_HAVE_PARALLEL */
|
||||
/* Interface initialization */
|
||||
#define PABLO_MASK H5Sall_mask
|
||||
#define INTERFACE_INIT NULL
|
||||
@ -698,4 +698,4 @@ H5S_mpio_spaces_write(H5F_t *f, const struct H5O_layout_t *layout,
|
||||
FUNC_LEAVE (ret_value);
|
||||
}
|
||||
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
@ -411,7 +411,7 @@ __DLL__ herr_t H5S_none_select_deserialize(H5S_t *space, const uint8_t *buf);
|
||||
__DLL__ herr_t H5S_none_select_iterate(void *buf, hid_t type_id, H5S_t *space,
|
||||
H5D_operator_t op, void *operator_data);
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
#ifdef H5_HAVE_PARALLEL
|
||||
/* MPI-IO function to read directly from app buffer to file rky980813 */
|
||||
__DLL__ herr_t H5S_mpio_spaces_read(H5F_t *f,
|
||||
const struct H5O_layout_t *layout,
|
||||
@ -436,6 +436,6 @@ __DLL__ herr_t H5S_mpio_spaces_write(H5F_t *f,
|
||||
__DLLVAR__ hbool_t H5_mpi_opt_types_g;
|
||||
#endif /* _H5S_IN_H5S_C */
|
||||
|
||||
#endif /* HAVE_PARALLEL */
|
||||
#endif /* H5_HAVE_PARALLEL */
|
||||
|
||||
#endif /* _H5Sprivate_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user