[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.4-239-g906f547

mysql vizuser noreply at mpich.org
Mon May 20 09:56:48 CDT 2013


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/906f5471d35642ca2caee406e24ea19597cb7bf5

commit 906f5471d35642ca2caee406e24ea19597cb7bf5
Author: Michael Blocksome <blocksom at us.ibm.com>
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


More information about the commits mailing list