[mpich] MPICH primary repository branch, master, updated. v3.0.4-239-g906f547
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 906f5471d35642ca2caee406e24ea19597cb7bf5 (commit) from 85f6656e12c80f0e67fd132fb68cf817f65dfc8a (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/906f5471d35642ca2caee406e24ea19597... commit 906f5471d35642ca2caee406e24ea19597cb7bf5 Author: Michael Blocksome <[email protected]> Date: Fri May 17 15:56:43 2013 -0500 PAMI backward compatibility checks. configure now checks for: - PAMI_CLIENT_NONCONTIG - PAMI_CLIENT_MEMORY_OPTIMIZE - PAMI_GEOMETRY_NONCONTIG - PAMI_GEOMETRY_MEMORY_OPTIMIZE diff --git a/src/mpid/pamid/src/comm/mpid_comm.c b/src/mpid/pamid/src/comm/mpid_comm.c index 201aecc..8d46768 100644 --- a/src/mpid/pamid/src/comm/mpid_comm.c +++ b/src/mpid/pamid/src/comm/mpid_comm.c @@ -265,25 +265,30 @@ void MPIDI_Coll_comm_create(MPID_Comm *comm) fprintf(stderr,"create geometry tasks %p {%u..%u}\n", comm->mpid.tasks, MPID_VCR_GET_LPID(comm->vcr, 0),MPID_VCR_GET_LPID(comm->vcr, comm->local_size-1)); pami_configuration_t config[3]; + size_t numconfigs = 0; +#ifdef HAVE_PAMI_GEOMETRY_NONCONTIG config[0].name = PAMI_GEOMETRY_NONCONTIG; if(MPIDI_Process.optimized.memory & MPID_OPT_LVL_NONCONTIG) config[0].value.intval = 0; // Disable non-contig, pamid doesn't use pami for non-contig data collectives else config[0].value.intval = 1; // Enable non-contig even though pamid doesn't use pami for non-contig data collectives, // we still possibly want those collectives for other reasons. - size_t numconfigs = 1; + ++numconfigs; +#endif if(MPIDI_Process.optimized.subcomms) { config[numconfigs].name = PAMI_GEOMETRY_OPTIMIZE; config[numconfigs].value.intval = 1; ++numconfigs; } +#ifdef HAVE_PAMI_GEOMETRY_MEMORY_OPTIMIZE if(MPIDI_Process.optimized.memory) { config[numconfigs].name = PAMI_GEOMETRY_MEMORY_OPTIMIZE; config[numconfigs].value.intval = MPIDI_Process.optimized.memory; /* level of optimization */ ++numconfigs; } +#endif if((MPIDI_Process.optimized.memory & MPID_OPT_LVL_IRREG) && (comm->local_size & (comm->local_size-1))) { diff --git a/src/mpid/pamid/src/mpid_init.c b/src/mpid/pamid/src/mpid_init.c index 90922d5..3fb57bb 100644 --- a/src/mpid/pamid/src/mpid_init.c +++ b/src/mpid/pamid/src/mpid_init.c @@ -294,6 +294,7 @@ MPIDI_PAMI_client_init(int* rank, int* size, int* mpidi_dynamic_tasking, char ** pami_result_t rc = PAMI_ERROR; pami_configuration_t config[2]; + size_t numconfigs = 0; /* Set the status for memory optimized collectives */ { @@ -302,19 +303,23 @@ MPIDI_PAMI_client_init(int* rank, int* size, int* mpidi_dynamic_tasking, char ** MPIDI_atoi(env,&MPIDI_Process.optimized.memory); } +#ifdef HAVE_PAMI_CLIENT_NONCONTIG config[0].name = PAMI_CLIENT_NONCONTIG; if(MPIDI_Process.optimized.memory & MPID_OPT_LVL_NONCONTIG) config[0].value.intval = 0; // Disable non-contig, pamid doesn't use pami for non-contig data collectives so save memory else config[0].value.intval = 1; // Enable non-contig even though pamid doesn't use pami for non-contig data collectives, // we still possibly want those collectives for other reasons. - size_t numconfigs = 1; + ++numconfigs; +#endif +#ifdef HAVE_PAMI_CLIENT_MEMORY_OPTIMIZE if(MPIDI_Process.optimized.memory) { config[numconfigs].name = PAMI_CLIENT_MEMORY_OPTIMIZE; config[numconfigs].value.intval = MPIDI_Process.optimized.memory; ++numconfigs; } +#endif rc = PAMI_Client_create("MPI", &MPIDI_Client, config, numconfigs); MPID_assert_always(rc == PAMI_SUCCESS); diff --git a/src/mpid/pamid/subconfigure.m4 b/src/mpid/pamid/subconfigure.m4 index 507243c..39abcc1 100644 --- a/src/mpid/pamid/subconfigure.m4 +++ b/src/mpid/pamid/subconfigure.m4 @@ -186,6 +186,85 @@ PAC_APPEND_FLAG([-I${master_top_srcdir}/src/mpid/common/locks], [CPPFLAGS]) PAC_APPEND_FLAG([-I${master_top_srcdir}/src/mpid/common/thread], [CPPFLAGS]) PAC_APPEND_FLAG([-I${master_top_srcdir}/src/mpid/common/sched], [CPPFLAGS]) + +dnl +dnl Check for PAMI_CLIENT_NONCONTIG +dnl +AC_MSG_CHECKING([for PAMI_CLIENT_NONCONTIG support]) +have_pami_client_noncontig=0 +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include "pami.h"]], + [[int foo = PAMI_CLIENT_NONCONTIG;]])], + have_pami_client_noncontig=1 +) +if test "$have_pami_client_noncontig" != "0"; then + AC_DEFINE(HAVE_PAMI_CLIENT_NONCONTIG,1,[Define if PAMI_CLIENT_NONCONTIG is defined in pami.h]) + AC_MSG_RESULT('yes') +else + AC_MSG_RESULT('no') +fi + +dnl +dnl Check for PAMI_CLIENT_MEMORY_OPTIMIZE +dnl +AC_MSG_CHECKING([for PAMI_CLIENT_MEMORY_OPTIMIZE support]) +have_pami_client_memory_optimize=0 +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include "pami.h"]], + [[int foo = PAMI_CLIENT_MEMORY_OPTIMIZE;]])], + have_pami_client_memory_optimize=1 +) +if test "$have_pami_client_memory_optimize" != "0"; then + AC_DEFINE(HAVE_PAMI_CLIENT_MEMORY_OPTIMIZE,1,[Define if PAMI_CLIENT_MEMORY_OPTIMIZE is defined in pami.h]) + AC_MSG_RESULT('yes') +else + AC_MSG_RESULT('no') +fi + +dnl +dnl Check for PAMI_GEOMETRY_NONCONTIG +dnl +AC_MSG_CHECKING([for PAMI_GEOMETRY_NONCONTIG support]) +have_pami_geometry_noncontig=0 +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include "pami.h"]], + [[int foo = PAMI_GEOMETRY_NONCONTIG;]])], + have_pami_geometry_noncontig=1 +) +if test "$have_pami_geometry_noncontig" != "0"; then + AC_DEFINE(HAVE_PAMI_GEOMETRY_NONCONTIG,1,[Define if PAMI_GEOMETRY_NONCONTIG is defined in pami.h]) + AC_MSG_RESULT('yes') +else + AC_MSG_RESULT('no') +fi + +dnl +dnl Check for PAMI_GEOMETRY_MEMORY_OPTIMIZE +dnl +AC_MSG_CHECKING([for PAMI_GEOMETRY_MEMORY_OPTIMIZE support]) +have_pami_geometry_memory_optimize=0 +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include "pami.h"]], + [[int foo = PAMI_GEOMETRY_MEMORY_OPTIMIZE;]])], + have_pami_geometry_memory_optimize=1 +) +if test "$have_pami_geometry_memory_optimize" != "0"; then + AC_DEFINE(HAVE_PAMI_GEOMETRY_MEMORY_OPTIMIZE,1,[Define if PAMI_GEOMETRY_MEMORY_OPTIMIZE is defined in pami.h]) + AC_MSG_RESULT('yes') +else + AC_MSG_RESULT('no') +fi + + + + + + + + + + + ])dnl end AM_COND_IF(BUILD_PAMID,...) ])dnl end _BODY ----------------------------------------------------------------------- Summary of changes: src/mpid/pamid/src/comm/mpid_comm.c | 7 +++- src/mpid/pamid/src/mpid_init.c | 7 +++- src/mpid/pamid/subconfigure.m4 | 79 +++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+), 2 deletions(-) hooks/post-receive -- MPICH primary repository
participants (1)
-
noreply@mpich.org