[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1rc2-33-g0dd4cea

mysql vizuser noreply at mpich.org
Wed Dec 4 14:22:12 CST 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  0dd4cea574961ac0a9996a619765c526071d9dea (commit)
      from  4d435f8caa43bf208ea8eb95cd8ac873c8741988 (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/0dd4cea574961ac0a9996a619765c526071d9dea

commit 0dd4cea574961ac0a9996a619765c526071d9dea
Author: Haizhu Liu <haizhu at us.ibm.com>
Date:   Tue Oct 29 13:47:55 2013 -0400

    Exit with error when dynamic tasking is used in an invalid environment
    
    Flag an error and exit when dynamic tasking APIs are called on
    jobs that are not launched in dynamic mode in PE.
    
    closes ticket #1961
    
    (ibm) D192324
    
    Signed-off-by: Michael Blocksome <blocksom at us.ibm.com>

diff --git a/src/mpid/pamid/src/dyntask/mpid_comm_spawn_multiple.c b/src/mpid/pamid/src/dyntask/mpid_comm_spawn_multiple.c
index 68b818b..12bf3a7 100644
--- a/src/mpid/pamid/src/dyntask/mpid_comm_spawn_multiple.c
+++ b/src/mpid/pamid/src/dyntask/mpid_comm_spawn_multiple.c
@@ -13,6 +13,8 @@
 
 #ifdef DYNAMIC_TASKING
 
+extern mpidi_dynamic_tasking;
+
 /* Define the name of the kvs key used to provide the port name to the
    children */
 #define MPIDI_PARENT_PORT_KVSKEY "PARENT_ROOT_PORT_NAME"
@@ -107,6 +109,12 @@ int MPID_Comm_spawn_multiple(int count, char *array_of_commands[],
 {
     int mpi_errno = MPI_SUCCESS;
 
+    if(mpidi_dynamic_tasking == 0) {
+	fprintf(stderr, "Received spawn request for non-dynamic jobs\n");
+        MPIU_ERR_SETANDSTMT(mpi_errno, MPI_ERR_SPAWN,
+                            return mpi_errno, "**spawn");
+    }
+
     /* We allow an empty implementation of this function to
        simplify building MPICH on systems that have difficulty
        supporing process creation */
diff --git a/src/mpid/pamid/src/dyntask/mpid_port.c b/src/mpid/pamid/src/dyntask/mpid_port.c
index 51bc422..b587ef6 100644
--- a/src/mpid/pamid/src/dyntask/mpid_port.c
+++ b/src/mpid/pamid/src/dyntask/mpid_port.c
@@ -16,6 +16,8 @@
 #define MPI_MAX_TASKID_NAME 8
 #define MPIDI_TASKID_TAG_KEY "taskid"
 
+extern mpidi_dynamic_tasking;
+
 static int MPIDI_Open_port(MPID_Info *, char *);
 static int MPIDI_Close_port(const char *);
 
@@ -93,6 +95,13 @@ int MPID_Comm_accept(const char * port_name, MPID_Info * info, int root,
 {
     int mpi_errno = MPI_SUCCESS;
 
+    if(mpidi_dynamic_tasking == 0) {
+	fprintf(stderr, "Dynamic tasking API is called on non-dynamic jobs\n");
+        MPIU_ERR_SETANDSTMT(mpi_errno, MPI_ERR_SPAWN,
+                            return mpi_errno, "**spawn");
+
+    }
+
     if (portFns.CommAccept) {
 	mpi_errno = portFns.CommAccept( port_name, info, root, comm,
 					newcomm_ptr );
@@ -110,6 +119,13 @@ int MPID_Comm_connect(const char * port_name, MPID_Info * info, int root,
 {
     int mpi_errno=MPI_SUCCESS;
 
+    if(mpidi_dynamic_tasking == 0) {
+	fprintf(stderr, "Dynamic tasking API is called on non-dynamic jobs\n");
+        MPIU_ERR_SETANDSTMT(mpi_errno, MPI_ERR_SPAWN,
+                            return mpi_errno, "**spawn");
+
+    }
+
     if (portFns.CommConnect) {
 	mpi_errno = portFns.CommConnect( port_name, info, root, comm,
 					 newcomm_ptr );

-----------------------------------------------------------------------

Summary of changes:
 .../pamid/src/dyntask/mpid_comm_spawn_multiple.c   |    8 ++++++++
 src/mpid/pamid/src/dyntask/mpid_port.c             |   16 ++++++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list