Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Fri, 5 Feb 2016 20:55:44 +0000 (21:55 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Fri, 5 Feb 2016 20:55:44 +0000 (21:55 +0100)
20 files changed:
examples/platforms/conf/gridpp_grid_2004.xml [deleted file]
examples/platforms/conf/lcg_sept2004_grid.xml [deleted file]
examples/platforms/conf/transform_optorsim_platform.pl
examples/simdag/dot/test_simdag_dotload.tesh
include/smpi/smpi.h
include/smpi/smpi_cocci.h [deleted file]
src/simix/RawContext.cpp
src/simix/smx_context.cpp
src/smpi/fixsrc.pl [deleted file]
src/smpi/myprintloc.cocci [deleted file]
src/smpi/patch_source.sh [deleted file]
src/smpi/private.h
src/smpi/replace_globals.cocci [deleted file]
src/smpi/replace_static.cocci [deleted file]
src/xbt/xbt_main.c
teshsuite/smpi/mpich3-test/coll/allgatherv4.c
teshsuite/smpi/mpich3-test/coll/allgatherv4_manual.c
teshsuite/smpi/mpich3-test/coll/allred.c
teshsuite/smpi/mpich3-test/util/mtest_manual.c
tools/cmake/DefinePackages.cmake

diff --git a/examples/platforms/conf/gridpp_grid_2004.xml b/examples/platforms/conf/gridpp_grid_2004.xml
deleted file mode 100644 (file)
index af2d582..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-<!-- This platform was automatically converted from the OptorSim platform.
-
-  As such, it only contains information of the cluster interconnexion,
-  not on the caracteristics of each cluster. In a sense, it describes
-  the network of a National Research and Education Network (NREN), but
-  not of a computational platform.
-  
-  We hope that you find it useful anyway. I you know how to complete
-  this information with data on the cluster configurations, please
-  drop us a mail so that we can add this information. -->
-
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-<platform version="3">
-<AS  id="AS0"  routing="Floyd">
-<!--0 WC_Gla-->
-<!--1 WC_Edi-->
-<!--2 WC_Manc-->
-<!--3 WC_Leeds-->
-<!--4 WC_Reading-->
-<!--5 WC_London-->
-<!--6 WC_Bristol-->
-<!--7 WC_Portsmouth-->
-<!--8 Gla_router-->
-<!--9 Edi_router-->
-<!--10 NorMAN-->
-<!--11 YHMAN-->
-<!--12 EastNet-->
-<!--13 LMN-->
-<!--14 SWAN_BWEMAN-->
-<!--15 TVN-->
-<!--16 MidMAN-->
-<!--17 NNW_router-->
-<!--18 Glasgow-->
-<!--19 Edi-->
-<!--20 Durham-->
-<!--21 Sheffield-->
-<!--22 Cam-->
-<!--23 UCL-->
-<!--24 IC-->
-<!--25 QMW-->
-<!--26 Brunel-->
-<!--27 RHNBC-->
-<!--28 Bristol-->
-<!--29 RAL-->
-<!--30 Oxford-->
-<!--31 B_ham-->
-<!--32 L_pool-->
-<!--33 Manc-->
-<!--34 Lanc-->
-<!--35 CERN-->
-       <host id="WC_Edi" power="1f"/>
-       <host id="WC_Manc" power="1f"/>
-       <host id="Gla_router" power="1f"/>
-       <host id="Glasgow" power="20Mf"/>
-       <host id="Edi" power="25.6Mf"/>
-       <host id="Durham" power="4.134Mf"/>
-       <host id="Sheffield" power="49.64Mf"/>
-       <host id="Cam" power="1.32Mf"/>
-       <host id="UCL" power="22.5Mf"/>
-       <host id="IC" power="440Mf"/>
-       <host id="QMW" power="44Mf"/>
-       <host id="Brunel" power="85.68Mf"/>
-       <host id="RHNBC" power="7.2Mf"/>
-       <host id="Bristol" power="60Mf"/>
-       <host id="RAL" power="556.956Mf"/>
-       <host id="Oxford" power="156.56Mf"/>
-       <host id="B_ham" power="13.5Mf"/>
-       <host id="L_pool" power="308.07Mf"/>
-       <host id="Manc" power="22.5Mf"/>
-       <host id="Lanc" power="204.8Mf"/>
-       <host id="CERN" power="1f"/>
-
-       <router id="WC_Gla"/>
-       <router id="WC_Leeds"/>
-       <router id="WC_Reading"/>
-       <router id="WC_London"/>
-       <router id="WC_Bristol"/>
-       <router id="WC_Portsmouth"/>
-       <router id="Edi_router"/>
-       <router id="NorMAN"/>
-       <router id="YHMAN"/>
-       <router id="EastNet"/>
-       <router id="LMN"/>
-       <router id="SWAN_BWEMAN"/>
-       <router id="TVN"/>
-       <router id="MidMAN"/>
-       <router id="NNW_router"/>
-
-       <link id="link0" bandwidth="10kBps"/>
-       <link id="link1" bandwidth="10kBps"/>
-       <link id="link2" bandwidth="1kBps"/>
-       <link id="link3" bandwidth="10kBps"/>
-       <link id="link4" bandwidth="1kBps"/>
-       <link id="link5" bandwidth="10kBps"/>
-       <link id="link6" bandwidth="10kBps"/>
-       <link id="link7" bandwidth="1kBps"/>
-       <link id="link8" bandwidth="1kBps"/>
-       <link id="link9" bandwidth="10kBps"/>
-       <link id="link10" bandwidth="622Bps"/>
-       <link id="link11" bandwidth="1kBps"/>
-       <link id="link12" bandwidth="10kBps"/>
-       <link id="link13" bandwidth="10kBps"/>
-       <link id="link14" bandwidth="622Bps"/>
-       <link id="link15" bandwidth="10kBps"/>
-       <link id="link16" bandwidth="1kBps"/>
-       <link id="link17" bandwidth="1kBps"/>
-       <link id="link18" bandwidth="10kBps"/>
-       <link id="link19" bandwidth="622Bps"/>
-       <link id="link20" bandwidth="2.5kBps"/>
-       <link id="link21" bandwidth="1kBps"/>
-       <link id="link22" bandwidth="1kBps"/>
-       <link id="link23" bandwidth="155Bps"/>
-       <link id="link24" bandwidth="155Bps"/>
-       <link id="link25" bandwidth="155Bps"/>
-       <link id="link26" bandwidth="155Bps"/>
-       <link id="link27" bandwidth="155Bps"/>
-       <link id="link28" bandwidth="155Bps"/>
-       <link id="link29" bandwidth="155Bps"/>
-       <link id="link30" bandwidth="155Bps"/>
-       <link id="link31" bandwidth="622Bps"/>
-       <link id="link32" bandwidth="622Bps"/>
-       <link id="link33" bandwidth="622Bps"/>
-       <link id="link34" bandwidth="622Bps"/>
-       <link id="link35" bandwidth="155Bps"/>
-       <link id="link36" bandwidth="1kBps"/>
-       <link id="link37" bandwidth="155Bps"/>
-
-       <route src="WC_Gla" dst="WC_Gla">
-               <link_ctn id="link0"/>
-       </route>
-       <route src="WC_Gla" dst="WC_Edi">
-               <link_ctn id="link1"/>
-       </route>
-       <route src="WC_Gla" dst="WC_Portsmouth">
-               <link_ctn id="link2"/>
-       </route>
-       <route src="WC_Edi" dst="WC_Manc">
-               <link_ctn id="link3"/>
-       </route>
-       <route src="WC_Edi" dst="Gla_router">
-               <link_ctn id="link4"/>
-       </route>
-       <route src="WC_Manc" dst="WC_Manc">
-               <link_ctn id="link5"/>
-       </route>
-       <route src="WC_Manc" dst="WC_Leeds">
-               <link_ctn id="link6"/>
-       </route>
-       <route src="WC_Manc" dst="TVN">
-               <link_ctn id="link7"/>
-       </route>
-       <route src="WC_Manc" dst="MidMAN">
-               <link_ctn id="link8"/>
-       </route>
-       <route src="WC_Leeds" dst="WC_Reading">
-               <link_ctn id="link9"/>
-       </route>
-       <route src="WC_Leeds" dst="Edi_router">
-               <link_ctn id="link10"/>
-       </route>
-       <route src="WC_Leeds" dst="NorMAN">
-               <link_ctn id="link11"/>
-       </route>
-       <route src="WC_Reading" dst="WC_Reading">
-               <link_ctn id="link12"/>
-       </route>
-       <route src="WC_Reading" dst="WC_London">
-               <link_ctn id="link13"/>
-       </route>
-       <route src="WC_Reading" dst="SWAN_BWEMAN">
-               <link_ctn id="link14"/>
-       </route>
-       <route src="WC_London" dst="WC_Bristol">
-               <link_ctn id="link15"/>
-       </route>
-       <route src="WC_London" dst="YHMAN">
-               <link_ctn id="link16"/>
-       </route>
-       <route src="WC_London" dst="EastNet">
-               <link_ctn id="link17"/>
-       </route>
-       <route src="WC_Bristol" dst="WC_Bristol">
-               <link_ctn id="link18"/>
-       </route>
-       <route src="WC_Bristol" dst="LMN">
-               <link_ctn id="link19"/>
-       </route>
-       <route src="WC_Portsmouth" dst="Lanc">
-               <link_ctn id="link20"/>
-       </route>
-       <route src="Gla_router" dst="NNW_router">
-               <link_ctn id="link21"/>
-       </route>
-       <route src="Edi_router" dst="Glasgow">
-               <link_ctn id="link22"/>
-       </route>
-       <route src="NorMAN" dst="Edi">
-               <link_ctn id="link23"/>
-       </route>
-       <route src="YHMAN" dst="Durham">
-               <link_ctn id="link24"/>
-       </route>
-       <route src="EastNet" dst="Sheffield">
-               <link_ctn id="link25"/>
-       </route>
-       <route src="LMN" dst="Cam">
-               <link_ctn id="link26"/>
-       </route>
-       <route src="LMN" dst="UCL">
-               <link_ctn id="link27"/>
-       </route>
-       <route src="LMN" dst="IC">
-               <link_ctn id="link28"/>
-       </route>
-       <route src="LMN" dst="QMW">
-               <link_ctn id="link29"/>
-       </route>
-       <route src="LMN" dst="Brunel">
-               <link_ctn id="link30"/>
-       </route>
-       <route src="SWAN_BWEMAN" dst="RHNBC">
-               <link_ctn id="link31"/>
-       </route>
-       <route src="TVN" dst="Bristol">
-               <link_ctn id="link32"/>
-       </route>
-       <route src="TVN" dst="RAL">
-               <link_ctn id="link33"/>
-       </route>
-       <route src="MidMAN" dst="Oxford">
-               <link_ctn id="link34"/>
-       </route>
-       <route src="NNW_router" dst="B_ham">
-               <link_ctn id="link35"/>
-       </route>
-       <route src="NNW_router" dst="L_pool">
-               <link_ctn id="link36"/>
-       </route>
-       <route src="NNW_router" dst="Manc">
-               <link_ctn id="link37"/>
-       </route>
-</AS>
-</platform> 
diff --git a/examples/platforms/conf/lcg_sept2004_grid.xml b/examples/platforms/conf/lcg_sept2004_grid.xml
deleted file mode 100644 (file)
index fced84a..0000000
+++ /dev/null
@@ -1,618 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
-<platform version="3">
-<AS  id="AS0"  routing="Floyd">
-       <host id="0" power="1.47Tf"/>
-       <host id="1" power="1.82Gf"/>
-       <host id="2" power="1f"/>
-       <host id="4" power="593.46Gf"/>
-       <host id="5" power="560Mf"/>
-       <host id="6" power="560Mf"/>
-       <host id="7" power="560Mf"/>
-       <host id="8" power="96Mf"/>
-       <host id="9" power="7.68Gf"/>
-       <host id="10" power="910Mf"/>
-       <host id="12" power="250Mf"/>
-       <host id="13" power="448Mf"/>
-       <host id="15" power="12.5Mf"/>
-       <host id="16" power="12.5Mf"/>
-       <host id="18" power="78Mf"/>
-       <host id="20" power="560Mf"/>
-       <host id="23" power="60Mf"/>
-       <host id="24" power="154.524Gf"/>
-       <host id="25" power="60Mf"/>
-       <host id="26" power="60Mf"/>
-       <host id="27" power="60Mf"/>
-       <host id="28" power="60Mf"/>
-       <host id="29" power="60Mf"/>
-       <host id="30" power="60Mf"/>
-       <host id="31" power="1f"/>
-       <host id="32" power="2.1Gf"/>
-       <host id="33" power="21Gf"/>
-       <host id="35" power="442Mf"/>
-       <host id="36" power="6.5Gf"/>
-       <host id="38" power="300Mf"/>
-       <host id="39" power="1.2Gf"/>
-       <host id="42" power="540Mf"/>
-       <host id="43" power="390Mf"/>
-       <host id="44" power="208Mf"/>
-       <host id="45" power="600Mf"/>
-       <host id="49" power="44.352Gf"/>
-       <host id="50" power="4.564Gf"/>
-       <host id="52" power="78.522Gf"/>
-       <host id="54" power="9.2Gf"/>
-       <host id="56" power="142.476Gf"/>
-       <host id="57" power="448Mf"/>
-       <host id="59" power="3.78Gf"/>
-       <host id="60" power="250Mf"/>
-       <host id="61" power="650Mf"/>
-       <host id="64" power="9.2Gf"/>
-       <host id="65" power="250Mf"/>
-       <host id="66" power="250Mf"/>
-       <host id="67" power="592Mf"/>
-       <host id="68" power="250Mf"/>
-       <host id="69" power="250Mf"/>
-       <host id="70" power="250Mf"/>
-       <host id="71" power="4Mf"/>
-       <host id="72" power="250Mf"/>
-       <host id="73" power="250Mf"/>
-       <host id="74" power="1f"/>
-       <host id="75" power="53.6Gf"/>
-       <host id="77" power="14.248Gf"/>
-       <host id="79" power="24Mf"/>
-       <host id="82" power="240Mf"/>
-       <host id="83" power="2.56Gf"/>
-       <host id="86" power="2.28Gf"/>
-       <host id="89" power="20Mf"/>
-       <host id="93" power="250Mf"/>
-       <host id="95" power="8.636Gf"/>
-       <host id="97" power="250Mf"/>
-       <host id="98" power="250Mf"/>
-       <host id="99" power="28.098Gf"/>
-       <host id="100" power="250Mf"/>
-
-       <router id="3"/>
-       <router id="11"/>
-       <router id="14"/>
-       <router id="17"/>
-       <router id="19"/>
-       <router id="21"/>
-       <router id="22"/>
-       <router id="34"/>
-       <router id="37"/>
-       <router id="40"/>
-       <router id="41"/>
-       <router id="46"/>
-       <router id="47"/>
-       <router id="48"/>
-       <router id="51"/>
-       <router id="53"/>
-       <router id="55"/>
-       <router id="58"/>
-       <router id="62"/>
-       <router id="63"/>
-       <router id="76"/>
-       <router id="78"/>
-       <router id="80"/>
-       <router id="81"/>
-       <router id="84"/>
-       <router id="85"/>
-       <router id="87"/>
-       <router id="88"/>
-       <router id="90"/>
-       <router id="91"/>
-       <router id="92"/>
-       <router id="94"/>
-       <router id="96"/>
-
-       <link id="link0" bandwidth="1kBps"/>
-       <link id="link1" bandwidth="10kBps"/>
-       <link id="link2" bandwidth="10kBps"/>
-       <link id="link3" bandwidth="155Bps"/>
-       <link id="link4" bandwidth="10kBps"/>
-       <link id="link5" bandwidth="10kBps"/>
-       <link id="link6" bandwidth="10kBps"/>
-       <link id="link7" bandwidth="155Bps"/>
-       <link id="link8" bandwidth="155Bps"/>
-       <link id="link9" bandwidth="155Bps"/>
-       <link id="link10" bandwidth="155Bps"/>
-       <link id="link11" bandwidth="155Bps"/>
-       <link id="link12" bandwidth="155Bps"/>
-       <link id="link13" bandwidth="155Bps"/>
-       <link id="link14" bandwidth="155Bps"/>
-       <link id="link15" bandwidth="10kBps"/>
-       <link id="link16" bandwidth="10kBps"/>
-       <link id="link17" bandwidth="155Bps"/>
-       <link id="link18" bandwidth="155Bps"/>
-       <link id="link19" bandwidth="155Bps"/>
-       <link id="link20" bandwidth="155Bps"/>
-       <link id="link21" bandwidth="155Bps"/>
-       <link id="link22" bandwidth="622Bps"/>
-       <link id="link23" bandwidth="622Bps"/>
-       <link id="link24" bandwidth="155Bps"/>
-       <link id="link25" bandwidth="10kBps"/>
-       <link id="link26" bandwidth="2.5kBps"/>
-       <link id="link27" bandwidth="155Bps"/>
-       <link id="link28" bandwidth="2.5kBps"/>
-       <link id="link29" bandwidth="1kBps"/>
-       <link id="link30" bandwidth="10kBps"/>
-       <link id="link31" bandwidth="10kBps"/>
-       <link id="link32" bandwidth="155Bps"/>
-       <link id="link33" bandwidth="1kBps"/>
-       <link id="link34" bandwidth="155Bps"/>
-       <link id="link35" bandwidth="155Bps"/>
-       <link id="link36" bandwidth="155Bps"/>
-       <link id="link37" bandwidth="155Bps"/>
-       <link id="link38" bandwidth="155Bps"/>
-       <link id="link39" bandwidth="155Bps"/>
-       <link id="link40" bandwidth="1kBps"/>
-       <link id="link41" bandwidth="1kBps"/>
-       <link id="link42" bandwidth="10kBps"/>
-       <link id="link43" bandwidth="2.5kBps"/>
-       <link id="link44" bandwidth="10kBps"/>
-       <link id="link45" bandwidth="155Bps"/>
-       <link id="link46" bandwidth="155Bps"/>
-       <link id="link47" bandwidth="2.5kBps"/>
-       <link id="link48" bandwidth="155Bps"/>
-       <link id="link49" bandwidth="155Bps"/>
-       <link id="link50" bandwidth="10kBps"/>
-       <link id="link51" bandwidth="155Bps"/>
-       <link id="link52" bandwidth="10kBps"/>
-       <link id="link53" bandwidth="155Bps"/>
-       <link id="link54" bandwidth="155Bps"/>
-       <link id="link55" bandwidth="155Bps"/>
-       <link id="link56" bandwidth="155Bps"/>
-       <link id="link57" bandwidth="2.5kBps"/>
-       <link id="link58" bandwidth="1kBps"/>
-       <link id="link59" bandwidth="10kBps"/>
-       <link id="link60" bandwidth="2.5kBps"/>
-       <link id="link61" bandwidth="2.5kBps"/>
-       <link id="link62" bandwidth="155Bps"/>
-       <link id="link63" bandwidth="10kBps"/>
-       <link id="link64" bandwidth="10kBps"/>
-       <link id="link65" bandwidth="1kBps"/>
-       <link id="link66" bandwidth="155Bps"/>
-       <link id="link67" bandwidth="10kBps"/>
-       <link id="link68" bandwidth="10kBps"/>
-       <link id="link69" bandwidth="1kBps"/>
-       <link id="link70" bandwidth="10kBps"/>
-       <link id="link71" bandwidth="1kBps"/>
-       <link id="link72" bandwidth="10kBps"/>
-       <link id="link73" bandwidth="622Bps"/>
-       <link id="link74" bandwidth="1kBps"/>
-       <link id="link75" bandwidth="1kBps"/>
-       <link id="link76" bandwidth="1kBps"/>
-       <link id="link77" bandwidth="10kBps"/>
-       <link id="link78" bandwidth="155Bps"/>
-       <link id="link79" bandwidth="155Bps"/>
-       <link id="link80" bandwidth="155Bps"/>
-       <link id="link81" bandwidth="155Bps"/>
-       <link id="link82" bandwidth="155Bps"/>
-       <link id="link83" bandwidth="155Bps"/>
-       <link id="link84" bandwidth="155Bps"/>
-       <link id="link85" bandwidth="155Bps"/>
-       <link id="link86" bandwidth="155Bps"/>
-       <link id="link87" bandwidth="155Bps"/>
-       <link id="link88" bandwidth="155Bps"/>
-       <link id="link89" bandwidth="2.5kBps"/>
-       <link id="link90" bandwidth="10kBps"/>
-       <link id="link91" bandwidth="3kBps"/>
-       <link id="link92" bandwidth="3kBps"/>
-       <link id="link93" bandwidth="10kBps"/>
-       <link id="link94" bandwidth="10kBps"/>
-       <link id="link95" bandwidth="622Bps"/>
-       <link id="link96" bandwidth="622Bps"/>
-       <link id="link97" bandwidth="1kBps"/>
-       <link id="link98" bandwidth="3kBps"/>
-       <link id="link99" bandwidth="3kBps"/>
-       <link id="link100" bandwidth="10kBps"/>
-       <link id="link101" bandwidth="2.5kBps"/>
-       <link id="link102" bandwidth="155Bps"/>
-       <link id="link103" bandwidth="10kBps"/>
-       <link id="link104" bandwidth="10kBps"/>
-       <link id="link105" bandwidth="155Bps"/>
-       <link id="link106" bandwidth="155Bps"/>
-       <link id="link107" bandwidth="10kBps"/>
-       <link id="link108" bandwidth="10kBps"/>
-       <link id="link109" bandwidth="10kBps"/>
-       <link id="link110" bandwidth="155Bps"/>
-       <link id="link111" bandwidth="10kBps"/>
-       <link id="link112" bandwidth="10kBps"/>
-       <link id="link113" bandwidth="3kBps"/>
-       <link id="link114" bandwidth="155Bps"/>
-       <link id="link115" bandwidth="3kBps"/>
-       <link id="link116" bandwidth="10kBps"/>
-       <link id="link117" bandwidth="622Bps"/>
-       <link id="link118" bandwidth="155Bps"/>
-       <link id="link119" bandwidth="33Bps"/>
-       <link id="link120" bandwidth="1kBps"/>
-       <link id="link121" bandwidth="622Bps"/>
-       <link id="link122" bandwidth="155Bps"/>
-       <link id="link123" bandwidth="155Bps"/>
-       <link id="link124" bandwidth="155Bps"/>
-       <link id="link125" bandwidth="155Bps"/>
-       <link id="link126" bandwidth="622Bps"/>
-
-       <route src="0" dst="2">
-               <link_ctn id="link0"/>
-       </route>
-       <route src="0" dst="31">
-               <link_ctn id="link1"/>
-       </route>
-       <route src="0" dst="74">
-               <link_ctn id="link2"/>
-       </route>
-       <route src="1" dst="2">
-               <link_ctn id="link3"/>
-       </route>
-       <route src="2" dst="2">
-               <link_ctn id="link4"/>
-       </route>
-       <route src="2" dst="16">
-               <link_ctn id="link5"/>
-       </route>
-       <route src="2" dst="57">
-               <link_ctn id="link6"/>
-       </route>
-       <route src="3" dst="3">
-               <link_ctn id="link7"/>
-       </route>
-       <route src="3" dst="4">
-               <link_ctn id="link8"/>
-       </route>
-       <route src="3" dst="5">
-               <link_ctn id="link9"/>
-       </route>
-       <route src="3" dst="6">
-               <link_ctn id="link10"/>
-       </route>
-       <route src="3" dst="7">
-               <link_ctn id="link11"/>
-       </route>
-       <route src="3" dst="8">
-               <link_ctn id="link12"/>
-       </route>
-       <route src="3" dst="9">
-               <link_ctn id="link13"/>
-       </route>
-       <route src="3" dst="10">
-               <link_ctn id="link14"/>
-       </route>
-       <route src="3" dst="20">
-               <link_ctn id="link15"/>
-       </route>
-       <route src="3" dst="61">
-               <link_ctn id="link16"/>
-       </route>
-       <route src="11" dst="11">
-               <link_ctn id="link17"/>
-       </route>
-       <route src="11" dst="12">
-               <link_ctn id="link18"/>
-       </route>
-       <route src="11" dst="30">
-               <link_ctn id="link19"/>
-       </route>
-       <route src="14" dst="14">
-               <link_ctn id="link20"/>
-       </route>
-       <route src="14" dst="15">
-               <link_ctn id="link21"/>
-       </route>
-       <route src="14" dst="20">
-               <link_ctn id="link22"/>
-       </route>
-       <route src="14" dst="45">
-               <link_ctn id="link23"/>
-       </route>
-       <route src="17" dst="17">
-               <link_ctn id="link24"/>
-       </route>
-       <route src="17" dst="18">
-               <link_ctn id="link25"/>
-       </route>
-       <route src="17" dst="20">
-               <link_ctn id="link26"/>
-       </route>
-       <route src="19" dst="19">
-               <link_ctn id="link27"/>
-       </route>
-       <route src="19" dst="33">
-               <link_ctn id="link28"/>
-       </route>
-       <route src="21" dst="21">
-               <link_ctn id="link29"/>
-       </route>
-       <route src="21" dst="30">
-               <link_ctn id="link30"/>
-       </route>
-       <route src="21" dst="57">
-               <link_ctn id="link31"/>
-       </route>
-       <route src="22" dst="22">
-               <link_ctn id="link32"/>
-       </route>
-       <route src="22" dst="23">
-               <link_ctn id="link33"/>
-       </route>
-       <route src="22" dst="24">
-               <link_ctn id="link34"/>
-       </route>
-       <route src="22" dst="25">
-               <link_ctn id="link35"/>
-       </route>
-       <route src="22" dst="26">
-               <link_ctn id="link36"/>
-       </route>
-       <route src="22" dst="27">
-               <link_ctn id="link37"/>
-       </route>
-       <route src="22" dst="28">
-               <link_ctn id="link38"/>
-       </route>
-       <route src="22" dst="29">
-               <link_ctn id="link39"/>
-       </route>
-       <route src="31" dst="31">
-               <link_ctn id="link40"/>
-       </route>
-       <route src="31" dst="32">
-               <link_ctn id="link41"/>
-       </route>
-       <route src="31" dst="45">
-               <link_ctn id="link42"/>
-       </route>
-       <route src="31" dst="57">
-               <link_ctn id="link43"/>
-       </route>
-       <route src="31" dst="73">
-               <link_ctn id="link44"/>
-       </route>
-       <route src="34" dst="34">
-               <link_ctn id="link45"/>
-       </route>
-       <route src="34" dst="35">
-               <link_ctn id="link46"/>
-       </route>
-       <route src="34" dst="36">
-               <link_ctn id="link47"/>
-       </route>
-       <route src="37" dst="37">
-               <link_ctn id="link48"/>
-       </route>
-       <route src="37" dst="38">
-               <link_ctn id="link49"/>
-       </route>
-       <route src="37" dst="39">
-               <link_ctn id="link50"/>
-       </route>
-       <route src="40" dst="40">
-               <link_ctn id="link51"/>
-       </route>
-       <route src="40" dst="45">
-               <link_ctn id="link52"/>
-       </route>
-       <route src="41" dst="41">
-               <link_ctn id="link53"/>
-       </route>
-       <route src="41" dst="42">
-               <link_ctn id="link54"/>
-       </route>
-       <route src="41" dst="43">
-               <link_ctn id="link55"/>
-       </route>
-       <route src="41" dst="44">
-               <link_ctn id="link56"/>
-       </route>
-       <route src="46" dst="46">
-               <link_ctn id="link57"/>
-       </route>
-       <route src="46" dst="56">
-               <link_ctn id="link58"/>
-       </route>
-       <route src="46" dst="57">
-               <link_ctn id="link59"/>
-       </route>
-       <route src="46" dst="75">
-               <link_ctn id="link60"/>
-       </route>
-       <route src="46" dst="79">
-               <link_ctn id="link61"/>
-       </route>
-       <route src="46" dst="95">
-               <link_ctn id="link62"/>
-       </route>
-       <route src="47" dst="47">
-               <link_ctn id="link63"/>
-       </route>
-       <route src="47" dst="54">
-               <link_ctn id="link64"/>
-       </route>
-       <route src="48" dst="48">
-               <link_ctn id="link65"/>
-       </route>
-       <route src="48" dst="49">
-               <link_ctn id="link66"/>
-       </route>
-       <route src="48" dst="50">
-               <link_ctn id="link67"/>
-       </route>
-       <route src="48" dst="54">
-               <link_ctn id="link68"/>
-       </route>
-       <route src="51" dst="51">
-               <link_ctn id="link69"/>
-       </route>
-       <route src="51" dst="52">
-               <link_ctn id="link70"/>
-       </route>
-       <route src="53" dst="53">
-               <link_ctn id="link71"/>
-       </route>
-       <route src="53" dst="54">
-               <link_ctn id="link72"/>
-       </route>
-       <route src="55" dst="55">
-               <link_ctn id="link73"/>
-       </route>
-       <route src="58" dst="58">
-               <link_ctn id="link74"/>
-       </route>
-       <route src="58" dst="59">
-               <link_ctn id="link75"/>
-       </route>
-       <route src="58" dst="60">
-               <link_ctn id="link76"/>
-       </route>
-       <route src="58" dst="61">
-               <link_ctn id="link77"/>
-       </route>
-       <route src="62" dst="62">
-               <link_ctn id="link78"/>
-       </route>
-       <route src="62" dst="65">
-               <link_ctn id="link79"/>
-       </route>
-       <route src="62" dst="66">
-               <link_ctn id="link80"/>
-       </route>
-       <route src="62" dst="67">
-               <link_ctn id="link81"/>
-       </route>
-       <route src="62" dst="68">
-               <link_ctn id="link82"/>
-       </route>
-       <route src="62" dst="69">
-               <link_ctn id="link83"/>
-       </route>
-       <route src="62" dst="70">
-               <link_ctn id="link84"/>
-       </route>
-       <route src="62" dst="71">
-               <link_ctn id="link85"/>
-       </route>
-       <route src="62" dst="72">
-               <link_ctn id="link86"/>
-       </route>
-       <route src="63" dst="63">
-               <link_ctn id="link87"/>
-       </route>
-       <route src="63" dst="64">
-               <link_ctn id="link88"/>
-       </route>
-       <route src="74" dst="74">
-               <link_ctn id="link89"/>
-       </route>
-       <route src="74" dst="75">
-               <link_ctn id="link90"/>
-       </route>
-       <route src="74" dst="80">
-               <link_ctn id="link91"/>
-       </route>
-       <route src="74" dst="83">
-               <link_ctn id="link92"/>
-       </route>
-       <route src="74" dst="89">
-               <link_ctn id="link93"/>
-       </route>
-       <route src="74" dst="90">
-               <link_ctn id="link94"/>
-       </route>
-       <route src="74" dst="95">
-               <link_ctn id="link95"/>
-       </route>
-       <route src="74" dst="99">
-               <link_ctn id="link96"/>
-       </route>
-       <route src="76" dst="76">
-               <link_ctn id="link97"/>
-       </route>
-       <route src="76" dst="77">
-               <link_ctn id="link98"/>
-       </route>
-       <route src="76" dst="80">
-               <link_ctn id="link99"/>
-       </route>
-       <route src="76" dst="90">
-               <link_ctn id="link100"/>
-       </route>
-       <route src="76" dst="93">
-               <link_ctn id="link101"/>
-       </route>
-       <route src="78" dst="78">
-               <link_ctn id="link102"/>
-       </route>
-       <route src="78" dst="79">
-               <link_ctn id="link103"/>
-       </route>
-       <route src="80" dst="80">
-               <link_ctn id="link104"/>
-       </route>
-       <route src="81" dst="81">
-               <link_ctn id="link105"/>
-       </route>
-       <route src="81" dst="82">
-               <link_ctn id="link106"/>
-       </route>
-       <route src="81" dst="83">
-               <link_ctn id="link107"/>
-       </route>
-       <route src="84" dst="84">
-               <link_ctn id="link108"/>
-       </route>
-       <route src="84" dst="86">
-               <link_ctn id="link109"/>
-       </route>
-       <route src="85" dst="85">
-               <link_ctn id="link110"/>
-       </route>
-       <route src="85" dst="86">
-               <link_ctn id="link111"/>
-       </route>
-       <route src="87" dst="87">
-               <link_ctn id="link112"/>
-       </route>
-       <route src="87" dst="89">
-               <link_ctn id="link113"/>
-       </route>
-       <route src="88" dst="88">
-               <link_ctn id="link114"/>
-       </route>
-       <route src="88" dst="89">
-               <link_ctn id="link115"/>
-       </route>
-       <route src="90" dst="90">
-               <link_ctn id="link116"/>
-       </route>
-       <route src="90" dst="91">
-               <link_ctn id="link117"/>
-       </route>
-       <route src="90" dst="95">
-               <link_ctn id="link118"/>
-       </route>
-       <route src="91" dst="93">
-               <link_ctn id="link119"/>
-       </route>
-       <route src="92" dst="92">
-               <link_ctn id="link120"/>
-       </route>
-       <route src="92" dst="93">
-               <link_ctn id="link121"/>
-       </route>
-       <route src="94" dst="94">
-               <link_ctn id="link122"/>
-       </route>
-       <route src="94" dst="95">
-               <link_ctn id="link123"/>
-       </route>
-       <route src="96" dst="96">
-               <link_ctn id="link124"/>
-       </route>
-       <route src="96" dst="97">
-               <link_ctn id="link125"/>
-       </route>
-       <route src="96" dst="98">
-               <link_ctn id="link126"/>
-       </route>
-</AS>
-</platform> 
index d2db4d9..7f9e93f 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 
-# Copyright (c) 2011, 2014. The SimGrid Team.
+# Copyright (c) 2011, 2014, 2016. The SimGrid Team.
 # All rights reserved.
 
 # This program is free software; you can redistribute it and/or modify it
@@ -17,10 +17,21 @@ my($conf_file)=$ARGV[0];
 
 open FILE, $conf_file or die "Unable to open $conf_file";
 
+print "<!-- This platform was automatically converted from the OptorSim platform.\n";
+print "\n";
+print "  OptorSim files only describes information of the cluster interconnexion.\n";
+print "  In a sense, it reflects the topology of a National Research and Education\n";
+print "  Network (NREN), but not of a full-fledged computational platform.\n";
+print "  The caracteristics of each cluster have been artificially added.\n";
+print "\n";
+print "  We hope that you find it useful anyway. If you know how to complete\n";
+print "  this information with data on the cluster configurations, please\n";
+print "  drop us a mail so that we can add this information. -->\n\n";
+
 print "<?xml version='1.0'?>\n";
 print "<!DOCTYPE platform SYSTEM \"http://simgrid.gforge.inria.fr/simgrid.dtd\">\n";
 print "<platform version=\"3\">\n";
-print "<AS  id=\"AS0\"  routing=\"Floyd\">\n";
+print "<AS id=\"AS0\" routing=\"Floyd\">\n";
 
 my $line;
 my @tokens;
@@ -39,134 +50,130 @@ my @routes = ();
 my @routes_router = ();
 my @routes_cluster = ();
 my $nb_host;
-while(defined($line=<FILE>))
-{
-       
-if($line =~ /^#(.*)\)(.*)$/)
-{
+while(defined($line=<FILE>)){
+    if($line =~ /^#(.*)\)(.*)$/)
+    {
        print "<!--$1 $2-->\n";
        push @list_of_name, $2;
-}
-elsif($line =~ /^([0-9]*) ([0-9]*) ([0-9]*) (.*)$/)
-{
+    }
+    elsif($line =~ /^([0-9]*) ([0-9]*) ([0-9]*) (.*)$/)
+    {
        if($1 == "0"){
-               push @is_router, 1;
-               if(@list_of_name){
-                       push @routers, "\t\t<router id=\"$list_of_name[$src]\"/>\n";
-               }
-               else{
-                       push @routers, "\t\t<router id=\"router$src\"/>\n";
-               }
+           push @is_router, 1;
+           if(@list_of_name){
+               push @routers, "    <router id=\"$list_of_name[$src]\"/>\n";
+           }
+           else{
+               push @routers, "    <router id=\"router$src\"/>\n";
+           }
        }
        else{
-               push @is_router, 0;
-               $nb_host = $1;
-               if(@list_of_name){
-                       push @hosts, "\t<cluster id=\"$list_of_name[$src]\" prefix=\"$list_of_name[$src]-\" suffix=\"\"\n";
-                       push @hosts, "\t         radical=\"1-$nb_host\" power=\"1000000000\"    bw=\"125000000\"     lat=\"5E-5\"\n";
-                       push @hosts, "\t         router_id=\"$list_of_name[$src]-router\"/>\n";
-               }
-               else{
-                       push @hosts, "\t<cluster id=\"cluster$src\" prefix=\"$list_of_name[$src]-\" suffix=\"\"\n";
-                       push @hosts, "\t         radical=\"1-$nb_host\" power=\"1000000000\"    bw=\"125000000\"     lat=\"5E-5\"\n";
-                       push @hosts, "\t         router_id=\"cluster$src-router\"/>\n";
-               }
+           push @is_router, 0;
+           $nb_host = $1;
+           if(@list_of_name){
+               push @hosts, "  <cluster id=\"$list_of_name[$src]\" prefix=\"$list_of_name[$src]-\" suffix=\"\"\n";
+               push @hosts, "           radical=\"1-$nb_host\" power=\"1000000000\" bw=\"125000000\" lat=\"5E-5\"\n";
+               push @hosts, "           router_id=\"$list_of_name[$src]-router\"/>\n";
+           }
+           else{
+               push @hosts, "  <cluster id=\"cluster$src\" prefix=\"$src-\" suffix=\"\"\n";
+               push @hosts, "           radical=\"1-$nb_host\" power=\"1000000000\" bw=\"125000000\" lat=\"5E-5\"\n";
+               push @hosts, "           router_id=\"cluster$src-router\"/>\n";
+           }
        }               
        my $table = $4;
        @tokens = split(/ /,$table);
        foreach $token (@tokens) {
-               if($src >= $dst){
-                       if($token != "0") #if there is a link between src and dst
-                       {       
-                               #Create a link                          
-                               if($1 == "0"){ 
-                                       push @links_router, "\t\t<link id=\"link$num_link\" bandwidth=\"$token\"/>\n";
-                               }
-                               else{
-                                       push @links, "\t<link id=\"link$num_link\" bandwidth=\"$token\"/>\n";
-                               }
-
-                               #Create the route between router and router
-                               if($is_router[$src] && $is_router[$dst]) 
-                               {
-                                       if(@list_of_name){
-                                               push @routes_router, "\t\t<route src=\"$list_of_name[$src]\" dst=\"$list_of_name[$dst]\">\n";
-                                       }
-                                       else{
-                                               push @routes_router, "\t\t<route src=\"router$src\" dst=\"router$dst\">\n";
-                                       }
-                                       push @routes_router, "\t\t\t<link_ctn id=\"link$num_link\"/>\n";
-                                       push @routes_router, "\t\t</route>\n";
-                               }
-
-                               #Create the route between cluster and cluster
-                               elsif(!$is_router[$src] && !$is_router[$dst]) 
-                               {
-                                       if(@list_of_name){
-                                       push @routes_cluster, "\t\t<ASroute src=\"$list_of_name[$src]\" dst=\"$list_of_name[$dst]\"\n";
-                                       push @routes_cluster, "\t\t     gw_src=\"$list_of_name[$src]-router\" gw_dst=\"$list_of_name[$dst]-router\">\n";
-                                       }
-                                       else{
-                                       push @routes_cluster, "\t\t<ASroute src=\"cluster$src\" dst=\"cluster$dst\"\n";
-                                       push @routes_cluster, "\t\t    gw_src=\"cluster$src-router\" dst=\"cluster$dst-router\">\n";
-                                       }
-                                       push @routes_cluster, "\t\t\t<link_ctn id=\"link$num_link\"/>\n";
-                                       push @routes_cluster, "\t\t</ASroute>\n";
-                               }                               
-                               else
-                               {
-                                       push @routes, "\t<ASroute ";
-                                       if(@list_of_name){
-                                               if($is_router[$src])    #router
-                                                       {push @routes, "src=\"AS_intern\" gw_src=\"$list_of_name[$src]\"\n";}
-                                               else                    #cluster
-                                                       {push @routes, "src=\"$list_of_name[$src]\" gw_src=\"$list_of_name[$src]-router\"\n";}
-
-
-                                               if($is_router[$dst])    #router
-                                                       {push @routes, "\t\tdst=\"AS_intern\" gw_dst=\"$list_of_name[$dst]\">\n";}
-                                               else                    #cluster
-                                                       {push @routes, "\t\tdst=\"$list_of_name[$dst]\" gw_dst=\"$list_of_name[$dst]-router\">\n";}
-                                       }
-                                       else{
-                                               if($is_router[$src])    #router
-                                                       {push @routes, "src=\"AS_intern\" gw_src=\"router$src\"\n";}
-                                               else                    #cluster
-                                                       {push @routes, "src=\"cluster$src\" gw_src=\"cluster$src-router\"\n";}
-
-
-                                               if($is_router[$dst])    #router
-                                                       {push @routes, "\t\tdst=\"AS_intern\" gw_dst=\"router$dst\">\n";}
-                                               else                    #cluster
-                                                       {push @routes, "\t\tdst=\"cluster$dst\" gw_dst=\"cluster$dst-router\">\n";}
-                                       }
-                                       push @routes, "\t\t<link_ctn id=\"link$num_link\"/>\n";
-                                       push @routes, "\t</ASroute>\n";
-
-                               }
-
-                               $num_link++;    
+           if($src >= $dst){
+               if($token != "0") #if there is a link between src and dst
+               {       
+                   #Create a link                              
+                   if($1 == "0"){ 
+                       push @links_router, "    <link id=\"link$num_link\" bandwidth=\"$token\"/>\n";
+                   }
+                   else{
+                       push @links, "  <link id=\"link$num_link\" bandwidth=\"$token\"/>\n";
+                   }
+                   
+                   #Create the route between router and router
+                   if($is_router[$src] && $is_router[$dst]) 
+                   {
+                       if(@list_of_name){
+                           push @routes_router, "    <route src=\"$list_of_name[$src]\" dst=\"$list_of_name[$dst]\">";
+                       }
+                       else{
+                           push @routes_router, "    <route src=\"router$src\" dst=\"router$dst\">";
+                       }
+                       push @routes_router, " <link_ctn id=\"link$num_link\"/>";
+                       push @routes_router, " </route>\n";
+                   }
+                   
+                   #Create the route between cluster and cluster
+                   elsif(!$is_router[$src] && !$is_router[$dst]) 
+                   {
+                       if(@list_of_name){
+                           push @routes_cluster, "    <ASroute src=\"$list_of_name[$src]\" dst=\"$list_of_name[$dst]\"";
+                           push @routes_cluster, " gw_src=\"$list_of_name[$src]-router\" gw_dst=\"$list_of_name[$dst]-router\">\n";
+                       }
+                       else{
+                           push @routes_cluster, "    <ASroute src=\"cluster$src\" dst=\"cluster$dst\"";
+                           push @routes_cluster, " gw_src=\"cluster$src-router\" dst=\"cluster$dst-router\">\n";
+                       }
+                       push @routes_cluster, "      <link_ctn id=\"link$num_link\"/>\n";
+                       push @routes_cluster, "    </ASroute>\n";
+                   }                           
+                   else
+                   {
+                       push @routes, "  <ASroute ";
+                       if(@list_of_name){
+                           if($is_router[$src])        #router
+                           {push @routes, "src=\"AS_intern\" gw_src=\"$list_of_name[$src]\" ";}
+                           else                        #cluster
+                           {push @routes, "src=\"$list_of_name[$src]\" gw_src=\"$list_of_name[$src]-router\" ";}
+                           
+                           
+                           if($is_router[$dst])        #router
+                           {push @routes, "dst=\"AS_intern\" gw_dst=\"$list_of_name[$dst]\">\n";}
+                           else                        #cluster
+                           {push @routes, "dst=\"$list_of_name[$dst]\" gw_dst=\"$list_of_name[$dst]-router\">\n";}
                        }
+                       else{
+                           if($is_router[$src])        #router
+                           {push @routes, "src=\"AS_intern\" gw_src=\"router$src\" ";}
+                           else                        #cluster
+                           {push @routes, "src=\"cluster$src\" gw_src=\"cluster$src-router\" ";}
+                           
+                           
+                           if($is_router[$dst])        #router
+                           {push @routes, "dst=\"AS_intern\" gw_dst=\"router$dst\">\n";}
+                           else                        #cluster
+                           {push @routes, "dst=\"cluster$dst\" gw_dst=\"cluster$dst-router\">\n";}
+                       }
+                       push @routes, "    <link_ctn id=\"link$num_link\"/>\n";
+                       push @routes, "  </ASroute>\n";
+                       
+                   }
+                   
+                   $num_link++;        
                }
-               $dst++;
+           }
+           $dst++;
        }
        $src++;
        $dst = 0;
-}
-else
-{
-die;
-}
-       
-       
+    }
+    else
+    {
+       die;
+    }
 }
 close(FILE);
 
-print "\t<AS  id=\"AS_intern\"  routing=\"Floyd\">\n";
+print "  <AS id=\"AS_intern\" routing=\"Floyd\">\n";
 print @routers;
 print @links_router;
 print @routes_router;
-print "\t</AS>\n";
+print "  </AS>\n";
 print "\n";    
 print @hosts;
 print @routes_cluster;
@@ -175,9 +182,6 @@ print "\n";
 print @links;
 print "\n";
 print @routes;
-print "\n";
-
 print "</AS>\n";
 print "</platform>";
-
 print " \n";
index b26135f..6d76697 100644 (file)
@@ -463,4 +463,95 @@ $ $SG_TEST_EXENV ./dot_test --log=no_loc ${srcdir:=.}/../2clusters.xml ${srcdir:
 > [0.000000] [sd_daxparse/WARNING] the task 5 is in a cycle
 > [0.000000] [sd_daxparse/WARNING] the task 6 is in a cycle
 > [0.000000] [sd_dotparse/ERROR] The DOT described in dag_with_cycle.dot is not a DAG. It contains a cycle.
-> [0.000000] [test/CRITICAL] No dot loaded. Do you have a cycle in your graph?
\ No newline at end of file
+> [0.000000] [test/CRITICAL] No dot loaded. Do you have a cycle in your graph?
+
+$ $SG_TEST_EXENV ./ptg_test --log=no_loc ${srcdir:=.}/../2clusters.xml ${srcdir:=.}/ptg.dot
+> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
+> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG ---------------------------
+> [0.000000] [sd_task/INFO] Displaying task root
+> [0.000000] [sd_task/INFO]   - state: schedulable not runnable
+> [0.000000] [sd_task/INFO]   - kind: parallel computation following Amdahl's law
+> [0.000000] [sd_task/INFO]   - amount: 0
+> [0.000000] [sd_task/INFO]   - alpha: 0.00
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 0
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     root->c1
+> [0.000000] [sd_task/INFO]     root->c2
+> [0.000000] [sd_task/INFO] Displaying task c1
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: parallel computation following Amdahl's law
+> [0.000000] [sd_task/INFO]   - amount: 1000000000
+> [0.000000] [sd_task/INFO]   - alpha: 0.20
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     root->c1
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     c1->c3
+> [0.000000] [sd_task/INFO] Displaying task c2
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: parallel computation following Amdahl's law
+> [0.000000] [sd_task/INFO]   - amount: 5000000000
+> [0.000000] [sd_task/INFO]   - alpha: 0.50
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     root->c2
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     c3
+> [0.000000] [sd_task/INFO] Displaying task c3
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: parallel computation following Amdahl's law
+> [0.000000] [sd_task/INFO]   - amount: 2000000000
+> [0.000000] [sd_task/INFO]   - alpha: 0.00
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 2
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     c1->c3
+> [0.000000] [sd_task/INFO]     c2
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     c3->end
+> [0.000000] [sd_task/INFO] Displaying task c1->c3
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: MxN data redistribution assuming 1D block distribution
+> [0.000000] [sd_task/INFO]   - amount: 500000000
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     c1
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     c3
+> [0.000000] [sd_task/INFO] Displaying task c3->end
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: MxN data redistribution assuming 1D block distribution
+> [0.000000] [sd_task/INFO]   - amount: 200000000
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     c3
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     end
+> [0.000000] [sd_task/INFO] Displaying task root->c1
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: MxN data redistribution assuming 1D block distribution
+> [0.000000] [sd_task/INFO]   - amount: 200000000
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     root
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     c1
+> [0.000000] [sd_task/INFO] Displaying task root->c2
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: MxN data redistribution assuming 1D block distribution
+> [0.000000] [sd_task/INFO]   - amount: 100000000
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     root
+> [0.000000] [sd_task/INFO]   - post-dependencies:
+> [0.000000] [sd_task/INFO]     c2
+> [0.000000] [sd_task/INFO] Displaying task end
+> [0.000000] [sd_task/INFO]   - state: not scheduled not runnable
+> [0.000000] [sd_task/INFO]   - kind: parallel computation following Amdahl's law
+> [0.000000] [sd_task/INFO]   - amount: 0
+> [0.000000] [sd_task/INFO]   - alpha: 0.00
+> [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
+> [0.000000] [sd_task/INFO]   - pre-dependencies:
+> [0.000000] [sd_task/INFO]     c3->end
+> [0.000000] [test/INFO] ------------------- Schedule tasks ---------------------------
+> [0.000000] [test/INFO] ------------------- Run the schedule ---------------------------
+> [3.290271] [test/INFO] Makespan: 3.290271
index 4e9160e..180258a 100644 (file)
@@ -898,8 +898,62 @@ XBT_PUBLIC(void) SMPI_app_instance_register(const char *name, xbt_main_func_t co
 XBT_PUBLIC(void) SMPI_init(void);
 XBT_PUBLIC(void) SMPI_finalize(void);
 
-
-
+/* Manual global privatization fallback */
+XBT_PUBLIC(void) smpi_register_static(void* arg, void_f_pvoid_t free_fn);
+XBT_PUBLIC(void) smpi_free_static(void);
+
+#define SMPI_VARINIT_GLOBAL(name,type)                          \
+type *name = NULL;                                              \
+static void __attribute__((constructor)) __preinit_##name(void) { \
+   if(!name)                                                    \
+      name = (type*)calloc(smpi_global_size(), sizeof(type));   \
+}                                                               \
+static void __attribute__((destructor)) __postfini_##name(void) { \
+   free(name);                                                  \
+   name = NULL;                                                 \
+}
+
+#define SMPI_VARINIT_GLOBAL_AND_SET(name,type,expr)             \
+type *name = NULL;                                              \
+static void __attribute__((constructor)) __preinit_##name(void) { \
+   size_t size = smpi_global_size();                            \
+   size_t i;                                                    \
+   type value = expr;                                           \
+   if(!name) {                                                  \
+      name = (type*)malloc(size * sizeof(type));                \
+      for(i = 0; i < size; i++) {                               \
+         name[i] = value;                                       \
+      }                                                         \
+   }                                                            \
+}                                                               \
+static void __attribute__((destructor)) __postfini_##name(void) { \
+   free(name);                                                  \
+   name = NULL;                                                 \
+}
+
+#define SMPI_VARGET_GLOBAL(name) name[smpi_process_index()]
+
+#define SMPI_VARINIT_STATIC(name,type)                      \
+static type *name = NULL;                                   \
+if(!name) {                                                 \
+   name = (type*)calloc(smpi_global_size(), sizeof(type));  \
+   smpi_register_static(name, xbt_free_f);                  \
+}
+
+#define SMPI_VARINIT_STATIC_AND_SET(name,type,expr) \
+static type *name = NULL;                           \
+if(!name) {                                         \
+   size_t size = smpi_global_size();                \
+   size_t i;                                        \
+   type value = expr;                               \
+   name = (type*)malloc(size * sizeof(type));       \
+   for(i = 0; i < size; i++) {                      \
+      name[i] = value;                              \
+   }                                                \
+   smpi_register_static(name, xbt_free_f);          \
+}
+
+#define SMPI_VARGET_STATIC(name) name[smpi_process_index()]
 
 SG_END_DECL()
 #endif
diff --git a/include/smpi/smpi_cocci.h b/include/smpi/smpi_cocci.h
deleted file mode 100644 (file)
index f938a9b..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (c) 2011-2014. The SimGrid Team.
- * All rights reserved.                                                     */
-
-/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
-
-#ifndef SMPI_COCCI_H
-#define SMPI_COCCI_H
-
-#include <xbt/misc.h>
-
-/* Macros used by coccinelle-generated code */
-
-#define SMPI_VARINIT_GLOBAL(name,type)                          \
-type *name = NULL;                                              \
-static void __attribute__((constructor)) __preinit_##name(void) { \
-   if(!name)                                                    \
-      name = (type*)calloc(smpi_global_size(), sizeof(type));   \
-}                                                               \
-static void __attribute__((destructor)) __postfini_##name(void) { \
-   free(name);                                                  \
-   name = NULL;                                                 \
-}
-
-#define SMPI_VARINIT_GLOBAL_AND_SET(name,type,expr)             \
-type *name = NULL;                                              \
-static void __attribute__((constructor)) __preinit_##name(void) { \
-   size_t size = smpi_global_size();                            \
-   size_t i;                                                    \
-   type value = expr;                                           \
-   if(!name) {                                                  \
-      name = (type*)malloc(size * sizeof(type));                \
-      for(i = 0; i < size; i++) {                               \
-         name[i] = value;                                       \
-      }                                                         \
-   }                                                            \
-}                                                               \
-static void __attribute__((destructor)) __postfini_##name(void) { \
-   free(name);                                                  \
-   name = NULL;                                                 \
-}
-
-#define SMPI_VARGET_GLOBAL(name) name[smpi_process_index()]
-
-/* The following handle local static variables */
-/** @brief Make sure that the passed pointer is freed on process exit.
- *
- * This function is rather internal, mainly used for the
- * privatization of global variables through coccinelle.
- */
-XBT_PUBLIC(void) smpi_register_static(void* arg, void_f_pvoid_t free_fn);
-
-XBT_PUBLIC(void) smpi_free_static(void);
-
-#define SMPI_VARINIT_STATIC(name,type)                      \
-static type *name = NULL;                                   \
-if(!name) {                                                 \
-   name = (type*)calloc(smpi_global_size(), sizeof(type));  \
-   smpi_register_static(name, xbt_free_f);                  \
-}
-
-#define SMPI_VARINIT_STATIC_AND_SET(name,type,expr) \
-static type *name = NULL;                           \
-if(!name) {                                         \
-   size_t size = smpi_global_size();                \
-   size_t i;                                        \
-   type value = expr;                               \
-   name = (type*)malloc(size * sizeof(type));       \
-   for(i = 0; i < size; i++) {                      \
-      name[i] = value;                              \
-   }                                                \
-   smpi_register_static(name, xbt_free_f);          \
-}
-
-#define SMPI_VARGET_STATIC(name) name[smpi_process_index()]
-
-#endif
index c4f00e7..9cbb2df 100644 (file)
@@ -128,7 +128,7 @@ __asm__ (
    ".text\n"
    ".globl _raw_makecontext\n"
    "_raw_makecontext:\n"
-#elif defined(_WIN32)
+#elif defined(_XBT_WIN32)
    ".text\n"
    ".globl raw_makecontext\n"
    "raw_makecontext:\n"
@@ -164,7 +164,7 @@ __asm__ (
    ".text\n"
    ".globl _raw_swapcontext\n"
    "_raw_swapcontext:\n"
-#elif defined(_WIN32)
+#elif defined(_XBT_WIN32)
    ".text\n"
    ".globl raw_swapcontext\n"
    "raw_swapcontext:\n"
@@ -204,7 +204,7 @@ __asm__ (
 );
 #elif PROCESSOR_i686
 __asm__ (
-#if defined(APPLE) || defined(_WIN32)
+#if defined(APPLE) || defined(_XBT_WIN32)
    ".text\n"
    ".globl _raw_makecontext\n"
    "_raw_makecontext:\n"
@@ -231,7 +231,7 @@ __asm__ (
 );
 
 __asm__ (
-#if defined(APPLE) || defined(_WIN32)
+#if defined(APPLE) || defined(_XBT_WIN32)
    ".text\n"
    ".globl _raw_swapcontext\n"
    "_raw_swapcontext:\n"
index d630035..a07051b 100644 (file)
@@ -17,7 +17,7 @@
 #include "simgrid/modelchecker.h"
 
 
-#ifdef _WIN32
+#ifdef _XBT_WIN32
 #include <windows.h>
 #include <malloc.h>
 #else
diff --git a/src/smpi/fixsrc.pl b/src/smpi/fixsrc.pl
deleted file mode 100755 (executable)
index 8844d20..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env perl
-
-# Copyright (c) 2011, 2014. The SimGrid Team.
-# All rights reserved.
-
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the license (GNU LGPL) which comes with this package.
-
-# Add include for mandatory header file
-print "#include <smpi_cocci.h>\n";
-
-# FIXME: here we make the assumption that people don't do things like put
-# multiple statements on the same line after a declaration, but separated by
-# semicolons. It's a reasonable assumption for the time being, but technically
-# it could cause problems for some code.
-
-OUTER: while ($line = <STDIN>) {
-    if ($line =~ /SMPI_VARINIT/) {
-        do {
-            chomp $line;         # kill carriage return
-            $line =~ s/\s+/ /g;  # remove excessive whitespace added by spatch
-            while ($line =~ s/(SMPI_VARINIT[A-Z0-9_]*?\(.*?\))//) {
-                print "$1\n";
-            } 
-
-            # if varinit continues on to next line
-            if ($line =~ /SMPI_VARINIT/) {
-                # should only happen for bad code...
-                if (!($nextline = <STDIN>)) {
-                    last OUTER;
-                }
-                $line .= $nextline;
-
-            }
-        } while ($line =~ /SMPI_VARINIT/);
-    } else {
-        print $line;
-    }
-}
diff --git a/src/smpi/myprintloc.cocci b/src/smpi/myprintloc.cocci
deleted file mode 100644 (file)
index bea1b79..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-
-@r@
-/* Matching a declaration, ie rewriting site candidate 
-   Disqualify the candidate
-   ----------------- */
-type T;
-position p1;
-identifier id;
-@@
-
-T id@p1;
-
-
-
-
-@funcdecl@
-# Matching a /function/ declaration. 
-# Disqualify the candidate
-#-----------------
-type T;
-position r.p1;
-identifier id;
-@@
- T id@p1(...) {...}
-
-
-
-
-@funcproto@
-# Matching a function prototype w/o body. 
-# Disqualify the candidate
-#-----------------
-type T;
-position r.p1;
-identifier id;
-@@
- T id@p1(...);
-
-@localdeclaration@
-# Matching a declaration at the top level of a function. 
-# Disqualify the candidate
-#-----------------
-type T1,T2;
-position r.p1;
-identifier id1,id2;
-@@
-
-T1 id1(...) {
-  ...
-  T2 id2@p1;
-  ...
-}
-
-@localinnerdeclaration@
-# The next rule is there to make sure that we are not speaking of a
-# local variable declared in an inner block. I don't like it at all:
-# It is redundent and gives false negative on the foreach macros that
-# get often declared in the code. Example in examples/gras/spawn.c:
-# 
-# int server() {
-#   ...
-#   xbt_dynar_foreach(chunk->primes,cursor,data) {
-#     char number[100];
-#     ...
-#   }
-#   ...
-# } 
-#
-# Do I really need to complicate this rule further to add every macro
-# that we use in our C, or can it be merged with the previous one by
-# saying something like "in a function, at whatever level of nesting"?
-
-type T1,T2;
-position r.p1;
-identifier id1,id2;
-expression e1,e2,e3;
-@@
-
-T1 id1(...) {
-  ...
-( 
-  for (e1;e2;e3) { ... T2 id2@p1; ... }
-| 
-  for (;e2;e3) { ... T2 id2@p1; ... }
-| 
-  for (e1;;e3) { ... T2 id2@p1; ... }
-| 
-  for (e1;e2;) { ... T2 id2@p1; ... }
-| 
-  for (e1;;) { ... T2 id2@p1; ... }
-| 
-  for (;e2;) { ... T2 id2@p1; ... }
-| 
-  for (;;e3) { ... T2 id2@p1; ... }
-| 
-  for (;;) { ... T2 id2@p1; ... }
-| 
-  while (e1) { ... T2 id2@p1; ... }
-| 
-  do { ... T2 id2@p1; ... } while (e1);
-)
-  ...
-}
-
-
-
-@script:python depends on r 
-                          && !funcdecl 
-                         && !funcproto 
-                         && !localdeclaration 
-                         && !localinnerdeclaration@
-
-# This rule is only a debugging rule, to print the sites where the
-# change must be applied
-
-p1 << r.p1;
-T  << r.T;
-id << r.id;
-@@
-
-c1 = cocci.combine(id,p1)
-print "1. symbol %s of type \"%s\" at %s:%s" % (id,T,c1.location.line,c1.location.column)
diff --git a/src/smpi/patch_source.sh b/src/smpi/patch_source.sh
deleted file mode 100755 (executable)
index 38fd745..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2011, 2014. The SimGrid Team.
-# All rights reserved.
-
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the license (GNU LGPL) which comes with this package.
-
-INFILE="$1"
-OUTFILE="$2"
-SPFILE="replace_globals.cocci"
-TMPFILE=`mktemp ${OUTFILE}.XXXX`
-
-trap "rm -f ${TMPFILE}" EXIT
-spatch -sp_file ${SPFILE} ${INFILE} -o ${TMPFILE} >/dev/null 2>/dev/null
-./fixsrc.pl < ${TMPFILE} > ${OUTFILE}
index 6f65720..44528e6 100644 (file)
@@ -15,7 +15,6 @@
 #include "simgrid/simix.h"
 #include "src/include/smpi/smpi_interface.h"
 #include "smpi/smpi.h"
-#include "smpi/smpi_cocci.h"
 #include "src/instr/instr_private.h"
 
 SG_BEGIN_DECL()
diff --git a/src/smpi/replace_globals.cocci b/src/smpi/replace_globals.cocci
deleted file mode 100644 (file)
index 00a6ca5..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-// FIXME: seems like cocci has problems manipulating the declarations, at least
-// when there is more than one on the same line. We already need perl to split
-// up the declarations after the fact, is there another tool we can use to patch
-// up and match the declarations? In that case we could consider dropping cocci,
-// or just using it to alter global variable accesses.
-//
-// FIXME: problems
-//   - array declarations not properly matched...can fix, but then can't have
-//   multiple declarations on one line
-//   - does not match array initializers
-//   - probably won't fix structure declarations with initialization either
-
-// Function prototype looks like variable dec, but has parentheses
-@funcproto@
-type T;
-identifier func;
-position p;
-@@
-T@p func(...);
-
-// define a local variable declaration as one at some level of nesting
-@localvardecl@
-type T;
-identifier var;
-position p;
-expression E;
-@@
-<...
-( // default case
-T@p
-var
-;
-| // variable has initializer
-T@p
-var = E
-;
-)
-...>
-
-// define a global variable declaration as one that is neither a function
-// prototype nor a local variable declaration
-@globalvardecl@
-type T;
-identifier var;
-position p != { funcproto.p, localvardecl.p };
-expression value;
-// expression size;
-@@
-( // default case
-T@p 
-- var
-+ *var = SMPI_VARINIT_GLOBAL(var, T)
-;
-| // variable has initializer (not a struct or array)
-T@p
-- var = value 
-+ *var = SMPI_VARINIT_GLOBAL_AND_SET(var, T, value)
-;
-//| // array of specified size
-//T@p // FIXME: matches, but complains if more than one decl on a line...
-//- var[size]
-//+ *var[size] = SMPI_VARINIT_GLOBAL_ARRAY(T, size)
-//;
-//| // array of specified size with initializer
-//T@p // FIXME: how to match initializer?
-//- var[size] = { ... }
-//+ *var[] = SMPI_VARINIT_GLOBAL_ARRAY_AND_SET(T, size, { ... })
-//;
-//| // array without specified size, but with initializer
-//T@p // FIXME: how to match initializer? how to figure out size?
-//- var[] = { ... }
-//+ *var[] = SMPI_VARINIT_GLOBAL_ARRAY_AND_SET(T, size, { ... }) // size = ?
-//;
-//| struct with initializer?
-)
-
-// rewrite access to global variables based on name, but avoid the declaration
-// and local variables that might have the same name
-@rewriteglobalaccess@
-type T;
-local idexpression lvar;
-identifier globalvardecl.var;
-@@
-<...
-( // local variable
-lvar
-| // rewrite access
-+SMPI_VARGET_GLOBAL(
-var
-+)
-)
-...>
-
-// define a local static variable declaration as one at some level of nesting
-// starting with the word static (exceptions?)
-@staticvardecl@
-type T;
-identifier func, var;
-expression value;
-@@
-func(...) {
-...
-( // default case
-static T
-- var
-+ *var = SMPI_VARINIT_STATIC(T, var)
-;
-| // variable has initializer (not a struct or array)
-T
-- var = value 
-+ *var = SMPI_VARINIT_STATIC_AND_SET(var, T, value)
-;
-)
-...
-}
-
-// 
-@rewritestaticaccess@
-type T;
-identifier staticvardecl.func, staticvardecl.var;
-@@
-func(...) {
-<...
-( // declaration
-T
-var
-;
-| // rewrite access
-+SMPI_VARGET_STATIC(
-var
-+)
-)
-...>
-}
diff --git a/src/smpi/replace_static.cocci b/src/smpi/replace_static.cocci
deleted file mode 100644 (file)
index cda1de2..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// FIXME: why can't I just define a static local vardecl the same way as a
-// normal local vardecl?
-
-// Function prototype looks like variable dec, but has parentheses
-@funcproto@
-type T;
-identifier func;
-position p;
-@@
-T@p func(...);
-
-// Define a local variable as one whose declaration is encased in brackets
-@localvardecl@
-type T;
-identifier var;
-position p;
-expression E;
-@@
-{
-<...
-(
-T@p
-var
-;
-|
-T@p
-var = E
-;
-)
-...>
-}
-
-// global variable is one whose declaration is neither local nor a function
-// prototype
-@globalvardecl@
-type T;
-identifier var;
-position p != { localvardecl.p, funcproto.p };
-expression value;
-// expression size;
-@@
-(
-T@p var;
-|
-T@p var = value;
-)
-
-// local static decl is a nonglobal static decl...
-@localstaticvardecl@
-type T;
-identifier var;
-position p != globalvardecl.p;
-expression value;
-@@
-(
-static T@p
-- var
-+ *var = SMPI_VARINIT_STATIC(var, T)
-;
-|
-static T@p
-- var = value
-+ *var = SMPI_VARINIT_STATIC_AND_SET(var, T, value)
-;
-)
-
-// FIXME: add varaccess...
index 9c718df..7c6795f 100644 (file)
@@ -90,7 +90,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
 
 static void xbt_preinit(void) {
   unsigned int seed = 2147483647;
-#ifndef WIN32
+#ifndef _XBT_WIN32
   xbt_pagesize = sysconf(_SC_PAGESIZE);
 #else
   SYSTEM_INFO si;
@@ -115,7 +115,7 @@ static void xbt_preinit(void) {
   xbt_dict_preinit();
    
   srand(seed);
-#ifndef _WIN32
+#ifndef _XBT_WIN32
   srand48(seed);
 #endif
   atexit(xbt_postexit);
index 2af91af..39ad856 100644 (file)
@@ -4,10 +4,8 @@
  *  (C) 2003 by Argonne National Laboratory.
  *      See COPYRIGHT in top-level directory.
  */
-
 #include "mpi.h"
 #include "mpitest.h"
-#include "smpi_cocci.h"
 #include <stdio.h>
 #include <stdlib.h>
 #ifdef HAVE_SYS_TIME_H
 #include <time.h>
 #include <math.h>
 #include <assert.h>
-
 /* FIXME: What is this test supposed to accomplish? */
-
 #define START_BUF (1)
 #define LARGE_BUF (256 * 1024)
-
 /* FIXME: MAX_BUF is too large */
 #define MAX_BUF   (32 * 1024 * 1024)
 #define LOOPS 10
-
-SMPI_VARINIT_GLOBAL(sbuf, char*);
-SMPI_VARINIT_GLOBAL(rbuf, char*);
-SMPI_VARINIT_GLOBAL(recvcounts, int*);
-SMPI_VARINIT_GLOBAL(displs, int*);
-SMPI_VARINIT_GLOBAL_AND_SET(errs, int, 0);
-
+char *sbuf, *rbuf;
+int *recvcounts, *displs;
+int errs = 0;
 /* #define dprintf printf */
 #define dprintf(...)
-
 typedef enum {
     REGULAR,
     BCAST,
@@ -43,46 +33,43 @@ typedef enum {
     LINEAR_DECREASE,
     BELL_CURVE
 } test_t;
-
 void comm_tests(MPI_Comm comm);
-double run_test(long long msg_size, MPI_Comm comm, test_t test_type, double * max_time);
-
-int main(int argc, char ** argv)
+double run_test(long long msg_size, MPI_Comm comm, test_t test_type, double *max_time);
+int main(int argc, char **argv)
 {
     int comm_size, comm_rank;
     MPI_Comm comm;
-
     MTest_Init(&argc, &argv);
     MPI_Comm_size(MPI_COMM_WORLD, &comm_size);
     MPI_Comm_rank(MPI_COMM_WORLD, &comm_rank);
-
+    if (comm_size < 3) {
+        fprintf(stderr, "At least 3 processes required\n");
+        MPI_Abort(MPI_COMM_WORLD, 1);
+    }
     if (LARGE_BUF * comm_size > MAX_BUF)
         goto fn_exit;
-
-    SMPI_VARGET_GLOBAL(sbuf) = (void *) calloc(MAX_BUF, 1);
-    SMPI_VARGET_GLOBAL(rbuf) = (void *) calloc(MAX_BUF, 1);
-
+    sbuf = (void *) calloc(MAX_BUF, 1);
+    rbuf = (void *) calloc(MAX_BUF, 1);
     srand(time(NULL));
-
-    SMPI_VARGET_GLOBAL(recvcounts) = (void *) malloc(comm_size * sizeof(int));
-    SMPI_VARGET_GLOBAL(displs) = (void *) malloc(comm_size * sizeof(int));
-    if (!SMPI_VARGET_GLOBAL(recvcounts) || !SMPI_VARGET_GLOBAL(displs) || !SMPI_VARGET_GLOBAL(sbuf) || !SMPI_VARGET_GLOBAL(rbuf)) {
+    recvcounts = (void *) malloc(comm_size * sizeof(int));
+    displs = (void *) malloc(comm_size * sizeof(int));
+    if (!recvcounts || !displs || !sbuf || !rbuf) {
         fprintf(stderr, "Unable to allocate memory:\n");
-       if (!SMPI_VARGET_GLOBAL(sbuf)) fprintf(stderr,"\tsbuf of %d bytes\n", MAX_BUF );
-       if (!SMPI_VARGET_GLOBAL(rbuf)) fprintf(stderr,"\trbuf of %d bytes\n", MAX_BUF );
-       if (!SMPI_VARGET_GLOBAL(recvcounts)) fprintf(stderr,"\trecvcounts of %zd bytes\n", comm_size * sizeof(int) );
-       if (!SMPI_VARGET_GLOBAL(displs)) fprintf(stderr,"\tdispls of %zd bytes\n", comm_size * sizeof(int) );
+        if (!sbuf)
+            fprintf(stderr, "\tsbuf of %d bytes\n", MAX_BUF);
+        if (!rbuf)
+            fprintf(stderr, "\trbuf of %d bytes\n", MAX_BUF);
+        if (!recvcounts)
+            fprintf(stderr, "\trecvcounts of %zd bytes\n", comm_size * sizeof(int));
+        if (!displs)
+            fprintf(stderr, "\tdispls of %zd bytes\n", comm_size * sizeof(int));
         fflush(stderr);
         MPI_Abort(MPI_COMM_WORLD, -1);
-        exit(-1);
     }
-
     if (!comm_rank) {
         dprintf("Message Range: (%d, %d); System size: %d\n", START_BUF, LARGE_BUF, comm_size);
         fflush(stdout);
     }
-
-
     /* COMM_WORLD tests */
     if (!comm_rank) {
         dprintf("\n\n==========================================================\n");
@@ -90,7 +77,6 @@ int main(int argc, char ** argv)
         dprintf("==========================================================\n");
     }
     comm_tests(MPI_COMM_WORLD);
-
     /* non-COMM_WORLD tests */
     if (!comm_rank) {
         dprintf("\n\n==========================================================\n");
@@ -101,7 +87,6 @@ int main(int argc, char ** argv)
     if (comm_rank < comm_size - 1)
         comm_tests(comm);
     MPI_Comm_free(&comm);
-
     /* Randomized communicator tests */
     if (!comm_rank) {
         dprintf("\n\n==========================================================\n");
@@ -111,65 +96,53 @@ int main(int argc, char ** argv)
     MPI_Comm_split(MPI_COMM_WORLD, 0, rand(), &comm);
     comm_tests(comm);
     MPI_Comm_free(&comm);
-
-    free(SMPI_VARGET_GLOBAL(sbuf));
-    free(SMPI_VARGET_GLOBAL(rbuf));
-    free(SMPI_VARGET_GLOBAL(recvcounts));
-    free(SMPI_VARGET_GLOBAL(displs));
-
-fn_exit:
-    MTest_Finalize(SMPI_VARGET_GLOBAL(errs));
+    free(sbuf);
+    free(rbuf);
+    free(recvcounts);
+    free(displs);
+  fn_exit:
+    MTest_Finalize(errs);
     MPI_Finalize();
-
     return 0;
 }
-
 void comm_tests(MPI_Comm comm)
 {
     int comm_size, comm_rank;
     double rtime = rtime;       /* stop warning about unused variable */
     double max_time;
     long long msg_size;
-
     MPI_Comm_size(comm, &comm_size);
     MPI_Comm_rank(comm, &comm_rank);
-
     for (msg_size = START_BUF; msg_size <= LARGE_BUF; msg_size *= 2) {
         if (!comm_rank) {
             dprintf("\n====> MSG_SIZE: %d\n", (int) msg_size);
             fflush(stdout);
         }
-
         rtime = run_test(msg_size, comm, REGULAR, &max_time);
         if (!comm_rank) {
             dprintf("REGULAR:\tAVG: %.3f\tMAX: %.3f\n", rtime, max_time);
             fflush(stdout);
         }
-
         rtime = run_test(msg_size, comm, BCAST, &max_time);
         if (!comm_rank) {
             dprintf("BCAST:\tAVG: %.3f\tMAX: %.3f\n", rtime, max_time);
             fflush(stdout);
         }
-
         rtime = run_test(msg_size, comm, SPIKE, &max_time);
         if (!comm_rank) {
             dprintf("SPIKE:\tAVG: %.3f\tMAX: %.3f\n", rtime, max_time);
             fflush(stdout);
         }
-
         rtime = run_test(msg_size, comm, HALF_FULL, &max_time);
         if (!comm_rank) {
             dprintf("HALF_FULL:\tAVG: %.3f\tMAX: %.3f\n", rtime, max_time);
             fflush(stdout);
         }
-
         rtime = run_test(msg_size, comm, LINEAR_DECREASE, &max_time);
         if (!comm_rank) {
             dprintf("LINEAR_DECREASE:\tAVG: %.3f\tMAX: %.3f\n", rtime, max_time);
             fflush(stdout);
         }
-
         rtime = run_test(msg_size, comm, BELL_CURVE, &max_time);
         if (!comm_rank) {
             dprintf("BELL_CURVE:\tAVG: %.3f\tMAX: %.3f\n", rtime, max_time);
@@ -177,75 +150,67 @@ void comm_tests(MPI_Comm comm)
         }
     }
 }
-
-double run_test(long long msg_size, MPI_Comm comm, test_t test_type, 
-               double * max_time)
+double run_test(long long msg_size, MPI_Comm comm, test_t test_type, double *max_time)
 {
     int i, j;
     int comm_size, comm_rank;
     double start, end;
     double total_time, avg_time;
     MPI_Aint tmp;
-
     MPI_Comm_size(comm, &comm_size);
     MPI_Comm_rank(comm, &comm_rank);
-
-    SMPI_VARGET_GLOBAL(displs)[0] = 0;
+    displs[0] = 0;
     for (i = 0; i < comm_size; i++) {
         if (test_type == REGULAR)
-            SMPI_VARGET_GLOBAL(recvcounts)[i] = msg_size;
+            recvcounts[i] = msg_size;
         else if (test_type == BCAST)
-            SMPI_VARGET_GLOBAL(recvcounts)[i] = (!i) ? msg_size : 0;
+            recvcounts[i] = (!i) ? msg_size : 0;
         else if (test_type == SPIKE)
-            SMPI_VARGET_GLOBAL(recvcounts)[i] = (!i) ? (msg_size / 2) : (msg_size / (2 * (comm_size - 1)));
+            recvcounts[i] = (!i) ? (msg_size / 2) : (msg_size / (2 * (comm_size - 1)));
         else if (test_type == HALF_FULL)
-            SMPI_VARGET_GLOBAL(recvcounts)[i] = (i < (comm_size / 2)) ? (2 * msg_size) : 0;
+            recvcounts[i] = (i < (comm_size / 2)) ? (2 * msg_size) : 0;
         else if (test_type == LINEAR_DECREASE) {
             tmp = 2 * msg_size * (comm_size - 1 - i) / (comm_size - 1);
-           if (tmp != (int)tmp) {
-               fprintf( stderr, "Integer overflow in variable tmp\n" );
-               MPI_Abort( MPI_COMM_WORLD, 1 );
-                exit(1);
-           }
-            SMPI_VARGET_GLOBAL(recvcounts)[i] = (int) tmp;
-
+            if (tmp != (int) tmp) {
+                fprintf(stderr, "Integer overflow in variable tmp\n");
+                MPI_Abort(MPI_COMM_WORLD, 1);
+            }
+            recvcounts[i] = (int) tmp;
             /* If the maximum message size is too large, don't run */
-            if (tmp > MAX_BUF) return 0;
+            if (tmp > MAX_BUF)
+                return 0;
         }
         else if (test_type == BELL_CURVE) {
             for (j = 0; j < i; j++) {
-                if (i - 1 + j >= comm_size) continue;
+                if (i - 1 + j >= comm_size)
+                    continue;
                 tmp = msg_size * comm_size / (log(comm_size) * i);
-                SMPI_VARGET_GLOBAL(recvcounts)[i - 1 + j] = (int) tmp;
-                SMPI_VARGET_GLOBAL(displs)[i - 1 + j] = 0;
-
+                recvcounts[i - 1 + j] = (int) tmp;
+                displs[i - 1 + j] = 0;
                 /* If the maximum message size is too large, don't run */
-                if (tmp > MAX_BUF) return 0;
+                if (tmp > MAX_BUF)
+                    return 0;
             }
         }
-
         if (i < comm_size - 1)
-            SMPI_VARGET_GLOBAL(displs)[i+1] = SMPI_VARGET_GLOBAL(displs)[i] + SMPI_VARGET_GLOBAL(recvcounts)[i];
+            displs[i + 1] = displs[i] + recvcounts[i];
     }
-
     /* Test that:
-       1: sbuf is large enough
-       2: rbuf is large enough
-       3: There were no failures (e.g., tmp nowhere > rbuf size 
-    */
+     * 1: sbuf is large enough
+     * 2: rbuf is large enough
+     * 3: There were no failures (e.g., tmp nowhere > rbuf size
+     */
     MPI_Barrier(comm);
     start = MPI_Wtime();
     for (i = 0; i < LOOPS; i++) {
-        MPI_Allgatherv(SMPI_VARGET_GLOBAL(sbuf), SMPI_VARGET_GLOBAL(recvcounts)[comm_rank], MPI_CHAR,
-                       SMPI_VARGET_GLOBAL(rbuf), SMPI_VARGET_GLOBAL(recvcounts), SMPI_VARGET_GLOBAL(displs), MPI_CHAR, comm);
+        MPI_Allgatherv(sbuf, recvcounts[comm_rank], MPI_CHAR,
+                       rbuf, recvcounts, displs, MPI_CHAR, comm);
     }
     end = MPI_Wtime();
     MPI_Barrier(comm);
-
     /* Convert to microseconds (why?) */
     total_time = 1.0e6 * (end - start);
     MPI_Reduce(&total_time, &avg_time, 1, MPI_DOUBLE, MPI_SUM, 0, comm);
     MPI_Reduce(&total_time, max_time, 1, MPI_DOUBLE, MPI_MAX, 0, comm);
-
     return (avg_time / (LOOPS * comm_size));
 }
index 60bf0a4..4249a92 100644 (file)
@@ -7,7 +7,6 @@
 
 #include "mpi.h"
 #include "mpitest.h"
-#include "smpi_cocci.h"
 #include <stdio.h>
 #include <stdlib.h>
 #ifdef HAVE_SYS_TIME_H
index bf13e8a..3caf57e 100644 (file)
@@ -10,7 +10,6 @@
 
 #include "mpi.h"
 #include "mpitest.h"
-#include "smpi_cocci.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
index e922072..e0813e7 100644 (file)
@@ -7,7 +7,6 @@
 #include "mpi.h"
 #include "mpitestconf.h"
 #include "mpitest.h"
-#include "smpi_cocci.h"
 #if defined(HAVE_STDIO_H) || defined(STDC_HEADERS)
 #include <stdio.h>
 #endif
index ad8c50b..8f72c97 100644 (file)
@@ -679,7 +679,6 @@ set(headers_to_install
   include/simgrid/plugins/energy.h
   include/smpi/mpi.h
   include/smpi/smpi.h
-  include/smpi/smpi_cocci.h
   include/smpi/smpi_main.h
   include/surf/simgrid_dtd.h
   include/surf/surf_routing.h
@@ -1241,9 +1240,7 @@ set(PLATFORMS_EXAMPLES
   examples/platforms/clusters_routing_full.xml
   examples/platforms/crosstraffic.xml
   examples/platforms/conf/gridpp_grid_2004.conf
-  examples/platforms/conf/gridpp_grid_2004.xml
   examples/platforms/conf/lcg_sept2004_grid.conf
-  examples/platforms/conf/lcg_sept2004_grid.xml
   examples/platforms/conf/transform_optorsim_platform.pl
   examples/platforms/config.xml
   examples/platforms/config_tracing.xml