Compare commits

..

9 Commits

Author SHA1 Message Date
gsell 1c8a5dd0d1 MPIPOSIX removed, this has been removed in hdf5 1.8.13, so we cannot use it any more 2015-06-12 14:49:10 +02:00
gsell 64f8552443 src/h5core/h5b_readwrite.c:
- fix early return in  _select_hyperslab_for_writing()
2015-06-12 14:44:31 +02:00
gsell da1ceec4f5 configure.ac:
- set version to 1.99.14
2015-04-16 18:21:35 +02:00
gsell b12b39dedf src/h5core/h5b_model.c:
- bugfix in serial code of h5b_3d_set_view()
2015-04-16 18:21:09 +02:00
gsell aac94b38e8 version 1.99.13 released 2013-11-22 16:35:13 +01:00
gsell 3e918f8001 ignore file edited 2013-11-22 15:56:23 +01:00
Gsell Achim 0be5518252 option to shift mesh added 2013-11-22 15:54:46 +01:00
gsell 9fa5becf1e ignore file edited 2013-11-15 17:08:09 +01:00
gsell 8d04bca079 libpthread and libdl added to link command (required for serial builds) 2013-11-15 17:07:16 +01:00
10 changed files with 53 additions and 9 deletions
+9
View File
@@ -1,3 +1,11 @@
*.o
*.lo
*.la
*~
*.h5
*.vtk
.deps
.libs
/H5hut /H5hut
/INSTALL /INSTALL
/Makefile /Makefile
@@ -5,6 +13,7 @@
/aclocal.m4 /aclocal.m4
/autom4te.cache /autom4te.cache
/build /build
/compile
/config.guess /config.guess
/config.h /config.h
/config.h.in /config.h.in
+1 -1
View File
@@ -1,4 +1,4 @@
AC_INIT([H5hut], [1.99.12], [h5part@lists.psi.ch], H5hut) AC_INIT([H5hut], [1.99.14], [h5part@lists.psi.ch], H5hut)
AC_PREREQ(2.60) AC_PREREQ(2.60)
AC_CONFIG_HEADERS(config.h) AC_CONFIG_HEADERS(config.h)
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
+2
View File
@@ -925,6 +925,7 @@ hdf5_set_fapl_mpio_property (
HDF5_WRAPPER_RETURN (H5_SUCCESS); HDF5_WRAPPER_RETURN (H5_SUCCESS);
} }
#if H5_VERSION_LE(1,8,12)
static inline h5_err_t static inline h5_err_t
hdf5_set_fapl_mpiposix_property ( hdf5_set_fapl_mpiposix_property (
hid_t fapl_id, hid_t fapl_id,
@@ -942,6 +943,7 @@ hdf5_set_fapl_mpiposix_property (
" the file access property list.")); " the file access property list."));
HDF5_WRAPPER_RETURN (H5_SUCCESS); HDF5_WRAPPER_RETURN (H5_SUCCESS);
} }
#endif
static inline h5_err_t static inline h5_err_t
hdf5_set_dxpl_mpio_property ( hdf5_set_dxpl_mpio_property (
+4 -1
View File
@@ -139,11 +139,14 @@ h5_err_t mpi_init (
TRY (f->access_prop = hdf5_create_property(H5P_FILE_ACCESS)); TRY (f->access_prop = hdf5_create_property(H5P_FILE_ACCESS));
/* select the HDF5 VFD */ /* select the HDF5 VFD */
#if H5_VERSION_LE(1,8,12)
if (f->mode & H5_VFD_MPIPOSIX) { if (f->mode & H5_VFD_MPIPOSIX) {
h5_info("Selecting MPI-POSIX VFD"); h5_info("Selecting MPI-POSIX VFD");
hbool_t use_gpfs = 0; // TODO autodetect GPFS? hbool_t use_gpfs = 0; // TODO autodetect GPFS?
TRY (hdf5_set_fapl_mpiposix_property(f->access_prop, comm, use_gpfs)); TRY (hdf5_set_fapl_mpiposix_property(f->access_prop, comm, use_gpfs));
} else { } else
#endif
{
h5_info("Selecting MPI-IO VFD"); h5_info("Selecting MPI-IO VFD");
TRY (hdf5_set_fapl_mpio_property(f->access_prop, comm, MPI_INFO_NULL)); TRY (hdf5_set_fapl_mpio_property(f->access_prop, comm, MPI_INFO_NULL));
if (f->mode & H5_VFD_INDEPENDENT) { if (f->mode & H5_VFD_INDEPENDENT) {
+4
View File
@@ -292,7 +292,11 @@ h5_set_throttle (
const int factor const int factor
) { ) {
H5_CORE_API_ENTER (h5_err_t, "f=%p, factor=%d", f, factor); H5_CORE_API_ENTER (h5_err_t, "f=%p, factor=%d", f, factor);
#if H5_VERSION_LE(1,8,12)
if ( (f->mode & H5_VFD_INDEPENDENT) || (f->mode & H5_VFD_MPIPOSIX) ) { if ( (f->mode & H5_VFD_INDEPENDENT) || (f->mode & H5_VFD_MPIPOSIX) ) {
#else
if (f->mode & H5_VFD_INDEPENDENT) {
#endif
f->throttle = factor; f->throttle = factor;
h5_info ("Throttling enabled with factor = %d", f->throttle ); h5_info ("Throttling enabled with factor = %d", f->throttle );
} else { } else {
+3 -4
View File
@@ -547,8 +547,8 @@ h5b_3d_set_view (
p->k_end = k_end; p->k_end = k_end;
_normalize_partition(p); _normalize_partition(p);
#ifdef PARALLEL_IO
h5b_fdata_t *b = f->b; h5b_fdata_t *b = f->b;
#ifdef PARALLEL_IO
h5b_partition_t *user_layout; h5b_partition_t *user_layout;
h5b_partition_t *write_layout; h5b_partition_t *write_layout;
@@ -565,7 +565,6 @@ h5b_3d_set_view (
TRY( _dissolve_ghostzones(f, user_layout, write_layout) ); TRY( _dissolve_ghostzones(f, user_layout, write_layout) );
b->user_layout[0] = user_layout[f->myproc]; b->user_layout[0] = user_layout[f->myproc];
b->write_layout[0] = write_layout[f->myproc]; b->write_layout[0] = write_layout[f->myproc];
b->have_layout = 1;
p = b->user_layout; p = b->user_layout;
h5_debug ( h5_debug (
@@ -587,9 +586,9 @@ h5b_3d_set_view (
h5_free(user_layout); h5_free(user_layout);
h5_free(write_layout); h5_free(write_layout);
TRY( h5bpriv_release_hyperslab(f) );
#endif #endif
TRY( h5bpriv_release_hyperslab(f) );
b->have_layout = 1;
H5_CORE_API_RETURN (H5_SUCCESS); H5_CORE_API_RETURN (H5_SUCCESS);
} }
+2 -1
View File
@@ -9,7 +9,8 @@ _select_hyperslab_for_writing (
/* /*
re-use existing hyperslab re-use existing hyperslab
*/ */
if ( f->b->shape >= 0 ) return H5_SUCCESS; if ( f->b->shape >= 0 )
H5_PRIV_FUNC_LEAVE (H5_SUCCESS);
h5b_fdata_t *b = f->b; h5b_fdata_t *b = f->b;
h5b_partition_t *p = b->write_layout; h5b_partition_t *p = b->write_layout;
+2 -1
View File
@@ -28,7 +28,8 @@ extern "C" {
You can also select a "virtual file driver" in the HDF5 layer using: You can also select a "virtual file driver" in the HDF5 layer using:
- H5_VFD_INDEPENDENT: MPI-IO in independent (asynchronous) mode - H5_VFD_INDEPENDENT: MPI-IO in independent (asynchronous) mode
- H5_VFD_MPIPOSIX: parallel I/O implemented directly by HDF5, bypassing MPI-IO - H5_VFD_MPIPOSIX: parallel I/O implemented directly by HDF5, bypassing
MPI-IO (only for hdf5 <= 1.8.12)
\return File handle. \return File handle.
\return NULL on error. \return NULL on error.
+1 -1
View File
@@ -4,7 +4,7 @@ LDFLAGS += -L${abs_top_builddir}/src/lib
LDADD = LDADD =
LDADD += -lH5hut -lvtkIO -lvtkFiltering -lvtkCommon -lvtksys LDADD += -lH5hut -lvtkIO -lvtkFiltering -lvtkCommon -lvtksys -lpthread -ldl
bin_PROGRAMS = bin_PROGRAMS =
+25
View File
@@ -14,9 +14,21 @@
#include "H5hut.h" #include "H5hut.h"
#if !defined (PARALLEL_IO)
#define MPI_Init(argc, argv)
#define MPI_Comm_size(comm, nprocs) { *nprocs = 1; }
#define MPI_Comm_rank(comm, myproc) { *myproc = 0; }
#define MPI_Finalize()
#define MPI_COMM_WORLD (0)
#endif
const char* version = "0.1.0"; const char* version = "0.1.0";
int convert_boundary = 1; int convert_boundary = 1;
int convert_volume = 0; int convert_volume = 0;
double x_shift = 0.0;
double y_shift = 0.0;
double z_shift = 0.0;
const struct option longopts[] = { const struct option longopts[] = {
{"version", no_argument, 0, 'v'}, {"version", no_argument, 0, 'v'},
{"help", no_argument, 0, 'h'}, {"help", no_argument, 0, 'h'},
@@ -24,6 +36,7 @@ const struct option longopts[] = {
{"volume", no_argument, &convert_volume, 1}, {"volume", no_argument, &convert_volume, 1},
{"no-boundary", no_argument, &convert_boundary, 0}, {"no-boundary", no_argument, &convert_boundary, 0},
{"no-volume", no_argument, &convert_volume, 0}, {"no-volume", no_argument, &convert_volume, 0},
{"shift", required_argument, 0, 's'},
{0,0,0,0}, {0,0,0,0},
}; };
@@ -75,6 +88,10 @@ init (
case 'v': case 'v':
print_version (argv[0]); print_version (argv[0]);
break; break;
case 's':
sscanf (optarg, "%lf,%lf,%lf", &x_shift, &y_shift, &z_shift);
cout << "shift = (" << x_shift << ", " << y_shift << ", " << z_shift << ")" << endl;
break;
} }
} }
return argc - optind; return argc - optind;
@@ -106,6 +123,9 @@ convert_vtk2h5grid (
// add point to H5hut mesh // add point to H5hut mesh
double pt[3]; double pt[3];
vtk_grid->GetPoint (pts[i], pt); vtk_grid->GetPoint (pts[i], pt);
pt[0] += x_shift;
pt[1] += y_shift;
pt[2] += z_shift;
H5FedStoreVertex (h5_grid, -1, pt); H5FedStoreVertex (h5_grid, -1, pt);
// map pt index in vtk file to pt index in H5hut file // map pt index in vtk file to pt index in H5hut file
idmap.insert (IdMap::value_type (pts[i], h5_vertex_idx)); idmap.insert (IdMap::value_type (pts[i], h5_vertex_idx));
@@ -145,6 +165,10 @@ main (
int argc, int argc,
char* argv[] char* argv[]
) { ) {
MPI_Init (&argc, &argv);
MPI_Comm comm = MPI_COMM_WORLD;
int comm_size;
MPI_Comm_size (comm,&comm_size);
argc = init (argc, argv); argc = init (argc, argv);
if (argc == 0) { if (argc == 0) {
@@ -200,5 +224,6 @@ main (
} }
H5CloseFile (f); H5CloseFile (f);
} }
MPI_Finalize ();
return 0; return 0;
} }