Revision: 105
http://c-mpi.svn.sourceforge.net/c-mpi/?rev=105&view=rev
Author: jmwozniak
Date: 2010-05-12 20:16:17 +0000 (Wed, 12 May 2010)
Log Message:
-----------
Select client contacts based on CMPI mode
Modified Paths:
--------------
include/cmpi_mode.h
src/cmpi/mode_mono.c
src/cmpi/node.c
src/dense-1/cmpi_dense.c
Modified: include/cmpi_mode.h
===================================================================
--- include/cmpi_mode.h 2010-05-12 19:59:36 UTC (rev 104)
+++ include/cmpi_mode.h 2010-05-12 20:16:17 UTC (rev 105)
@@ -1,2 +1,5 @@
-int select_mode(int rank, int size, int nodes);
+#include <inlist.h>
+
+int cmpi_mode_select(int rank, int size, int nodes);
+struct inlist* cmpi_mode_contacts(int rank, int size, int nodes);
Modified: src/cmpi/mode_mono.c
===================================================================
--- src/cmpi/mode_mono.c 2010-05-12 19:59:36 UTC (rev 104)
+++ src/cmpi/mode_mono.c 2010-05-12 20:16:17 UTC (rev 105)
@@ -5,9 +5,22 @@
/**
Original idea: if rank > nodes, I am client.
*/
-int select_mode(int rank, int size, int nodes)
+int cmpi_mode_select(int rank, int size, int nodes)
{
if (rank >= nodes)
return CMPI_MODE_CLIENT;
return CMPI_MODE_NODE;
}
+
+struct inlist* cmpi_mode_contacts(int rank, int size, int nodes)
+{
+ struct inlist* result = inlist_create();
+
+ for (int i = 0; i < nodes; i++)
+ {
+ NOTE_I("contact: ", i);
+ inlist_add(result, i);
+ }
+
+ return result;
+}
Modified: src/cmpi/node.c
===================================================================
--- src/cmpi/node.c 2010-05-12 19:59:36 UTC (rev 104)
+++ src/cmpi/node.c 2010-05-12 20:16:17 UTC (rev 105)
@@ -185,7 +185,7 @@
build_client_communicator();
- if (select_mode(mpi_rank, mpi_size, nodes) == CMPI_MODE_NODE)
+ if (cmpi_mode_select(mpi_rank, mpi_size, nodes) == CMPI_MODE_NODE)
{
NOTE("I am node");
cmpi_init();
Modified: src/dense-1/cmpi_dense.c
===================================================================
--- src/dense-1/cmpi_dense.c 2010-05-12 19:59:36 UTC (rev 104)
+++ src/dense-1/cmpi_dense.c 2010-05-12 20:16:17 UTC (rev 105)
@@ -1,6 +1,8 @@
-#include "cmpi_dense-1.h"
+#include <cmpi_mode.h>
+#include <cmpi_dense-1.h>
+
/**
List of node ranks to contact for DENSE routines.
*/
@@ -29,14 +31,8 @@
DENSE_Init_client();
- contacts = inlist_create();
+ contacts = cmpi_mode_contacts(mpi_rank, mpi_size, dense_nodes);
- for (int i = 0; i < dense_nodes; i++)
- {
- gossip_debug(MASK_DHT, "contact: %i\n", i);
- inlist_add(contacts, i);
- }
-
return CMPI_SUCCESS;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|