|
From: <den...@us...> - 2009-12-26 01:46:09
|
Revision: 22
http://dsim.svn.sourceforge.net/dsim/?rev=22&view=rev
Author: denis_arnaud
Date: 2009-12-26 01:46:01 +0000 (Sat, 26 Dec 2009)
Log Message:
-----------
[Test] Added a simple test to check the MPI installation.
Modified Paths:
--------------
trunk/dsim/test/boost/mpi/Makefile.am
Added Paths:
-----------
trunk/dsim/test/boost/mpi/mpi_c.cpp
Modified: trunk/dsim/test/boost/mpi/Makefile.am
===================================================================
--- trunk/dsim/test/boost/mpi/Makefile.am 2009-12-26 01:40:41 UTC (rev 21)
+++ trunk/dsim/test/boost/mpi/Makefile.am 2009-12-26 01:46:01 UTC (rev 22)
@@ -3,12 +3,14 @@
MAINTAINERCLEANFILES = Makefile.in
-check_PROGRAMS = mpi
+check_PROGRAMS = mpi_c mpi
-#mpi_c_SOURCES = mpi_c.cpp
-#mpi_c_CXXFLAGS = $(MPICH2_CFLAGS)
-#mpi_c_LDFLAGS = $(MPICH2_LIB)
-#mpi_c_LDADD =
+# mpi_c must be compiled with mpic++
+# Note: mpic++/mpiCC is a wrapper around the MPI C++ compiler, and knows
+# where MPI is installed. So, there is no need to specify any other
+# CFLAGS or LDFLAGS at that stage.
+mpi_c: mpi_c.cpp
+ mpic++ -o $@ $<
mpi_SOURCES = mpi.cpp
mpi_CXXFLAGS = $(BOOST_CFLAGS) $(MPICH2_CFLAGS)
Added: trunk/dsim/test/boost/mpi/mpi_c.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/mpi_c.cpp (rev 0)
+++ trunk/dsim/test/boost/mpi/mpi_c.cpp 2009-12-26 01:46:01 UTC (rev 22)
@@ -0,0 +1,35 @@
+//
+// Simple test of MPI, just to check that a MPI library is installed correctly
+//Source: http://www.boost.org/doc/libs/1_41_0/doc/html/mpi/getting_started.html
+#include <mpi.h>
+#include <iostream>
+
+// ///////////////////// M A I N //////////////////////
+int main(int argc, char* argv[]) {
+ MPI_Init (&argc, &argv);
+
+ int rank = -1;
+
+ MPI_Comm_rank (MPI_COMM_WORLD, &rank);
+
+ if (rank == 0) {
+ int value = 17;
+ int result = MPI_Send(&value, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
+
+ if (result == MPI_SUCCESS) {
+ std::cout << "Rank 0 OK!" << std::endl;
+ }
+
+ } else if (rank == 1) {
+ int value;
+ int result = MPI_Recv(&value, 1, MPI_INT, 0, 0, MPI_COMM_WORLD,
+ MPI_STATUS_IGNORE);
+
+ if (result == MPI_SUCCESS && value == 17)
+ std::cout << "Rank 1 OK!" << std::endl;
+ }
+
+ MPI_Finalize();
+
+ return 0;
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2009-12-28 01:33:40
|
Revision: 23
http://dsim.svn.sourceforge.net/dsim/?rev=23&view=rev
Author: denis_arnaud
Date: 2009-12-28 00:16:49 +0000 (Mon, 28 Dec 2009)
Log Message:
-----------
[Test] Added Boost.MPI tutorial simple examples.
Modified Paths:
--------------
trunk/dsim/test/boost/mpi/Makefile.am
trunk/dsim/test/boost/mpi/mpi.cpp
Added Paths:
-----------
trunk/dsim/test/boost/mpi/mpi_p2p.cpp
Property Changed:
----------------
trunk/dsim/test/boost/mpi/
Property changes on: trunk/dsim/test/boost/mpi
___________________________________________________________________
Modified: svn:ignore
- .deps
.libs
Makefile.in
Makefile
mpi_c
mpi
+ .deps
.libs
Makefile.in
Makefile
mpi_c
mpi
mpi_p2p
Modified: trunk/dsim/test/boost/mpi/Makefile.am
===================================================================
--- trunk/dsim/test/boost/mpi/Makefile.am 2009-12-26 01:46:01 UTC (rev 22)
+++ trunk/dsim/test/boost/mpi/Makefile.am 2009-12-28 00:16:49 UTC (rev 23)
@@ -3,7 +3,7 @@
MAINTAINERCLEANFILES = Makefile.in
-check_PROGRAMS = mpi_c mpi
+check_PROGRAMS = mpi_c mpi mpi_p2p
# mpi_c must be compiled with mpic++
# Note: mpic++/mpiCC is a wrapper around the MPI C++ compiler, and knows
@@ -17,4 +17,9 @@
mpi_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
mpi_LDADD =
+mpi_p2p_SOURCES = mpi_p2p.cpp
+mpi_p2p_CXXFLAGS = $(BOOST_CFLAGS) $(MPICH2_CFLAGS)
+mpi_p2p_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
+mpi_p2p_LDADD =
+
EXTRA_DIST =
Modified: trunk/dsim/test/boost/mpi/mpi.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/mpi.cpp 2009-12-26 01:46:01 UTC (rev 22)
+++ trunk/dsim/test/boost/mpi/mpi.cpp 2009-12-28 00:16:49 UTC (rev 23)
@@ -7,14 +7,14 @@
#include <boost/mpi/environment.hpp>
#include <boost/mpi/communicator.hpp>
-// /////////// M A I N ////////////////
+
+// ///////////////////////// M A I N ///////////////////////////
int main (int argc, char* argv[]) {
- // boost::mpi::environment env (argc, argv);
- // boost::mpi::communicator world;
- //std::cout << "I am process " << world.rank() << " of " << world.size()
- // << "." << std::endl;
- std::cout << "OpenMPI should run, but not Boost.MPI yet" << std::endl;
+ boost::mpi::environment env (argc, argv);
+ boost::mpi::communicator world;
+ std::cout << "I am process " << world.rank() << " of " << world.size()
+ << "." << std::endl;
return 0;
}
Added: trunk/dsim/test/boost/mpi/mpi_p2p.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/mpi_p2p.cpp (rev 0)
+++ trunk/dsim/test/boost/mpi/mpi_p2p.cpp 2009-12-28 00:16:49 UTC (rev 23)
@@ -0,0 +1,33 @@
+// STL
+#include <iostream>
+#include <string>
+// Boost.MPI
+#include <boost/mpi.hpp>
+#include <boost/serialization/string.hpp>
+
+
+// ///////////////////////// M A I N ///////////////////////////
+int main (int argc, char* argv[]) {
+ boost::mpi::environment env (argc, argv);
+ boost::mpi::communicator world;
+
+ if (world.rank() == 0) {
+ world.send (1, 0, std::string("Hello"));
+
+ std::string msg;
+ world.recv(1, 1, msg);
+
+ std::cout << msg << "!" << std::endl;
+
+ } else {
+ std::string msg;
+ world.recv (0, 0, msg);
+
+ std::cout << msg << ", ";
+ std::cout.flush();
+
+ world.send (0, 1, std::string ("world"));
+ }
+
+ return 0;
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-01-03 17:04:44
|
Revision: 44
http://dsim.svn.sourceforge.net/dsim/?rev=44&view=rev
Author: denis_arnaud
Date: 2010-01-03 17:04:17 +0000 (Sun, 03 Jan 2010)
Log Message:
-----------
[Test] Added a Boost.MPI tutorial sample (asynchronous P2P communication).
Modified Paths:
--------------
trunk/dsim/test/boost/mpi/Makefile.am
Added Paths:
-----------
trunk/dsim/test/boost/mpi/mpi_p2p_nb.cpp
Property Changed:
----------------
trunk/dsim/test/boost/mpi/
Property changes on: trunk/dsim/test/boost/mpi
___________________________________________________________________
Modified: svn:ignore
- .deps
.libs
Makefile.in
Makefile
mpi_c
mpi
mpi_p2p
+ .deps
.libs
Makefile.in
Makefile
mpi_c
mpi
mpi_p2p
mpi_p2p_nb
Modified: trunk/dsim/test/boost/mpi/Makefile.am
===================================================================
--- trunk/dsim/test/boost/mpi/Makefile.am 2010-01-01 18:55:18 UTC (rev 43)
+++ trunk/dsim/test/boost/mpi/Makefile.am 2010-01-03 17:04:17 UTC (rev 44)
@@ -9,7 +9,7 @@
EXTRA_DIST = pympi.py
#
-check_PROGRAMS = mpi_c mpi mpi_p2p
+check_PROGRAMS = mpi_c mpi mpi_p2p mpi_p2p_nb
# mpi_c must be compiled with mpic++
@@ -31,3 +31,8 @@
mpi_p2p_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
mpi_p2p_LDADD =
+mpi_p2p_nb_SOURCES = mpi_p2p_nb.cpp
+mpi_p2p_nb_CXXFLAGS = $(BOOST_CFLAGS) $(MPICH2_CFLAGS)
+mpi_p2p_nb_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
+mpi_p2p_nb_LDADD =
+
Added: trunk/dsim/test/boost/mpi/mpi_p2p_nb.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/mpi_p2p_nb.cpp (rev 0)
+++ trunk/dsim/test/boost/mpi/mpi_p2p_nb.cpp 2010-01-03 17:04:17 UTC (rev 44)
@@ -0,0 +1,37 @@
+// STL
+#include <iostream>
+#include <string>
+// Boost.MPI
+#include <boost/mpi.hpp>
+#include <boost/serialization/string.hpp>
+
+
+// ///////////////////////// M A I N ///////////////////////////
+int main (int argc, char* argv[]) {
+ boost::mpi::environment env (argc, argv);
+ boost::mpi::communicator world;
+
+ if (world.rank() == 0) {
+ boost::mpi::request reqs[2];
+ std::string msg;
+ const std::string outMsg = "Hello";
+ reqs[0] = world.isend (1, 0, outMsg);
+ reqs[1] = world.irecv (1, 1, msg);
+ boost::mpi::wait_all (reqs, reqs+2);
+
+ std::cout << msg << "!" << std::endl;
+
+ } else {
+ boost::mpi::request reqs[2];
+ std::string msg;
+ const std::string outMsg = "world";
+ reqs[0] = world.irecv (0, 0, msg);
+ reqs[1] = world.isend (0, 1, outMsg);
+ boost::mpi::wait_all (reqs, reqs+2);
+
+ std::cout << msg << ", ";
+ // std::cout.flush();
+ }
+
+ return 0;
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sng...@us...> - 2010-05-03 09:43:33
|
Revision: 79
http://dsim.svn.sourceforge.net/dsim/?rev=79&view=rev
Author: snguyenkim
Date: 2010-05-03 09:43:24 +0000 (Mon, 03 May 2010)
Log Message:
-----------
Some hints to run openmpi & mpich2
Added Paths:
-----------
trunk/dsim/test/boost/mpi/how_to_make_mpich2_run
trunk/dsim/test/boost/mpi/how_to_make_openmpi_run
Added: trunk/dsim/test/boost/mpi/how_to_make_mpich2_run
===================================================================
--- trunk/dsim/test/boost/mpi/how_to_make_mpich2_run (rev 0)
+++ trunk/dsim/test/boost/mpi/how_to_make_mpich2_run 2010-05-03 09:43:24 UTC (rev 79)
@@ -0,0 +1,16 @@
+- Make sure that ssh,mpich2 is installed on ALL machines (openssh-server, openssh-client,mpich2,mpich2-devel)
+
+- Verify /etc/hosts, ensure the machine's name is NOT in the line 127.0.0.1. Create a line that contains machine's IP, its name (complete one and short one), place it just BEFORE the line
+ ::1 localhost ......
+
+- Ensures the executable file is on ALL machines, preferably at ~/
+
+- Make sure that ~/.mpd.conf is on ALL machines, contains the same content (MPD_SECRETWORD must be the SAME)
+
+- Create a file, name it for example "hosts" that contains the name of all machines on what we want to run the program
+
+- Then RUN:
+ mpdboot -n number_of_machine --file hosts --verbose
+ mpdtrace -l (to verify)
+ mpiexec -n number_of_machine(preferably) ~/name_of_program
+
Added: trunk/dsim/test/boost/mpi/how_to_make_openmpi_run
===================================================================
--- trunk/dsim/test/boost/mpi/how_to_make_openmpi_run (rev 0)
+++ trunk/dsim/test/boost/mpi/how_to_make_openmpi_run 2010-05-03 09:43:24 UTC (rev 79)
@@ -0,0 +1,5 @@
+- Turnoff eth0 on all virtual machines(for the host, it's not necessary) by
+ su -
+ ifdown eth0
+
+- Then, all work like a charm !
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sng...@us...> - 2010-05-03 09:45:32
|
Revision: 80
http://dsim.svn.sourceforge.net/dsim/?rev=80&view=rev
Author: snguyenkim
Date: 2010-05-03 09:45:23 +0000 (Mon, 03 May 2010)
Log Message:
-----------
Master & Slave example, see master.cpp for more details
Added Paths:
-----------
trunk/dsim/test/boost/mpi/master.cpp
trunk/dsim/test/boost/mpi/slave.cpp
Added: trunk/dsim/test/boost/mpi/master.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/master.cpp (rev 0)
+++ trunk/dsim/test/boost/mpi/master.cpp 2010-05-03 09:45:23 UTC (rev 80)
@@ -0,0 +1,54 @@
+/*
+ * Object: Make a simple master-slave program
+ * Utilisation: User tape a number, master send it to a slave (he is chosen based on the number of slave ), that slave return the square of that number to master.
+ *
+ */
+
+#include <boost/mpi.hpp>
+#include <iostream>
+#include <string>
+#include <unistd.h>
+#include <time.h>
+#include <sys/types.h>
+#include<stdio.h>
+
+using namespace std;
+namespace mpi=boost::mpi;
+
+int main(int argc, char ** argv){
+ mpi::environment env(argc, argv);
+ mpi::communicator world;
+
+ int root = 0; //master's rank
+ int tag = 0; // the tag (or the port) used for communication
+ int num ; //number taken in by user
+ int res; // result sent by slave
+ int dest; //index of slave to which command is sent
+
+ int rank = world.rank(); //process's rank
+ int nbslave = world.size() -1 ; //number of slave
+
+ if (rank==0){
+ cout << "We have " << nbslave << " slaves who work" << endl;
+ //cout << rank << "; pid = " << getpid() << endl;
+ cout << "Type -1 for quitting the program\n";
+
+ while(1){
+
+ cout << "A number, plz..\n" ;
+ cin >> num ;
+ if (num == -1){
+ cerr << "Bye bye\n";
+ //mpi::environment::finalized();//Abort all the process
+ mpi::environment::abort(0);
+ } else{
+ dest = num % nbslave + 1;
+ world.send(dest, tag, num);
+ };
+ world.recv(dest , tag , res);
+ cout << "Resultat is " << res << endl;
+ };
+ }
+
+ return 0;
+};
Added: trunk/dsim/test/boost/mpi/slave.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/slave.cpp (rev 0)
+++ trunk/dsim/test/boost/mpi/slave.cpp 2010-05-03 09:45:23 UTC (rev 80)
@@ -0,0 +1,56 @@
+#include <boost/mpi.hpp>
+#include <iostream>
+#include <string>
+#include <unistd.h>
+#include <time.h>
+#include <sys/types.h>
+#include<stdio.h>
+
+
+using namespace std;
+namespace mpi=boost::mpi;
+
+int main(int argc, char ** argv ){
+ mpi::environment env(argc, argv);
+ mpi::communicator world;
+
+ int root = 0, tag = 0, num, res;
+ int rank = world.rank();//processus number
+
+
+ //for veriying that master & slave use the same communicator
+ //if (rank==1)
+ //cout << "We have " << world.size() -1 << " slaves who work" << endl;
+
+ boost::optional<mpi::status> stat = boost::none;//stat is not initialised
+
+ if (rank > 0){
+ //cout << rank << "; pid = " << getpid() << endl;
+ int r; //number sent by master
+
+ while (1){
+
+ //inactive waiting: wake up every 1s for verifying if there is a message
+ while(1){
+ stat = world.iprobe(root, tag); //inactive waiting
+
+ //usleep(100);//we have the result faster but it takes more CPU
+ sleep(1); //better choice
+
+ if (stat)
+ break;//ah, I have message !
+ }
+ //world.probe(root,tag);//active waiting: take much more resources
+
+ world.recv(root,tag, r );
+
+ cout << "Slave " << rank << " has received :" << r << flush << endl;
+ res = r * r;
+ world.send(root, tag ,res );//return the result to master
+
+ stat = boost::none; //stat goes back to waiting state
+ }
+ }
+ return 0;
+};
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sng...@us...> - 2010-05-25 11:14:37
|
Revision: 82
http://dsim.svn.sourceforge.net/dsim/?rev=82&view=rev
Author: snguyenkim
Date: 2010-05-25 11:14:30 +0000 (Tue, 25 May 2010)
Log Message:
-----------
AM alo_example
A alo_example.cpp
AM broadcast
A broadcast.cpp
AM gather
A gather.cpp
A Makefile
M Makefile.am
A Makefile.in
A master_slave
AM master_slave/slave
AM master_slave/master
A master_slave/slave.cpp
A master_slave/master.cpp
A master_slave/hostfile
A master_slave/Makefile
AM master_slave/master_slave.sh
A my_hostfile
AM non_blocking
A non_blocking.cpp
AM reduce
A reduce.cpp
A serialization
AM serialization/pointer_and_stl
A serialization/pointer_and_stl.cpp
Modified Paths:
--------------
trunk/dsim/test/boost/mpi/Makefile.am
Added Paths:
-----------
trunk/dsim/test/boost/mpi/Makefile
trunk/dsim/test/boost/mpi/Makefile.in
trunk/dsim/test/boost/mpi/alo_example
trunk/dsim/test/boost/mpi/alo_example.cpp
trunk/dsim/test/boost/mpi/broadcast
trunk/dsim/test/boost/mpi/broadcast.cpp
trunk/dsim/test/boost/mpi/gather
trunk/dsim/test/boost/mpi/gather.cpp
trunk/dsim/test/boost/mpi/master_slave/
trunk/dsim/test/boost/mpi/master_slave/Makefile
trunk/dsim/test/boost/mpi/master_slave/hostfile
trunk/dsim/test/boost/mpi/master_slave/master
trunk/dsim/test/boost/mpi/master_slave/master.cpp
trunk/dsim/test/boost/mpi/master_slave/master_slave.sh
trunk/dsim/test/boost/mpi/master_slave/slave
trunk/dsim/test/boost/mpi/master_slave/slave.cpp
trunk/dsim/test/boost/mpi/my_hostfile
trunk/dsim/test/boost/mpi/non_blocking
trunk/dsim/test/boost/mpi/non_blocking.cpp
trunk/dsim/test/boost/mpi/reduce
trunk/dsim/test/boost/mpi/reduce.cpp
trunk/dsim/test/boost/mpi/serialization/
trunk/dsim/test/boost/mpi/serialization/pointer_and_stl
trunk/dsim/test/boost/mpi/serialization/pointer_and_stl.cpp
Added: trunk/dsim/test/boost/mpi/Makefile
===================================================================
--- trunk/dsim/test/boost/mpi/Makefile (rev 0)
+++ trunk/dsim/test/boost/mpi/Makefile 2010-05-25 11:14:30 UTC (rev 82)
@@ -0,0 +1,826 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# test/boost/mpi/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+pkgdatadir = $(datadir)/dsim
+pkgincludedir = $(includedir)/dsim
+pkglibdir = $(libdir)/dsim
+pkglibexecdir = $(libexecdir)/dsim
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/Makefile.common
+check_PROGRAMS = mpi_c$(EXEEXT) mpi$(EXEEXT) mpi_p2p$(EXEEXT) \
+ mpi_p2p_nb$(EXEEXT) alo_example$(EXEEXT)
+subdir = test/boost/mpi
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/ax_boost.m4 \
+ $(top_srcdir)/config/ax_mysql.m4 \
+ $(top_srcdir)/config/cppunit.m4 $(top_srcdir)/config/gsl.m4 \
+ $(top_srcdir)/config/librt.m4 $(top_srcdir)/config/libtool.m4 \
+ $(top_srcdir)/config/ltoptions.m4 \
+ $(top_srcdir)/config/ltsugar.m4 \
+ $(top_srcdir)/config/ltversion.m4 \
+ $(top_srcdir)/config/lt~obsolete.m4 \
+ $(top_srcdir)/config/openmpi.m4 $(top_srcdir)/config/python.m4 \
+ $(top_srcdir)/config/soci.m4 $(top_srcdir)/config/xerces.m4 \
+ $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/stdair/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am_alo_example_OBJECTS = alo_example-alo_example.$(OBJEXT)
+alo_example_OBJECTS = $(am_alo_example_OBJECTS)
+alo_example_DEPENDENCIES =
+alo_example_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(alo_example_CXXFLAGS) \
+ $(CXXFLAGS) $(alo_example_LDFLAGS) $(LDFLAGS) -o $@
+am_mpi_OBJECTS = mpi-mpi.$(OBJEXT)
+mpi_OBJECTS = $(am_mpi_OBJECTS)
+mpi_DEPENDENCIES =
+mpi_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(mpi_CXXFLAGS) $(CXXFLAGS) \
+ $(mpi_LDFLAGS) $(LDFLAGS) -o $@
+am_mpi_c_OBJECTS = mpi_c.$(OBJEXT)
+mpi_c_OBJECTS = $(am_mpi_c_OBJECTS)
+mpi_c_LDADD = $(LDADD)
+am_mpi_p2p_OBJECTS = mpi_p2p-mpi_p2p.$(OBJEXT)
+mpi_p2p_OBJECTS = $(am_mpi_p2p_OBJECTS)
+mpi_p2p_DEPENDENCIES =
+mpi_p2p_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(mpi_p2p_CXXFLAGS) $(CXXFLAGS) \
+ $(mpi_p2p_LDFLAGS) $(LDFLAGS) -o $@
+am_mpi_p2p_nb_OBJECTS = mpi_p2p_nb-mpi_p2p_nb.$(OBJEXT)
+mpi_p2p_nb_OBJECTS = $(am_mpi_p2p_nb_OBJECTS)
+mpi_p2p_nb_DEPENDENCIES =
+mpi_p2p_nb_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(mpi_p2p_nb_CXXFLAGS) \
+ $(CXXFLAGS) $(mpi_p2p_nb_LDFLAGS) $(LDFLAGS) -o $@
+DEFAULT_INCLUDES = -I. -I$(top_builddir)/stdair
+depcomp = $(SHELL) $(top_srcdir)/config/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(alo_example_SOURCES) $(mpi_SOURCES) $(mpi_c_SOURCES) \
+ $(mpi_p2p_SOURCES) $(mpi_p2p_nb_SOURCES)
+DIST_SOURCES = $(alo_example_SOURCES) $(mpi_SOURCES) $(mpi_c_SOURCES) \
+ $(mpi_p2p_SOURCES) $(mpi_p2p_nb_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+ distdir
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = ${SHELL} /home/localoriuser/dev/dsimsvn/config/missing --run aclocal-1.11
+AMTAR = ${SHELL} /home/localoriuser/dev/dsimsvn/config/missing --run tar
+AR = ar
+AUTOCONF = ${SHELL} /home/localoriuser/dev/dsimsvn/config/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/localoriuser/dev/dsimsvn/config/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/localoriuser/dev/dsimsvn/config/missing --run automake-1.11
+AWK = gawk
+BOOST_ASIO_LIB = -lboost_system -lboost_thread-mt -lboost_date_time -lboost_regex -lboost_serialization
+BOOST_CFLAGS = -pthread -I/usr/include
+BOOST_DATE_TIME_LIB = -lboost_date_time
+BOOST_FILESYSTEM_LIB = -lboost_filesystem
+BOOST_IOSTREAMS_LIB = -lboost_iostreams
+BOOST_LIBS = -L/usr/lib
+BOOST_MPI_LIB = -lboost_mpi -lboost_serialization -L/usr/lib/openmpi/lib -lmpi_cxx
+BOOST_MPI_PYTHON_LIB = -lboost_mpi_python -lboost_serialization -lboost_python -L/usr/lib -lpython2.6 -lpthread -ldl -lutil -lm -lboost_mpi -lboost_serialization -L/usr/lib/openmpi/lib -lmpi_cxx -L/usr/lib/openmpi/lib -lmpi_cxx
+BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options
+BOOST_PYTHON_LIB = -lboost_python -L/usr/lib -lpython2.6 -lpthread -ldl -lutil -lm
+BOOST_REGEX_LIB = -lboost_regex
+BOOST_SERIALIZATION_LIB = -lboost_serialization
+BOOST_SIGNALS_LIB = -lboost_signals
+BOOST_SYSTEM_LIB = -lboost_system
+BOOST_THREAD_LIB = -lboost_thread-mt
+BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework
+BOOST_VERSION = 1_41
+BOOST_WSERIALIZATION_LIB = -lboost_wserialization
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2
+CPP = gcc -E
+CPPFLAGS =
+CPPUNIT_CFLAGS =
+CPPUNIT_CONFIG = /usr/bin/cppunit-config
+CPPUNIT_LIBS = -lcppunit -ldl
+CPPUNIT_VERSION = 1.12.1
+CXX = g++
+CXXCPP = g++ -E
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS =
+CXXFLAGS_DEBUG =
+CXXFLAGS_OPT = -DASSERT_LEVEL=1 -O2 -Wall -pipe
+CYGPATH_W = echo
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DSYMUTIL =
+DUMPBIN =
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /bin/grep -E
+EXEEXT =
+FGREP = /bin/grep -F
+GENERIC_LIBRARY_VERSION = 99:99:99
+GREP = /bin/grep
+GSL_CFLAGS = -I/usr/include
+GSL_CONFIG = /usr/bin/gsl-config
+GSL_LIBS = -lgsl -lgslcblas -lm
+GSL_VERSION = 1.13
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LD = /usr/bin/ld
+LDFLAGS =
+LIBOBJS =
+LIBS =
+LIBTOOL = $(SHELL) $(top_builddir)/libtool
+LIPO =
+LN_S = ln -s
+LTLIBOBJS =
+MAKEINFO = ${SHELL} /home/localoriuser/dev/dsimsvn/config/missing --run makeinfo
+MKDIR_P = /bin/mkdir -p
+MPIGEN_CFLAGS = -I/usr/include/openmpi-i386 -I/usr/include/openmpi-i386/openmpi -I/usr/include/openmpi-i386/32 -m32
+MPIGEN_LIBS = -L/usr/lib/openmpi/lib -lmpi_cxx
+MPIGEN_VERSION = 1.3.3
+MYSQL_CFLAGS = -I/usr/include/mysql
+MYSQL_C_LIB = mysqlclient
+MYSQL_LIBS = -L/usr/lib/mysql -lmysqlclient
+MYSQL_VERSION = 5.1.46
+NM = /usr/bin/nm -B
+NMEDIT =
+OBJDUMP = objdump
+OBJEXT = o
+OPENMPI_CFLAGS = -I/usr/include/openmpi-i386 -I/usr/include/openmpi-i386/openmpi -I/usr/include/openmpi-i386/32 -m32
+OPENMPI_LIBS = -L/usr/lib/openmpi/lib -lmpi_cxx
+OPENMPI_VERSION = 1.3.3
+OTOOL =
+OTOOL64 =
+PACKAGE = dsim
+PACKAGE_BUGREPORT = den...@us...
+PACKAGE_DEBUG = dsim
+PACKAGE_NAME = DSIM
+PACKAGE_STRING = DSIM 99.99.99
+PACKAGE_TARNAME = dsim
+PACKAGE_VERSION = 99.99.99
+PATH_SEPARATOR = :
+PERL = /usr/bin/perl
+PYTHON = /usr/bin/python
+PYTHON_ADD_LIBS = -lpthread -ldl -lutil -lm
+PYTHON_CFLAGS = -I/usr/include/python2.6
+PYTHON_LIBS = -L/usr/lib -lpython2.6
+PYTHON_VERSION = 2.6.2
+RANLIB = ranlib
+RPM_RELEASE = 1
+RT_LIBS = -lrt
+SED = /bin/sed
+SET_MAKE =
+SHELL = /bin/sh
+SOCI_CFLAGS = -DSOCI_HEADERS_BURIED -DSOCI_MYSQL_HEADERS_BURIED -I/usr/include/mysql
+SOCI_CORE_LIB = soci_core
+SOCI_LIBS = -L/usr/lib/mysql -lmysqlclient -lsoci_core -lsoci_mysql -ldl
+SOCI_VERSION = 3.0.0
+STRIP = strip
+UPLOAD_COMMAND = ncftpput -u ori-data -v orinet.nce.amadeus.net /remote/oridata/www/oridist/projects/dsim/99.99.99
+VERSION = 99.99.99
+XERCES_CFLAGS = -I/usr/include
+XERCES_LIBS = -L/usr/lib -lxerces-c
+XERCES_VERSION = 2.8.0
+abs_builddir = /home/localoriuser/dev/dsimsvn/test/boost/mpi
+abs_srcdir = /home/localoriuser/dev/dsimsvn/test/boost/mpi
+abs_top_builddir = /home/localoriuser/dev/dsimsvn
+abs_top_srcdir = /home/localoriuser/dev/dsimsvn
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+ac_ct_DUMPBIN =
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias =
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+diff_ok = yes
+docdir = ${datarootdir}/doc/dsim-99.99.99
+doxygen_ok = yes
+dvidir = ${docdir}
+dvips_ok = no
+exec_prefix = ${prefix}
+gs_ok = yes
+host = i686-pc-linux-gnu
+host_alias =
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = ${SHELL} /home/localoriuser/dev/dsimsvn/config/install-sh
+latex_ok = no
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+lt_ECHO = echo
+mandir = ${datarootdir}/man
+mkdir_p = /bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+python_configdir = /usr/lib/python2.6/config
+python_incdir =
+python_libdir = /usr/lib
+sbindir = ${exec_prefix}/sbin
+sed_ok = yes
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias =
+top_build_prefix = ../../../
+top_builddir = ../../..
+top_srcdir = ../../..
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
+AM_LDFLAGS =
+MAINTAINERCLEANFILES = Makefile.in
+
+#
+SUBDIRS =
+EXTRA_DIST = pympi.py
+
+# mpi_c must be compiled with mpic++
+# Note: mpic++/mpiCC is a wrapper around the MPI C++ compiler, and knows
+# where MPI is installed. So, there is no need to specify any other
+# CFLAGS or LDFLAGS at that stage.
+mpi_c_SOURCES = mpi_c.cpp
+
+#
+mpi_SOURCES = mpi.cpp
+mpi_CXXFLAGS = $(BOOST_CFLAGS) $(MPIGEN_CFLAGS)
+mpi_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
+mpi_LDADD =
+mpi_p2p_SOURCES = mpi_p2p.cpp
+mpi_p2p_CXXFLAGS = $(BOOST_CFLAGS) $(MPIGEN_CFLAGS)
+mpi_p2p_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
+mpi_p2p_LDADD =
+mpi_p2p_nb_SOURCES = mpi_p2p_nb.cpp
+mpi_p2p_nb_CXXFLAGS = $(BOOST_CFLAGS) $(MPIGEN_CFLAGS)
+mpi_p2p_nb_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
+mpi_p2p_nb_LDADD =
+alo_example_SOURCES = alo_example.cpp
+alo_example_CXXFLAGS = $(BOOST_CFLAGS) $(MPIGEN_CFLAGS)
+alo_example_LDFLAGS = $(BOOST_LIBS) $(BOOST_MPI_LIB)
+alo_example_LDADD =
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/Makefile.common $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/boost/mpi/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu test/boost/mpi/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+ @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+alo_example$(EXEEXT): $(alo_example_OBJECTS) $(alo_example_DEPENDENCIES)
+ @rm -f alo_example$(EXEEXT)
+ $(alo_example_LINK) $(alo_example_OBJECTS) $(alo_example_LDADD) $(LIBS)
+mpi$(EXEEXT): $(mpi_OBJECTS) $(mpi_DEPENDENCIES)
+ @rm -f mpi$(EXEEXT)
+ $(mpi_LINK) $(mpi_OBJECTS) $(mpi_LDADD) $(LIBS)
+mpi_p2p$(EXEEXT): $(mpi_p2p_OBJECTS) $(mpi_p2p_DEPENDENCIES)
+ @rm -f mpi_p2p$(EXEEXT)
+ $(mpi_p2p_LINK) $(mpi_p2p_OBJECTS) $(mpi_p2p_LDADD) $(LIBS)
+mpi_p2p_nb$(EXEEXT): $(mpi_p2p_nb_OBJECTS) $(mpi_p2p_nb_DEPENDENCIES)
+ @rm -f mpi_p2p_nb$(EXEEXT)
+ $(mpi_p2p_nb_LINK) $(mpi_p2p_nb_OBJECTS) $(mpi_p2p_nb_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/alo_example-alo_example.Po
+include ./$(DEPDIR)/mpi-mpi.Po
+include ./$(DEPDIR)/mpi_c.Po
+include ./$(DEPDIR)/mpi_p2p-mpi_p2p.Po
+include ./$(DEPDIR)/mpi_p2p_nb-mpi_p2p_nb.Po
+
+.cpp.o:
+ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+# source='$<' object='$@' libtool=yes \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(LTCXXCOMPILE) -c -o $@ $<
+
+alo_example-alo_example.o: alo_example.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alo_example_CXXFLAGS) $(CXXFLAGS) -MT alo_example-alo_example.o -MD -MP -MF $(DEPDIR)/alo_example-alo_example.Tpo -c -o alo_example-alo_example.o `test -f 'alo_example.cpp' || echo '$(srcdir)/'`alo_example.cpp
+ $(am__mv) $(DEPDIR)/alo_example-alo_example.Tpo $(DEPDIR)/alo_example-alo_example.Po
+# source='alo_example.cpp' object='alo_example-alo_example.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alo_example_CXXFLAGS) $(CXXFLAGS) -c -o alo_example-alo_example.o `test -f 'alo_example.cpp' || echo '$(srcdir)/'`alo_example.cpp
+
+alo_example-alo_example.obj: alo_example.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alo_example_CXXFLAGS) $(CXXFLAGS) -MT alo_example-alo_example.obj -MD -MP -MF $(DEPDIR)/alo_example-alo_example.Tpo -c -o alo_example-alo_example.obj `if test -f 'alo_example.cpp'; then $(CYGPATH_W) 'alo_example.cpp'; else $(CYGPATH_W) '$(srcdir)/alo_example.cpp'; fi`
+ $(am__mv) $(DEPDIR)/alo_example-alo_example.Tpo $(DEPDIR)/alo_example-alo_example.Po
+# source='alo_example.cpp' object='alo_example-alo_example.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(alo_example_CXXFLAGS) $(CXXFLAGS) -c -o alo_example-alo_example.obj `if test -f 'alo_example.cpp'; then $(CYGPATH_W) 'alo_example.cpp'; else $(CYGPATH_W) '$(srcdir)/alo_example.cpp'; fi`
+
+mpi-mpi.o: mpi.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_CXXFLAGS) $(CXXFLAGS) -MT mpi-mpi.o -MD -MP -MF $(DEPDIR)/mpi-mpi.Tpo -c -o mpi-mpi.o `test -f 'mpi.cpp' || echo '$(srcdir)/'`mpi.cpp
+ $(am__mv) $(DEPDIR)/mpi-mpi.Tpo $(DEPDIR)/mpi-mpi.Po
+# source='mpi.cpp' object='mpi-mpi.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_CXXFLAGS) $(CXXFLAGS) -c -o mpi-mpi.o `test -f 'mpi.cpp' || echo '$(srcdir)/'`mpi.cpp
+
+mpi-mpi.obj: mpi.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_CXXFLAGS) $(CXXFLAGS) -MT mpi-mpi.obj -MD -MP -MF $(DEPDIR)/mpi-mpi.Tpo -c -o mpi-mpi.obj `if test -f 'mpi.cpp'; then $(CYGPATH_W) 'mpi.cpp'; else $(CYGPATH_W) '$(srcdir)/mpi.cpp'; fi`
+ $(am__mv) $(DEPDIR)/mpi-mpi.Tpo $(DEPDIR)/mpi-mpi.Po
+# source='mpi.cpp' object='mpi-mpi.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_CXXFLAGS) $(CXXFLAGS) -c -o mpi-mpi.obj `if test -f 'mpi.cpp'; then $(CYGPATH_W) 'mpi.cpp'; else $(CYGPATH_W) '$(srcdir)/mpi.cpp'; fi`
+
+mpi_p2p-mpi_p2p.o: mpi_p2p.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_CXXFLAGS) $(CXXFLAGS) -MT mpi_p2p-mpi_p2p.o -MD -MP -MF $(DEPDIR)/mpi_p2p-mpi_p2p.Tpo -c -o mpi_p2p-mpi_p2p.o `test -f 'mpi_p2p.cpp' || echo '$(srcdir)/'`mpi_p2p.cpp
+ $(am__mv) $(DEPDIR)/mpi_p2p-mpi_p2p.Tpo $(DEPDIR)/mpi_p2p-mpi_p2p.Po
+# source='mpi_p2p.cpp' object='mpi_p2p-mpi_p2p.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_CXXFLAGS) $(CXXFLAGS) -c -o mpi_p2p-mpi_p2p.o `test -f 'mpi_p2p.cpp' || echo '$(srcdir)/'`mpi_p2p.cpp
+
+mpi_p2p-mpi_p2p.obj: mpi_p2p.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_CXXFLAGS) $(CXXFLAGS) -MT mpi_p2p-mpi_p2p.obj -MD -MP -MF $(DEPDIR)/mpi_p2p-mpi_p2p.Tpo -c -o mpi_p2p-mpi_p2p.obj `if test -f 'mpi_p2p.cpp'; then $(CYGPATH_W) 'mpi_p2p.cpp'; else $(CYGPATH_W) '$(srcdir)/mpi_p2p.cpp'; fi`
+ $(am__mv) $(DEPDIR)/mpi_p2p-mpi_p2p.Tpo $(DEPDIR)/mpi_p2p-mpi_p2p.Po
+# source='mpi_p2p.cpp' object='mpi_p2p-mpi_p2p.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_CXXFLAGS) $(CXXFLAGS) -c -o mpi_p2p-mpi_p2p.obj `if test -f 'mpi_p2p.cpp'; then $(CYGPATH_W) 'mpi_p2p.cpp'; else $(CYGPATH_W) '$(srcdir)/mpi_p2p.cpp'; fi`
+
+mpi_p2p_nb-mpi_p2p_nb.o: mpi_p2p_nb.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_nb_CXXFLAGS) $(CXXFLAGS) -MT mpi_p2p_nb-mpi_p2p_nb.o -MD -MP -MF $(DEPDIR)/mpi_p2p_nb-mpi_p2p_nb.Tpo -c -o mpi_p2p_nb-mpi_p2p_nb.o `test -f 'mpi_p2p_nb.cpp' || echo '$(srcdir)/'`mpi_p2p_nb.cpp
+ $(am__mv) $(DEPDIR)/mpi_p2p_nb-mpi_p2p_nb.Tpo $(DEPDIR)/mpi_p2p_nb-mpi_p2p_nb.Po
+# source='mpi_p2p_nb.cpp' object='mpi_p2p_nb-mpi_p2p_nb.o' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_nb_CXXFLAGS) $(CXXFLAGS) -c -o mpi_p2p_nb-mpi_p2p_nb.o `test -f 'mpi_p2p_nb.cpp' || echo '$(srcdir)/'`mpi_p2p_nb.cpp
+
+mpi_p2p_nb-mpi_p2p_nb.obj: mpi_p2p_nb.cpp
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_nb_CXXFLAGS) $(CXXFLAGS) -MT mpi_p2p_nb-mpi_p2p_nb.obj -MD -MP -MF $(DEPDIR)/mpi_p2p_nb-mpi_p2p_nb.Tpo -c -o mpi_p2p_nb-mpi_p2p_nb.obj `if test -f 'mpi_p2p_nb.cpp'; then $(CYGPATH_W) 'mpi_p2p_nb.cpp'; else $(CYGPATH_W) '$(srcdir)/mpi_p2p_nb.cpp'; fi`
+ $(am__mv) $(DEPDIR)/mpi_p2p_nb-mpi_p2p_nb.Tpo $(DEPDIR)/mpi_p2p_nb-mpi_p2p_nb.Po
+# source='mpi_p2p_nb.cpp' object='mpi_p2p_nb-mpi_p2p_nb.obj' libtool=no \
+# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \
+# $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpi_p2p_nb_CXXFLAGS) $(CXXFLAGS) -c -o mpi_p2p_nb-mpi_p2p_nb.obj `if test -f 'mpi_p2p_nb.cpp'; then $(CYGPATH_W) 'mpi_p2p_nb.cpp'; else $(CYGPATH_W) '$(srcdir)/mpi_p2p_nb.cpp'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \...
[truncated message content] |
|
From: <sng...@us...> - 2010-07-09 13:13:17
|
Revision: 89
http://dsim.svn.sourceforge.net/dsim/?rev=89&view=rev
Author: snguyenkim
Date: 2010-07-09 13:13:11 +0000 (Fri, 09 Jul 2010)
Log Message:
-----------
Example for a simple log server
Added Paths:
-----------
trunk/dsim/test/boost/mpi/log_server/
trunk/dsim/test/boost/mpi/log_server/Makefile
trunk/dsim/test/boost/mpi/log_server/client
trunk/dsim/test/boost/mpi/log_server/client.cpp
trunk/dsim/test/boost/mpi/log_server/ex.log
trunk/dsim/test/boost/mpi/log_server/log_server
trunk/dsim/test/boost/mpi/log_server/log_server.cpp
trunk/dsim/test/boost/mpi/log_server/log_server_client.sh
Added: trunk/dsim/test/boost/mpi/log_server/Makefile
===================================================================
--- trunk/dsim/test/boost/mpi/log_server/Makefile (rev 0)
+++ trunk/dsim/test/boost/mpi/log_server/Makefile 2010-07-09 13:13:11 UTC (rev 89)
@@ -0,0 +1,11 @@
+ALL: log_server client
+
+CC = mpicxx -lmpi_cxx -L/usr/lib/openmpi/lib/ -lboost_mpi
+
+log_server: log_server.cpp
+ $(CC) log_server.cpp -o log_server
+client: client.cpp
+ $(CC) client.cpp -o client
+
+clean:
+ rm -fv log_server client
Added: trunk/dsim/test/boost/mpi/log_server/client
===================================================================
(Binary files differ)
Property changes on: trunk/dsim/test/boost/mpi/log_server/client
___________________________________________________________________
Added: svn:executable
+ *
Added: svn:mime-type
+ application/octet-stream
Added: trunk/dsim/test/boost/mpi/log_server/client.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/log_server/client.cpp (rev 0)
+++ trunk/dsim/test/boost/mpi/log_server/client.cpp 2010-07-09 13:13:11 UTC (rev 89)
@@ -0,0 +1,64 @@
+#include <boost/mpi.hpp>
+#include <iostream>
+#include <string>
+#include <unistd.h>
+#include <time.h>
+#include <sys/types.h>
+#include<stdio.h>
+
+
+using namespace std;
+namespace mpi=boost::mpi;
+
+//inactive waiting: wake up every 1s for verifying if there is a message
+void inactive_wait(mpi::communicator& world){
+ boost::optional<mpi::status> stat = boost::none;//stat is not initialised
+ while(1){
+ stat = world.iprobe(mpi::any_source, mpi::any_tag); //inactive waiting
+
+ //usleep(100);//we have the faster result but it takes more CPU
+ sleep(1); //better choice
+
+ if (stat){
+ stat = boost::none; //stat goes back to waiting state
+ return;//ah, someone calls me !
+ }
+
+ }
+ //world.probe(root,tag);//active waiting: take much more resources
+}
+
+int main(int argc, char ** argv ){
+ mpi::environment env(argc, argv);
+ mpi::communicator world;
+
+ int root = 0; //server's rank
+ int tag = 0; // the tag (or the port) used for communication
+ int dest;
+
+ int rank = world.rank(); //process's rank
+ string message; // message received from client
+ bool tmp;
+
+ if (rank > 0){
+ ostringstream oss;
+ oss << rank << " says alo";
+ message = oss.str();
+
+ while (1){
+ world.send(root, tag, rank); //try to get a place
+
+ //waits for a response, might takes a while as server takes care of someone else
+ inactive_wait(world);
+ world.recv(root, tag, tmp );
+
+ // Now I can send my message
+ cout << "sending :" << message << endl;
+ world.send(root,tag, message);
+
+ sleep (1); //not good to be too actif ...
+ }
+ }
+ return 0;
+};
+
Added: trunk/dsim/test/boost/mpi/log_server/ex.log
===================================================================
--- trunk/dsim/test/boost/mpi/log_server/ex.log (rev 0)
+++ trunk/dsim/test/boost/mpi/log_server/ex.log 2010-07-09 13:13:11 UTC (rev 89)
@@ -0,0 +1,18 @@
+1 says alo
+2 says alo
+1 says alo
+2 says alo
+1 says alo
+2 says alo
+1 says alo
+2 says alo
+1 says alo
+2 says alo
+1 says alo
+2 says alo
+1 says alo
+2 says alo
+1 says alo
+2 says alo
+1 says alo
+2 says alo
Added: trunk/dsim/test/boost/mpi/log_server/log_server
===================================================================
(Binary files differ)
Property changes on: trunk/dsim/test/boost/mpi/log_server/log_server
___________________________________________________________________
Added: svn:executable
+ *
Added: svn:mime-type
+ application/octet-stream
Added: trunk/dsim/test/boost/mpi/log_server/log_server.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/log_server/log_server.cpp (rev 0)
+++ trunk/dsim/test/boost/mpi/log_server/log_server.cpp 2010-07-09 13:13:11 UTC (rev 89)
@@ -0,0 +1,81 @@
+/*
+* Object: Make a simple log server
+* Utilisation: Run log_server_client.sh
+* Problem: avoid competitive sending, i.d 2 clients send in a same time
+* Solution: Server takes care of client one by one
+* Note: Usage of inactive_wait funtion, which reduces CPU charge evidently
+*/
+
+#include <boost/mpi.hpp>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <unistd.h>
+#include <time.h>
+#include <sys/types.h>
+#include<stdio.h>
+
+using namespace std;
+namespace mpi=boost::mpi;
+
+/* Write message to filename */
+void logToFile(string filename, string message){
+ ofstream out;
+ out.open(filename.c_str(), ios_base::app);
+ out << message << "\n" ;
+ out.close();
+}
+
+//inactive waiting: wake up every 1s for verifying if there is a message
+void inactive_wait(mpi::communicator& world){
+ boost::optional<mpi::status> stat = boost::none;//stat is not initialised
+ while(1){
+ stat = world.iprobe(mpi::any_source, mpi::any_tag); //inactive waiting
+
+ //usleep(100);//we have the faster result but it takes more CPU
+ sleep(1); //better choice
+
+ if (stat){
+ stat = boost::none; //stat goes back to waiting state
+ return;//ah, someone calls me !
+ }
+
+ }
+ //world.probe(root,tag);//active waiting: take much more resources
+}
+
+int main(int argc, char ** argv){
+ mpi::environment env(argc, argv);
+ mpi::communicator world;
+
+ int root = 0; //server's rank
+ int tag = 0; // the tag (or the port) used for communication
+ int dest;
+
+ int rank = world.rank(); //process's rank
+ string message; // message received from client
+ bool yes=true, tmp;
+
+ if (rank==0){
+ cout << "We have " << world.size() -1 << " clients " << endl;
+ cout << "=============================================================" << endl;
+
+ while (1){
+ //waits for a demand, might takes a while as client aren't always gossip
+ inactive_wait(world);
+ world.recv(mpi::any_source,tag,dest);
+
+ cout << "server received from client: " << dest << endl ;
+ world.send(dest,tag,yes); //ok, you can do it
+
+ // waiting for message from client
+ inactive_wait(world);
+ world.recv(dest,tag,message);
+
+ logToFile("ex.log", message);
+ cout << "server received: " << message << endl ;
+ }
+ }
+
+ return 0;
+};
Added: trunk/dsim/test/boost/mpi/log_server/log_server_client.sh
===================================================================
--- trunk/dsim/test/boost/mpi/log_server/log_server_client.sh (rev 0)
+++ trunk/dsim/test/boost/mpi/log_server/log_server_client.sh 2010-07-09 13:13:11 UTC (rev 89)
@@ -0,0 +1,5 @@
+# Execute log_server on localhost, 4 client on localhost (or fed1, fed2)
+#!/bin/sh
+
+/usr/lib/openmpi/bin/mpirun --host localhost -n 1 log_server :\
+ --host localhost -n 2 client
Property changes on: trunk/dsim/test/boost/mpi/log_server/log_server_client.sh
___________________________________________________________________
Added: svn:executable
+ *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <sng...@us...> - 2010-07-09 13:18:00
|
Revision: 90
http://dsim.svn.sourceforge.net/dsim/?rev=90&view=rev
Author: snguyenkim
Date: 2010-07-09 13:17:52 +0000 (Fri, 09 Jul 2010)
Log Message:
-----------
Modify a little master-slave example
Modified Paths:
--------------
trunk/dsim/test/boost/mpi/alo_example.cpp
trunk/dsim/test/boost/mpi/master_slave/Makefile
trunk/dsim/test/boost/mpi/master_slave/master.cpp
trunk/dsim/test/boost/mpi/master_slave/master_slave.sh
trunk/dsim/test/boost/mpi/master_slave/slave
Modified: trunk/dsim/test/boost/mpi/alo_example.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/alo_example.cpp 2010-07-09 13:13:11 UTC (rev 89)
+++ trunk/dsim/test/boost/mpi/alo_example.cpp 2010-07-09 13:17:52 UTC (rev 90)
@@ -11,6 +11,7 @@
int main(int argc, char ** argv){
mpi::environment env(argc, argv);
mpi::communicator world;
+
int rank = world.rank();
string s;
int tag = 10;
Modified: trunk/dsim/test/boost/mpi/master_slave/Makefile
===================================================================
--- trunk/dsim/test/boost/mpi/master_slave/Makefile 2010-07-09 13:13:11 UTC (rev 89)
+++ trunk/dsim/test/boost/mpi/master_slave/Makefile 2010-07-09 13:17:52 UTC (rev 90)
@@ -1,6 +1,6 @@
ALL: master slave
-CC = mpicxx -lmpi_cxx -lboost_mpi
+CC = mpicxx -lmpi_cxx -L/usr/lib/openmpi/lib/ -lboost_mpi
master: master.cpp
$(CC) master.cpp -o master
Modified: trunk/dsim/test/boost/mpi/master_slave/master.cpp
===================================================================
--- trunk/dsim/test/boost/mpi/master_slave/master.cpp 2010-07-09 13:13:11 UTC (rev 89)
+++ trunk/dsim/test/boost/mpi/master_slave/master.cpp 2010-07-09 13:17:52 UTC (rev 90)
@@ -1,6 +1,6 @@
/*
- * Object: Make a simple master-slave program
- * Utilisation: User tape a number, master send it to a slave (he is chosen based on the number of slave ), that slave return the square of that number to master.
+ * Object: a simple master-slave example
+ * Usage: Run master_slave.sh
*
*/
Modified: trunk/dsim/test/boost/mpi/master_slave/master_slave.sh
===================================================================
--- trunk/dsim/test/boost/mpi/master_slave/master_slave.sh 2010-07-09 13:13:11 UTC (rev 89)
+++ trunk/dsim/test/boost/mpi/master_slave/master_slave.sh 2010-07-09 13:17:52 UTC (rev 90)
@@ -1,5 +1,5 @@
-#Execute trademgen on three machines: local, fed1 and fed2
+# Execute master on localhost, 4 slave on localhost (or fed1, fed2)
#!/bin/sh
/usr/lib/openmpi/bin/mpirun --host localhost -n 1 master : \
- --host fed1 -n 4 slave
+ --host localhost -n 4 slave
Modified: trunk/dsim/test/boost/mpi/master_slave/slave
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|