This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via c4269da24a74fbaa264a5954e5020033ae625b06 (commit) via f4814818573468a0bafc5d9fa5a6e5959548e6c2 (commit) via 36853bb77d2b0cd9b947ca24f476c2004c8116b0 (commit) via 19ce8407a64b76e1243b03fd50867b3a246c76d9 (commit) via f273a6ffafb2e63367a27d545bee3d12d7013091 (commit) via 53f11fd73b2f9aa7b994e78ed05e9ae74264c63f (commit) via 832b94d1f22aa979fe680177579cac87c0d42d25 (commit) via 85e0250e830ed6e018cc894b8b7cf92d4002fc7f (commit) via 102e9ead83ceb9a33aaa5d695e6eb8518721ed7a (commit) via 52937c7bde679da4a500799bfc7d2f9892f9dbcd (commit) via fa20c7c068e4f229ac2173181d8bf6e6ab0623f0 (commit) from 6f6e2dccc70fb7835275524e866f48357de81dab (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/c4269da24a74fbaa264a5954e5020033ae... commit c4269da24a74fbaa264a5954e5020033ae625b06 Author: Rob Latham <[email protected]> Date: Tue Mar 4 16:38:35 2014 -0600 request newer features for pread/pwrite Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c b/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c index 3dfdb48..fc4fd89 100644 --- a/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c +++ b/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c @@ -8,6 +8,9 @@ * Copyright (C) 2008 Sun Microsystems, Lustre group */ +#define _XOPEN_SOURCE 500 +#include <unistd.h> + #include <stdlib.h> #include <malloc.h> #include "ad_lustre.h" http://git.mpich.org/mpich.git/commitdiff/f4814818573468a0bafc5d9fa5a6e59595... commit f4814818573468a0bafc5d9fa5a6e5959548e6c2 Author: Rob Latham <[email protected]> Date: Tue Mar 4 16:35:37 2014 -0600 fix PVFS2 compile error with hint processing I have the PVFS/Orangefs headers on my system now, so problems like this will stop happening. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_hints.c b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_hints.c index 217a223..4752206 100644 --- a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_hints.c +++ b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_hints.c @@ -85,27 +85,27 @@ void ADIOI_PVFS2_SetInfo(ADIO_File fd, MPI_Info users_info, int *error_code) /* POSIX read */ ADIOI_Info_check_and_install_enabled(fd, users_info, "romio_pvfs2_posix_read", - &(fd->hints->pvfs2.posix_read), myname, error_code); + &(fd->hints->fs_hints.pvfs2.posix_read), myname, error_code); /* POSIX write */ ADIOI_Info_check_and_install_enabled(fd, users_info, "romio_pvfs2_posix_write", - &(fd->hints->pvfs2.posix_write), myname, error_code); + &(fd->hints->fs_hints.pvfs2.posix_write), myname, error_code); /* Datatype read */ ADIOI_Info_check_and_install_enabled(fd, users_info, "romio_pvfs2_dtype_read", - &(fd->hints->pvfs2.dtype_read), myname, error_code); + &(fd->hints->fs_hints.pvfs2.dtype_read), myname, error_code); /* Datatype write */ ADIOI_Info_check_and_install_enabled(fd, users_info, "romio_pvfs2_dtype_write", - &(fd->hints->pvfs2.dtype_write), myname, error_code); + &(fd->hints->fs_hints.pvfs2.dtype_write), myname, error_code); /* Listio read */ ADIOI_Info_check_and_install_enabled(fd, users_info, "romio_pvfs2_listio_read", - &(fd->hints->pvfs2.listio_read), myname, error_code); + &(fd->hints->fs_hints.pvfs2.listio_read), myname, error_code); /* Datatype write */ ADIOI_Info_check_and_install_enabled(fd, users_info, "romio_pvfs2_listio_write", - &(fd->hints->pvfs2.listio_write), myname, error_code); + &(fd->hints->fs_hints.pvfs2.listio_write), myname, error_code); ADIOI_Free(value); } } http://git.mpich.org/mpich.git/commitdiff/36853bb77d2b0cd9b947ca24f476c2004c... commit 36853bb77d2b0cd9b947ca24f476c2004c8116b0 Author: Rob Latham <[email protected]> Date: Tue Mar 4 16:15:13 2014 -0600 incorrect header guards Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_common.h b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_common.h index 453e233..f63f84a 100644 --- a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_common.h +++ b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_common.h @@ -5,8 +5,8 @@ * See COPYRIGHT notice in top-level directory. */ -#ifndef _AD_PVFS2_h -#define _AD_PVFS2_H +#ifndef _AD_PVFS2_COMMON_H +#define _AD_PVFS2_COMMON_H #include "ad_pvfs2.h" /* useful values: http://git.mpich.org/mpich.git/commitdiff/19ce8407a64b76e1243b03fd50867b3a24... commit 19ce8407a64b76e1243b03fd50867b3a246c76d9 Author: Rob Latham <[email protected]> Date: Fri Feb 28 13:26:23 2014 -0600 OpenMPI re-sync: remove unneeded end-of-script stuff ROMIO is rarely built standalone, and anyway in 2014 one should need no prompting to "type make". Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/configure.ac b/src/mpi/romio/configure.ac index 7791545..0b1adbb 100644 --- a/src/mpi/romio/configure.ac +++ b/src/mpi/romio/configure.ac @@ -1827,11 +1827,5 @@ AC_CONFIG_FILES([ ]) AC_OUTPUT -# -rm -f *.o - -if test $FROM_MPICH = no ; then - AC_MSG_RESULT([Configure done. Now type make.]) -fi dnl PAC_SUBDIR_CACHE_CLEANUP exit 0 http://git.mpich.org/mpich.git/commitdiff/f273a6ffafb2e63367a27d545bee3d12d7... commit f273a6ffafb2e63367a27d545bee3d12d7013091 Author: Rob Latham <[email protected]> Date: Fri Feb 28 13:24:35 2014 -0600 OpenMPI resync: teach ROMIO about OpenMPI option Drive down the differences between OpenMPI's ROMIO and "upstream" ROMIO (us) by teaching ROMIO what to do if it might be part of OpenMPI. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/configure.ac b/src/mpi/romio/configure.ac index 4ad6be9..7791545 100644 --- a/src/mpi/romio/configure.ac +++ b/src/mpi/romio/configure.ac @@ -90,6 +90,10 @@ AC_ARG_VAR([FROM_LAM],[set to "yes" if building ROMIO inside of LAM]) FROM_LAM=${FROM_LAM:-no} if test "$FROM_LAM" = 1 ; then FROM_LAM=yes ; fi +AC_ARG_VAR([FROM_OMPI],[set to "yes" if building ROMIO inside of Open MPI]) +FROM_OMPI=${FROM_OMPI:-no} +if test "$FROM_OMPI" = 1 ; then FROM_OMPI=yes ; fi + CFLAGS=${CFLAGS:-""} LL="lld" AR_LOCAL="" @@ -130,7 +134,7 @@ TEST_F77="" # have_aio=no # -known_mpi_impls="mpich_mpi mpich_mpi sgi_mpi hp_mpi cray_mpi lam_mpi" +known_mpi_impls="mpich_mpi mpich_mpi sgi_mpi hp_mpi cray_mpi lam_mpi open_mpi_mpi" dnl An m4 macro for use with m4_foreach_w and friends. You should modify this dnl list if you want to add a known file system. The list is just whitespace @@ -269,11 +273,17 @@ AC_SUBST(htmldir) # If we are building within a known MPI implementation, we must avoid the # tests about an existing implementation -if test "$FROM_MPICH" != no -o "$FROM_LAM" != no ; then +if test "$FROM_MPICH" != no -o "$FROM_LAM" != no -o "$FROM_OMPI" != no ; then WITHIN_KNOWN_MPI_IMPL=yes else WITHIN_KNOWN_MPI_IMPL=no fi + +# Open MPI: Set the MPI implementation +if test "$FROM_OMPI" = "yes" ; then + MPI_IMPL=open_mpi +fi + # check for valid MPI implementation if test -n "$MPI_IMPL" ; then found=no @@ -1501,7 +1511,28 @@ fi # TEST_LIBNAME=$LIBNAME MPIRUN=mpirun -if test $FROM_LAM = yes ; then +if test $FROM_OMPI = yes ; then + # Open MPI does have the status set bytes functionality + + AC_DEFINE(HAVE_STATUS_SET_BYTES,1,[Define if have MPIR_Status_set_bytes]) + + # Used in the tests/ subdirectory for after ROMIO is built + + TEST_CC=mpicc + TEST_F77=mpif77 + MPIRUN=mpirun + MPI_LIB= + NOPROFILE=1 + ROMIO_INCLUDE= + USER_CFLAGS= + USER_FFLAGS= + TEST_LIBNAME= + AC_DEFINE(HAVE_MPI_DARRAY_SUBARRAY,1,[Define if Darray is available]) + HAVE_MPI_DARRAY_SUBARRAY="#define HAVE_MPI_DARRAY_SUBARRAY" + # Open MPI: see comments in mpi-io/mpioprof.h + AC_DEFINE(MPIO_BUILD_PROFILING, 1, [hack to make ROMIO build without profiling]) + DEFINE_HAVE_MPI_GREQUEST="#define HAVE_MPI_GREQUEST" +elif test $FROM_LAM = yes ; then # LAM does have the status set bytes functionality AC_DEFINE(HAVE_STATUS_SET_BYTES,1,[Define if have MPIR_Status_set_bytes]) @@ -1623,11 +1654,14 @@ EXTRA_SRC_DIRS="" mpio_glue="" if test "$FROM_MPICH" = yes -o "${MPI_IMPL}_mpi" = "mpich_mpi"; then mpio_glue=mpich +elif test "$FROM_OMPI" = yes -o "${MPI_IMPL}_mpi" = "open_mpi_mpi" ; then + mpio_glue=openmpi else mpio_glue=default fi AM_CONDITIONAL([MPIO_GLUE_MPICH],[test "X$mpio_glue" = "Xmpich"]) +AM_CONDITIONAL([MPIO_GLUE_OPENMPI],[test "X$mpio_glue" = "Xopenmpi"]) AM_CONDITIONAL([MPIO_GLUE_DEFAULT],[test "X$mpio_glue" = "Xdefault"]) if test "$BUILD_MPI_INFO" = 1 ; then diff --git a/src/mpi/romio/mpi-io/glue/openmpi/Makefile.mk b/src/mpi/romio/mpi-io/glue/openmpi/Makefile.mk new file mode 100644 index 0000000..ab7c150 --- /dev/null +++ b/src/mpi/romio/mpi-io/glue/openmpi/Makefile.mk @@ -0,0 +1,13 @@ +## -*- Mode: Makefile; -*- +## vim: set ft=automake : +## +## (C) 2011 by Argonne National Laboratory. +## See COPYRIGHT in top-level directory. +## + +if MPIO_GLUE_OPENMPI +romio_other_sources += \ + mpi-io/glue/openmpi/mpio_file.c \ + mpi-io/glue/openmpi/mpio_err.c +endif MPIO_GLUE_OPENMPI + diff --git a/src/mpi/romio/mpi-io/glue/openmpi/mpio_err.c b/src/mpi/romio/mpi-io/glue/openmpi/mpio_err.c new file mode 100644 index 0000000..2dddaee --- /dev/null +++ b/src/mpi/romio/mpi-io/glue/openmpi/mpio_err.c @@ -0,0 +1,52 @@ +/* -*- Mode: C; c-basic-offset:4 ; -*- */ +/* + * Copyright (C) 2004 University of Chicago. + * See COPYRIGHT notice in top-level directory. + */ + +#include <stdarg.h> +#include <stdio.h> + +#include "mpioimpl.h" +#include "adio_extern.h" + +/* Default error handling implementation. + * + * Note that only MPI_ERRORS_ARE_FATAL and MPI_ERRORS_RETURN are + * handled correctly; other handlers cause an abort. + */ + +int MPIO_Err_create_code(int lastcode, int fatal, const char fcname[], + int line, int error_class, const char generic_msg[], + const char specific_msg[], ...) +{ + va_list Argp; + int idx = 0; + char *buf; + + buf = (char *) ADIOI_Malloc(1024); + if (buf != NULL) { + idx += ADIOI_Snprintf(buf, 1023, "%s (line %d): ", fcname, line); + if (specific_msg == NULL) { + ADIOI_Snprintf(&buf[idx], 1023 - idx, "%s\n", generic_msg); + } + else { + va_start(Argp, specific_msg); + vsnprintf(&buf[idx], 1023 - idx, specific_msg, Argp); + va_end(Argp); + } + ADIOI_Free(buf); + } + + return error_class; +} + +int MPIO_Err_return_file(MPI_File mpi_fh, int error_code) +{ + return error_code; +} + +int MPIO_Err_return_comm(MPI_Comm mpi_comm, int error_code) +{ + return error_code; +} diff --git a/src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c b/src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c new file mode 100644 index 0000000..e3ac2e7 --- /dev/null +++ b/src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c @@ -0,0 +1,95 @@ +/* -*- Mode: C; c-basic-offset:4 ; -*- */ +/* + * + * Copyright (C) 2004 University of Chicago. + * See COPYRIGHT notice in top-level directory. + */ + +#include "mpioimpl.h" + +#include "adio_extern.h" + +/* Hooks for allocation of MPI_File handles. + * + * Three functions are used in ROMIO for allocation/deallocation + * of MPI_File structures: + * - MPIO_File_create(size) + * - MPIO_File_resolve(mpi_fh) + * - MPIO_File_free(mpi_fh) + * + */ + +MPI_File MPIO_File_create(int size) +{ + MPI_File mpi_fh; + + mpi_fh = (MPI_File) ADIOI_Calloc(size, 1); + return mpi_fh; +} + +ADIO_File MPIO_File_resolve(MPI_File mpi_fh) +{ + return mpi_fh; +} + +void MPIO_File_free(MPI_File * mpi_fh) +{ + ADIOI_Free(*mpi_fh); + *mpi_fh = MPI_FILE_NULL; +} + +/* these functions aren't needed with the way Open MPI uses ROMIO */ +#if 0 + + +MPI_File MPIO_File_f2c(MPI_Fint fh) +{ +#ifndef INT_LT_POINTER + return (MPI_File) ((void *) fh); + /* the extra cast is to get rid of a compiler warning on Exemplar. + * The warning is because MPI_File points to a structure containing + * longlongs, which may be 8-byte aligned. But MPI_Fint itself + * may not be 8-byte aligned. */ +#else + if (!fh) + return MPI_FILE_NULL; + if ((fh < 0) || (fh > ADIOI_Ftable_ptr)) { + FPRINTF(stderr, "MPI_File_f2c: Invalid file handle\n"); + MPI_Abort(MPI_COMM_WORLD, 1); + } + return ADIOI_Ftable[fh]; +#endif +} + +MPI_Fint MPIO_File_c2f(MPI_File fh) +{ +#ifndef INT_LT_POINTER + return (MPI_Fint) fh; +#else + int i; + + if ((fh <= (MPI_File) 0) || (fh->cookie != ADIOI_FILE_COOKIE)) + return (MPI_Fint) 0; + if (!ADIOI_Ftable) { + ADIOI_Ftable_max = 1024; + ADIOI_Ftable = (MPI_File *) + ADIOI_Malloc(ADIOI_Ftable_max * sizeof(MPI_File)); + ADIOI_Ftable_ptr = 0; /* 0 can't be used though, because + * MPI_FILE_NULL=0 */ + for (i = 0; i < ADIOI_Ftable_max; i++) + ADIOI_Ftable[i] = MPI_FILE_NULL; + } + if (ADIOI_Ftable_ptr == ADIOI_Ftable_max - 1) { + ADIOI_Ftable = (MPI_File *) ADIOI_Realloc(ADIOI_Ftable, + (ADIOI_Ftable_max + 1024) * sizeof(MPI_File)); + for (i = ADIOI_Ftable_max; i < ADIOI_Ftable_max + 1024; i++) + ADIOI_Ftable[i] = MPI_FILE_NULL; + ADIOI_Ftable_max += 1024; + } + ADIOI_Ftable_ptr++; + ADIOI_Ftable[ADIOI_Ftable_ptr] = fh; + return (MPI_Fint) ADIOI_Ftable_ptr; +#endif +} + +#endif /* #if 0 */ http://git.mpich.org/mpich.git/commitdiff/53f11fd73b2f9aa7b994e78ed05e9ae742... commit 53f11fd73b2f9aa7b994e78ed05e9ae74264c63f Author: Rob Latham <[email protected]> Date: Fri Feb 28 10:43:49 2014 -0600 OpenMPI resync: converted wrong buffer in external32 Was converting to and from the same buffer in some cases. OpenMPI SVN r30319 Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/mpi-io/read.c b/src/mpi/romio/mpi-io/read.c index 92f11c8..d531a47 100644 --- a/src/mpi/romio/mpi-io/read.c +++ b/src/mpi/romio/mpi-io/read.c @@ -171,7 +171,7 @@ int MPIOI_File_read(MPI_File fh, /* --END ERROR HANDLING-- */ if (e32_buf != NULL) { - error_code = MPIU_read_external32_conversion_fn(xbuf, datatype, + error_code = MPIU_read_external32_conversion_fn(buf, datatype, count, e32_buf); ADIOI_Free(e32_buf); } http://git.mpich.org/mpich.git/commitdiff/832b94d1f22aa979fe680177579cac87c0... commit 832b94d1f22aa979fe680177579cac87c0d42d25 Author: Rob Latham <[email protected]> Date: Fri Feb 28 10:32:00 2014 -0600 Romio portability: check for extended greqs This should help OpenMPI next time they want to re-sync. Sort of based on OpenMPI SVN r27501, but now actually checks. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/confdb/aclocal_romio.m4 b/confdb/aclocal_romio.m4 index b0753a4..39dd76d 100644 --- a/confdb/aclocal_romio.m4 +++ b/confdb/aclocal_romio.m4 @@ -833,3 +833,26 @@ EOF fi rm -f conftest$EXEEXT mpitest.c ])dnl + +define(PAC_TEST_MPI_GREQUEST_EXTENSIONS,[ + AC_MSG_CHECKING(support for non-standard extended generalized requests) + rm -f mpitest.c + cat > mpitest.c <<EOF +#include "mpi.h" +#include "stdio.h" + main(int argc, char **argv) + { + MPIX_Grequest_class classtest + } +EOF + rm -f conftest$EXEEXT + $CC $USER_CFLAGS -I$MPI_INCLUDE_DIR -o conftest$EXEEXT mpitest.c $MPI_LIB > /dev/null 2>&1 + if test -x conftest$EXEEXT ; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_MPI_GREQUEST_EXTENTIONS,1,[Define if non-standard generalized requests extensions avaliable]) + DEFINE_HAVE_MPI_GREQUEST_EXTENSIONS="#define HAVE_MPI_GREQUEST_EXTENSIONS 1" + else + AC_MSG_RESULT(no) + fi + rm -f conftest$EXEEXT mpitest.c +])dnl diff --git a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2.c b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2.c index 55a7523..e2b8b0f 100644 --- a/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2.c +++ b/src/mpi/romio/adio/ad_pvfs2/ad_pvfs2.c @@ -7,8 +7,7 @@ #include "ad_pvfs2.h" -/* adioi.h has the ADIOI_Fns_struct define */ -#include "adioi.h" +#include "adio.h" struct ADIOI_Fns_struct ADIO_PVFS2_operations = { ADIOI_PVFS2_Open, /* Open */ @@ -23,8 +22,13 @@ struct ADIOI_Fns_struct ADIO_PVFS2_operations = { ADIOI_PVFS2_ReadStrided, /* ReadStrided */ ADIOI_PVFS2_WriteStrided, /* WriteStrided */ ADIOI_PVFS2_Close, /* Close */ +#ifdef HAVE_MPI_GREQUEST_EXTENSIONS ADIOI_PVFS2_IReadContig, /* IreadContig */ ADIOI_PVFS2_IWriteContig, /* IwriteContig */ +#else + ADIOI_FAKE_IreadContig, /* IreadContig */ + ADIOI_FAKE_IwriteContig, /* IwriteContig */ +#endif ADIOI_FAKE_IODone, /* ReadDone */ ADIOI_FAKE_IODone, /* WriteDone */ ADIOI_FAKE_IOComplete, /* ReadComplete */ diff --git a/src/mpi/romio/configure.ac b/src/mpi/romio/configure.ac index 2e03292..4ad6be9 100644 --- a/src/mpi/romio/configure.ac +++ b/src/mpi/romio/configure.ac @@ -1546,6 +1546,7 @@ elif test $FROM_MPICH = yes ; then EXTRA_DIRS="" AC_DEFINE(HAVE_STATUS_SET_BYTES,1,[Define if status_set_bytes available]) DEFINE_HAVE_MPI_GREQUEST="#define HAVE_MPI_GREQUEST 1" + DEFINE_HAVE_MPI_GREQUEST_EXTENSIONS="#define HAVE_MPI_GREQUEST_EXTENSIONS 1" AC_DEFINE(HAVE_MPIU_FUNCS,1,[Define if MPICH memory tracing macros defined]) AC_DEFINE(HAVE_MPIX_H, 1, []) AC_DEFINE(HAVE_MPIIO_CONST, const, Set if MPI-IO prototypes use const qualifier) http://git.mpich.org/mpich.git/commitdiff/85e0250e830ed6e018cc894b8b7cf92d40... commit 85e0250e830ed6e018cc894b8b7cf92d4002fc7f Author: Rob Latham <[email protected]> Date: Fri Feb 28 10:15:13 2014 -0600 OpenMPI-resync: housekeeping: clean up MIN macro Basic rule for C macros: wrap the macro arguments with parens to prevent unexpected order of operations. From OpenMPI SVN r24356 Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/adio/ad_bg/ad_bg_pset.h b/src/mpi/romio/adio/ad_bg/ad_bg_pset.h index ab57e46..b1ed6bc 100644 --- a/src/mpi/romio/adio/ad_bg/ad_bg_pset.h +++ b/src/mpi/romio/adio/ad_bg/ad_bg_pset.h @@ -48,7 +48,7 @@ typedef struct { #undef MIN -#define MIN(a,b) ((a<b ? a : b)) +#define MIN(a,b) (((a)<(b) ? (a) : (b))) diff --git a/src/mpi/romio/adio/ad_bgl/ad_bgl_pset.h b/src/mpi/romio/adio/ad_bgl/ad_bgl_pset.h index f6a9164..774e04a 100644 --- a/src/mpi/romio/adio/ad_bgl/ad_bgl_pset.h +++ b/src/mpi/romio/adio/ad_bgl/ad_bgl_pset.h @@ -49,7 +49,7 @@ typedef struct { #undef MIN -#define MIN(a,b) ((a<b ? a : b)) +#define MIN(a,b) (((a)<(b) ? (a) : (b))) /* Default is to choose 8 aggregator nodes in each 32 CN pset. http://git.mpich.org/mpich.git/commitdiff/102e9ead83ceb9a33aaa5d695e6eb85187... commit 102e9ead83ceb9a33aaa5d695e6eb8518721ed7a Author: Rob Latham <[email protected]> Date: Fri Feb 28 10:09:39 2014 -0600 Ompi re-sync: check for statfs function Seems unlikely that anything *doesn't* have statfs these days, but OpenMPI SVN r22547 added this check for Catamount. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/adio/common/ad_fstype.c b/src/mpi/romio/adio/common/ad_fstype.c index 145bda2..12fe676 100644 --- a/src/mpi/romio/adio/common/ad_fstype.c +++ b/src/mpi/romio/adio/common/ad_fstype.c @@ -326,7 +326,7 @@ static void ADIO_FileSysType_fncall(const char *filename, int *fstype, int *erro /* --END ERROR HANDLING-- */ #endif /* STATVFS APPROACH */ -#ifdef HAVE_STRUCT_STATFS +#if defined(HAVE_STRUCT_STATFS) && defined(HAVE_STATFS) retry_cnt = 0; do { err = statfs(filename, &fsbuf); diff --git a/src/mpi/romio/configure.ac b/src/mpi/romio/configure.ac index e9d388d..2e03292 100644 --- a/src/mpi/romio/configure.ac +++ b/src/mpi/romio/configure.ac @@ -1244,6 +1244,7 @@ fi # Check for statfs (many) and specifically f_fstypename field (BSD) # AC_CHECK_HEADERS(sys/vfs.h sys/param.h sys/mount.h sys/statvfs.h) +AC_CHECK_FUNCS([statfs]) AC_MSG_CHECKING([whether struct statfs properly defined]) AC_TRY_COMPILE([ #ifdef HAVE_SYS_VFS_H http://git.mpich.org/mpich.git/commitdiff/52937c7bde679da4a500799bfc7d2f9892... commit 52937c7bde679da4a500799bfc7d2f9892f9dbcd Author: Rob Latham <[email protected]> Date: Fri Feb 28 09:42:44 2014 -0600 avoid ompi redefinition of MPI_MAX_DATAREP_STRING. OpenMPI defines this constant in mpi.h See OpenMPI svn revsion r21307 Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/include/mpio.h.in b/src/mpi/romio/include/mpio.h.in index a860cbe..5ad085f 100644 --- a/src/mpi/romio/include/mpio.h.in +++ b/src/mpi/romio/include/mpio.h.in @@ -92,7 +92,11 @@ typedef int MPI_Fint; #define MPI_SEEK_CUR 602 #define MPI_SEEK_END 604 +/* Open MPI: don't define MPI_MAX_DATAREP_STRING here; it's defined in + OMPI's mpi.h. */ +#ifndef OPEN_MPI #define MPI_MAX_DATAREP_STRING 128 +#endif #ifndef HAVE_MPI_DARRAY_SUBARRAY @HAVE_MPI_DARRAY_SUBARRAY@ http://git.mpich.org/mpich.git/commitdiff/fa20c7c068e4f229ac2173181d8bf6e6ab... commit fa20c7c068e4f229ac2173181d8bf6e6ab0623f0 Author: Rob Latham <[email protected]> Date: Thu Feb 27 11:15:23 2014 -0600 panasas: some layout types not handled from OpenMPI SVN, revision r17543 Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpi/romio/adio/ad_panfs/ad_panfs_open.c b/src/mpi/romio/adio/ad_panfs/ad_panfs_open.c index c052c83..161fd48 100644 --- a/src/mpi/romio/adio/ad_panfs/ad_panfs_open.c +++ b/src/mpi/romio/adio/ad_panfs/ad_panfs_open.c @@ -327,6 +327,10 @@ void ADIOI_PANFS_Open(ADIO_File fd, int *error_code) ADIOI_Snprintf(temp_buffer,TEMP_BUFFER_SIZE,"%u",file_query_args.layout.u.raid10.layout_visit_policy); ADIOI_Info_set(fd->info, "panfs_layout_visit_policy", temp_buffer); break; + case PAN_FS_CLIENT_LAYOUT_TYPE__INVALID: + case PAN_FS_CLIENT_LAYOUT_TYPE__DEFAULT: + MPI_Info_set(fd->info, "panfs_layout_type", + "PAN_FS_CLIENT_LAYOUT_TYPE__INVALID"); default: break; } ----------------------------------------------------------------------- Summary of changes: confdb/aclocal_romio.m4 | 23 +++++ src/mpi/romio/adio/ad_bg/ad_bg_pset.h | 2 +- src/mpi/romio/adio/ad_bgl/ad_bgl_pset.h | 2 +- src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c | 3 + src/mpi/romio/adio/ad_panfs/ad_panfs_open.c | 4 + src/mpi/romio/adio/ad_pvfs2/ad_pvfs2.c | 8 ++- src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_common.h | 4 +- src/mpi/romio/adio/ad_pvfs2/ad_pvfs2_hints.c | 12 ++-- src/mpi/romio/adio/common/ad_fstype.c | 2 +- src/mpi/romio/configure.ac | 48 ++++++++-- src/mpi/romio/include/mpio.h.in | 4 + .../mpi-io/glue/{default => openmpi}/Makefile.mk | 8 +- src/mpi/romio/mpi-io/glue/openmpi/mpio_err.c | 52 +++++++++++ src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c | 95 ++++++++++++++++++++ src/mpi/romio/mpi-io/read.c | 2 +- 15 files changed, 242 insertions(+), 27 deletions(-) copy src/mpi/romio/mpi-io/glue/{default => openmpi}/Makefile.mk (61%) create mode 100644 src/mpi/romio/mpi-io/glue/openmpi/mpio_err.c create mode 100644 src/mpi/romio/mpi-io/glue/openmpi/mpio_file.c hooks/post-receive -- MPICH primary repository