Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
authorPierre Veyre <pierre.veyre@cc.in2p3.fr>
Wed, 18 Sep 2013 08:59:20 +0000 (10:59 +0200)
committerPierre Veyre <pierre.veyre@cc.in2p3.fr>
Wed, 18 Sep 2013 08:59:20 +0000 (10:59 +0200)
138 files changed:
.classpath [new file with mode: 0644]
.gitignore
.project [new file with mode: 0644]
CITATION.bib [new file with mode: 0644]
ChangeLog
buildtools/Cmake/AddTests.cmake
buildtools/Cmake/DefinePackages.cmake
buildtools/Cmake/MakeExe.cmake
doc/doxygen/bindings.doc
doc/doxygen/module-smpi.doc
doc/doxygen/platform.doc
examples/java/async/Master.java
examples/java/async/Slave.java
examples/java/bittorrent/Connection.java
examples/java/bittorrent/Peer.java
examples/java/bittorrent/Tracker.java
examples/java/commTime/Master.java
examples/java/master_slave_kill/Slave.java
examples/java/masterslave/Masterslave.java
examples/java/migration/Policeman.java
examples/java/mutualExclusion/Coordinator.java
examples/java/mutualExclusion/GrantTask.java
examples/java/mutualExclusion/MutexCentral.java
examples/java/mutualExclusion/Node.java
examples/java/mutualExclusion/ReleaseTask.java
examples/java/mutualExclusion/RequestTask.java
examples/java/mutualExclusion/mutex_centralized_deployment.xml
examples/java/mutualExclusion/mutualexclusion.tesh
examples/java/startKillTime/Master.java
examples/java/startKillTime/Slave.java
examples/msg/actions/actions.c
examples/msg/bittorrent/peer.h
examples/msg/masterslave/masterslave_cpu_ti_crosstraffic.tesh
examples/msg/masterslave/masterslave_failure.tesh
examples/msg/masterslave/masterslave_failure_crosstraffic.tesh
examples/msg/pmm/msg_pmm.c
examples/platforms/cluster_and_one_host.xml
include/simdag/simdag.h
include/smpi/smpif.h.in
include/xbt/ex.h
include/xbt/synchro_core.h
src/bindings/java/jmsg_process.c
src/bindings/java/jmsg_process.h
src/bindings/java/jmsg_task.h
src/bindings/java/jxbt_utilities.h
src/bindings/lua/simgrid_lua.c
src/include/smpi/smpi_interface.h
src/include/surf/surf.h
src/instr/instr_config.c
src/instr/instr_paje_header.c
src/instr/instr_paje_trace.c
src/instr/instr_private.h
src/mc/mc_private.h
src/msg/msg_global.c
src/simdag/sd_task.c
src/simdag/sd_workstation.c
src/simgrid/sg_config.c
src/simix/smx_context.c
src/simix/smx_global.c
src/simix/smx_host.c
src/smpi/colls/allgatherv-mpich-ring.c [new file with mode: 0644]
src/smpi/colls/alltoall-simple.c
src/smpi/colls/alltoallv-bruck.c
src/smpi/colls/colls.h
src/smpi/colls/gather-ompi.c
src/smpi/colls/reduce_scatter-mpich.c
src/smpi/colls/scatter-ompi.c
src/smpi/colls/smpi_automatic_selector.c
src/smpi/colls/smpi_mpich_selector.c
src/smpi/instr_smpi.c
src/smpi/private.h
src/smpi/smpi_base.c
src/smpi/smpi_pmpi.c
src/smpi/smpi_replay.c
src/smpi/smpif2c.in
src/surf/cpu_cas01.c
src/surf/cpu_ti.c
src/surf/cpu_ti_private.h
src/surf/lagrange.c
src/surf/surf.c
src/surf/surf_routing.c
src/surf/surf_routing_floyd.c
src/surf/surfxml_parse.c
src/xbt/config.c
src/xbt/heap.c
src/xbt/mmalloc/mm_diff.c
src/xbt/set.c
src/xbt/xbt_main.c
teshsuite/smpi/mpich3-test/attr/CMakeLists.txt
teshsuite/smpi/mpich3-test/attr/attrorder.c
teshsuite/smpi/mpich3-test/attr/attrordercomm.c
teshsuite/smpi/mpich3-test/attr/attrordertype.c
teshsuite/smpi/mpich3-test/coll/CMakeLists.txt
teshsuite/smpi/mpich3-test/coll/iallred.c
teshsuite/smpi/mpich3-test/coll/ibarrier.c
teshsuite/smpi/mpich3-test/coll/icbarrier.c
teshsuite/smpi/mpich3-test/coll/nonblocking.c
teshsuite/smpi/mpich3-test/coll/nonblocking2.c
teshsuite/smpi/mpich3-test/coll/nonblocking3.c
teshsuite/smpi/mpich3-test/coll/op_commutative.c
teshsuite/smpi/mpich3-test/coll/red_scat_block.c
teshsuite/smpi/mpich3-test/coll/red_scat_block2.c
teshsuite/smpi/mpich3-test/coll/reduce_local.c
teshsuite/smpi/mpich3-test/comm/CMakeLists.txt
teshsuite/smpi/mpich3-test/datatype/CMakeLists.txt
teshsuite/smpi/mpich3-test/datatype/darray-cyclic.c
teshsuite/smpi/mpich3-test/datatype/hindexed_block.c
teshsuite/smpi/mpich3-test/datatype/large-count.c
teshsuite/smpi/mpich3-test/datatype/simple-pack-external.c
teshsuite/smpi/mpich3-test/datatype/simple-pack.c
teshsuite/smpi/mpich3-test/datatype/transpose-pack.c
teshsuite/smpi/mpich3-test/f77/attr/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/coll/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/comm/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/datatype/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/ext/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/init/CMakeLists.txt
teshsuite/smpi/mpich3-test/f77/pt2pt/CMakeLists.txt
teshsuite/smpi/mpich3-test/f90/coll/CMakeLists.txt
teshsuite/smpi/mpich3-test/f90/datatype/CMakeLists.txt
teshsuite/smpi/mpich3-test/f90/init/CMakeLists.txt
teshsuite/smpi/mpich3-test/f90/pt2pt/CMakeLists.txt
teshsuite/smpi/mpich3-test/group/CMakeLists.txt
teshsuite/smpi/mpich3-test/init/CMakeLists.txt
teshsuite/smpi/mpich3-test/init/attrself.c
teshsuite/smpi/mpich3-test/pt2pt/CMakeLists.txt
teshsuite/smpi/mpich3-test/pt2pt/bsendalign.c
teshsuite/smpi/mpich3-test/pt2pt/large_message.c
teshsuite/smpi/mpich3-test/pt2pt/mprobe.c
teshsuite/smpi/mpich3-test/pt2pt/pscancel.c
teshsuite/smpi/mpich3-test/pt2pt/scancel.c
teshsuite/smpi/mpich3-test/runtests
tools/check_dist_archive.exclude
tools/spell/lspell.pl [new file with mode: 0644]
tools/spell/lspell2.pl [new file with mode: 0644]
tools/spell/sg_stopwords.txt [new file with mode: 0644]
tools/spell/spell.sh [new file with mode: 0644]
tools/tesh/run_context.c

diff --git a/.classpath b/.classpath
new file mode 100644 (file)
index 0000000..7393058
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" path="src/bindings/java">
+               <attributes>
+                       <attribute name="org.eclipse.jdt.launching.CLASSPATH_ATTR_LIBRARY_PATH_ENTRY" value="simgrid/lib"/>
+               </attributes>
+       </classpathentry>
+       <classpathentry excluding="*/CMakeFiles/|CMakeFiles/" kind="src" path="examples/java"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+       <classpathentry kind="output" path="bin"/>
+</classpath>
index 8ed5023..b2295cc 100644 (file)
@@ -33,6 +33,7 @@ src/bindings/ruby/libsimgrid.so
 examples/msg/masterslave/simgrid.so
 examples/simdag/simgrid.so
 examples/lua/console/simgrid.so
+simgrid.jar
 
 ################################################
 ### Units and supernovae files
@@ -52,6 +53,7 @@ src/internal_config.h
 src/smpi/smpicc
 src/smpi/smpirun
 simgrid-*.tar.gz
+testprog
 
 ################################################
 ### Cmake files
@@ -104,8 +106,8 @@ doc/simgrid_modules.map
 
 ################################################
 ### Specific of project 
-.project
 .settings/
+.csettings/
 .anjuta
 .anjuta_sym_db.db
 simgrid.anjuta
@@ -132,6 +134,11 @@ examples/msg/toto.txt
 examples/msg/z_gtnets.trace
 examples/msg/gpu/test_MSG_gpu_task_create
 examples/msg/cloud/masterslave_virtual_machines
+examples/msg/energy/e1/e1
+examples/msg/energy/e2/e2
+examples/msg/energy/e3/e3
+examples/msg/pastry/pastry
+examples/msg/semaphores/synchro
 examples/msg/tracing/link_srcdst_user_variables
 examples/msg/tracing/link_user_variables
 examples/msg/tracing/simple
@@ -164,6 +171,7 @@ examples/msg/icomms/toto.txt
 examples/msg/masterslave/masterslave_console
 examples/msg/irc_isend/peer
 examples/msg/irc_isend/toto.txt
+examples/simdag/sd_avail
 examples/simdag/ex_sd_seq_access
 examples/simdag/sd_seq_access
 examples/simdag/sd_comm_throttling
@@ -183,6 +191,7 @@ examples/simdag/sd_test2
 examples/simdag/dax/dax_test
 examples/simdag/goal/goal_test
 examples/simdag/scheduling/minmin_test
+examples/simdag/io/sd_io
 examples/msg/actions/actions
 examples/msg/bittorrent/bittorrent
 examples/msg/bittorrent/bittorrent_platfgen
@@ -229,6 +238,11 @@ examples/msg/mc/bugged1_stateful
 examples/msg/mc/bugged2_liveness
 examples/msg/mc/bugged2_stateful
 examples/msg/mc/centralized_liveness
+examples/msg/mc/electric_fence
+examples/smpi/mc/bugged1
+examples/smpi/mc/bugged1_liveness
+examples/smpi/mc/bugged2
+
 
 src/replay/replay
 src/testall
@@ -237,8 +251,11 @@ teshsuite/smpi/allgatherv_coll
 teshsuite/smpi/allreduce_coll
 teshsuite/smpi/alltoall_coll
 teshsuite/smpi/alltoallv_coll
+teshsuite/smpi/barrier_coll
 teshsuite/smpi/bcast_coll
+teshsuite/smpi/gather_coll
 teshsuite/smpi/reduce_coll
+teshsuite/smpi/reduce_scatter_coll
 teshsuite/smpi/allreduce
 teshsuite/smpi/alltoall2
 teshsuite/smpi/alltoall_basic
@@ -253,6 +270,7 @@ teshsuite/smpi/indexed_test
 teshsuite/smpi/pingpong
 teshsuite/smpi/reduce
 teshsuite/smpi/scatter
+teshsuite/smpi/shared
 teshsuite/smpi/smpi_sendrecv
 teshsuite/smpi/split
 teshsuite/smpi/struct_test
@@ -401,6 +419,303 @@ teshsuite/smpi/mpich-test/pt2pt/waitall2
 teshsuite/smpi/mpich-test/pt2pt/waitall3
 teshsuite/smpi/mpich-test/pt2pt/waitall4
 teshsuite/smpi/mpich-test/pt2pt/waitany
+teshsuite/smpi/mpich3-test/attr/attr2type
+teshsuite/smpi/mpich3-test/attr/attrend
+teshsuite/smpi/mpich3-test/attr/attrend2
+teshsuite/smpi/mpich3-test/attr/attrerr
+teshsuite/smpi/mpich3-test/attr/attrerrcomm
+teshsuite/smpi/mpich3-test/attr/attrerrtype
+teshsuite/smpi/mpich3-test/attr/attric
+teshsuite/smpi/mpich3-test/attr/attrorder
+teshsuite/smpi/mpich3-test/attr/attrordercomm
+teshsuite/smpi/mpich3-test/attr/attrordertype
+teshsuite/smpi/mpich3-test/attr/attrt
+teshsuite/smpi/mpich3-test/attr/baseattr2
+teshsuite/smpi/mpich3-test/attr/baseattrcomm
+teshsuite/smpi/mpich3-test/attr/fkeyval
+teshsuite/smpi/mpich3-test/attr/fkeyvalcomm
+teshsuite/smpi/mpich3-test/attr/fkeyvaltype
+teshsuite/smpi/mpich3-test/attr/keyval_double_free
+teshsuite/smpi/mpich3-test/coll/allgather2
+teshsuite/smpi/mpich3-test/coll/allgather3
+teshsuite/smpi/mpich3-test/coll/allgatherv2
+teshsuite/smpi/mpich3-test/coll/allgatherv3
+teshsuite/smpi/mpich3-test/coll/allgatherv4
+teshsuite/smpi/mpich3-test/coll/allred2
+teshsuite/smpi/mpich3-test/coll/allred3
+teshsuite/smpi/mpich3-test/coll/allred4
+teshsuite/smpi/mpich3-test/coll/allred5
+teshsuite/smpi/mpich3-test/coll/allred6
+teshsuite/smpi/mpich3-test/coll/allredmany
+teshsuite/smpi/mpich3-test/coll/alltoall1
+teshsuite/smpi/mpich3-test/coll/alltoallv
+teshsuite/smpi/mpich3-test/coll/alltoallv0
+teshsuite/smpi/mpich3-test/coll/alltoallw1
+teshsuite/smpi/mpich3-test/coll/alltoallw2
+teshsuite/smpi/mpich3-test/coll/alltoallw_zeros
+teshsuite/smpi/mpich3-test/coll/bcast2
+teshsuite/smpi/mpich3-test/coll/bcast3
+teshsuite/smpi/mpich3-test/coll/bcasttest
+teshsuite/smpi/mpich3-test/coll/bcastzerotype
+teshsuite/smpi/mpich3-test/coll/coll10
+teshsuite/smpi/mpich3-test/coll/coll11
+teshsuite/smpi/mpich3-test/coll/coll12
+teshsuite/smpi/mpich3-test/coll/coll13
+teshsuite/smpi/mpich3-test/coll/coll2
+teshsuite/smpi/mpich3-test/coll/coll3
+teshsuite/smpi/mpich3-test/coll/coll4
+teshsuite/smpi/mpich3-test/coll/coll5
+teshsuite/smpi/mpich3-test/coll/coll6
+teshsuite/smpi/mpich3-test/coll/coll7
+teshsuite/smpi/mpich3-test/coll/coll8
+teshsuite/smpi/mpich3-test/coll/coll9
+teshsuite/smpi/mpich3-test/coll/exscan
+teshsuite/smpi/mpich3-test/coll/exscan2
+teshsuite/smpi/mpich3-test/coll/gather
+teshsuite/smpi/mpich3-test/coll/gather2
+teshsuite/smpi/mpich3-test/coll/gather2_save
+teshsuite/smpi/mpich3-test/coll/iallred
+teshsuite/smpi/mpich3-test/coll/ibarrier
+teshsuite/smpi/mpich3-test/coll/icallgather
+teshsuite/smpi/mpich3-test/coll/icallgatherv
+teshsuite/smpi/mpich3-test/coll/icallreduce
+teshsuite/smpi/mpich3-test/coll/icalltoall
+teshsuite/smpi/mpich3-test/coll/icalltoallv
+teshsuite/smpi/mpich3-test/coll/icalltoallw
+teshsuite/smpi/mpich3-test/coll/icbarrier
+teshsuite/smpi/mpich3-test/coll/icbcast
+teshsuite/smpi/mpich3-test/coll/icgather
+teshsuite/smpi/mpich3-test/coll/icgatherv
+teshsuite/smpi/mpich3-test/coll/icreduce
+teshsuite/smpi/mpich3-test/coll/icscatter
+teshsuite/smpi/mpich3-test/coll/icscatterv
+teshsuite/smpi/mpich3-test/coll/longuser
+teshsuite/smpi/mpich3-test/coll/nonblocking
+teshsuite/smpi/mpich3-test/coll/nonblocking2
+teshsuite/smpi/mpich3-test/coll/nonblocking3
+teshsuite/smpi/mpich3-test/coll/op_commutative
+teshsuite/smpi/mpich3-test/coll/opband
+teshsuite/smpi/mpich3-test/coll/opbor
+teshsuite/smpi/mpich3-test/coll/opbxor
+teshsuite/smpi/mpich3-test/coll/opland
+teshsuite/smpi/mpich3-test/coll/oplor
+teshsuite/smpi/mpich3-test/coll/oplxor
+teshsuite/smpi/mpich3-test/coll/opmax
+teshsuite/smpi/mpich3-test/coll/opmaxloc
+teshsuite/smpi/mpich3-test/coll/opmin
+teshsuite/smpi/mpich3-test/coll/opminloc
+teshsuite/smpi/mpich3-test/coll/opprod
+teshsuite/smpi/mpich3-test/coll/opsum
+teshsuite/smpi/mpich3-test/coll/red3
+teshsuite/smpi/mpich3-test/coll/red4
+teshsuite/smpi/mpich3-test/coll/red_scat_block
+teshsuite/smpi/mpich3-test/coll/red_scat_block2
+teshsuite/smpi/mpich3-test/coll/redscat
+teshsuite/smpi/mpich3-test/coll/redscat2
+teshsuite/smpi/mpich3-test/coll/redscat3
+teshsuite/smpi/mpich3-test/coll/redscatbkinter
+teshsuite/smpi/mpich3-test/coll/redscatblk3
+teshsuite/smpi/mpich3-test/coll/redscatinter
+teshsuite/smpi/mpich3-test/coll/reduce_local
+teshsuite/smpi/mpich3-test/coll/reduce_mpich
+teshsuite/smpi/mpich3-test/coll/scantst
+teshsuite/smpi/mpich3-test/coll/scatter2
+teshsuite/smpi/mpich3-test/coll/scatter3
+teshsuite/smpi/mpich3-test/coll/scattern
+teshsuite/smpi/mpich3-test/coll/scatterv
+teshsuite/smpi/mpich3-test/coll/uoplong
+teshsuite/smpi/mpich3-test/comm/cmfree
+teshsuite/smpi/mpich3-test/comm/cmsplit
+teshsuite/smpi/mpich3-test/comm/cmsplit2
+teshsuite/smpi/mpich3-test/comm/cmsplit_type
+teshsuite/smpi/mpich3-test/comm/comm_create_group
+teshsuite/smpi/mpich3-test/comm/comm_group_half
+teshsuite/smpi/mpich3-test/comm/comm_group_rand
+teshsuite/smpi/mpich3-test/comm/comm_info
+teshsuite/smpi/mpich3-test/comm/commcreate1
+teshsuite/smpi/mpich3-test/comm/commname
+teshsuite/smpi/mpich3-test/comm/ctxalloc
+teshsuite/smpi/mpich3-test/comm/ctxsplit
+teshsuite/smpi/mpich3-test/comm/dup
+teshsuite/smpi/mpich3-test/comm/dup_with_info
+teshsuite/smpi/mpich3-test/comm/dupic
+teshsuite/smpi/mpich3-test/comm/ic1
+teshsuite/smpi/mpich3-test/comm/ic2
+teshsuite/smpi/mpich3-test/comm/iccreate
+teshsuite/smpi/mpich3-test/comm/icgroup
+teshsuite/smpi/mpich3-test/comm/icm
+teshsuite/smpi/mpich3-test/comm/icsplit
+teshsuite/smpi/mpich3-test/comm/probe-intercomm
+teshsuite/smpi/mpich3-test/datatype/blockindexed-misc
+teshsuite/smpi/mpich3-test/datatype/blockindexed-zero-count
+teshsuite/smpi/mpich3-test/datatype/contents
+teshsuite/smpi/mpich3-test/datatype/contig-zero-count
+teshsuite/smpi/mpich3-test/datatype/contigstruct
+teshsuite/smpi/mpich3-test/datatype/cxx-types
+teshsuite/smpi/mpich3-test/datatype/darray-cyclic
+teshsuite/smpi/mpich3-test/datatype/darray-pack
+teshsuite/smpi/mpich3-test/datatype/gaddress
+teshsuite/smpi/mpich3-test/datatype/get-elements
+teshsuite/smpi/mpich3-test/datatype/get-elements-pairtype
+teshsuite/smpi/mpich3-test/datatype/getpartelm
+teshsuite/smpi/mpich3-test/datatype/hindexed-zeros
+teshsuite/smpi/mpich3-test/datatype/hindexed_block
+teshsuite/smpi/mpich3-test/datatype/hindexed_block_contents
+teshsuite/smpi/mpich3-test/datatype/indexed-misc
+teshsuite/smpi/mpich3-test/datatype/large-count
+teshsuite/smpi/mpich3-test/datatype/lbub
+teshsuite/smpi/mpich3-test/datatype/localpack
+teshsuite/smpi/mpich3-test/datatype/longdouble
+teshsuite/smpi/mpich3-test/datatype/lots-of-types
+teshsuite/smpi/mpich3-test/datatype/pairtype-pack
+teshsuite/smpi/mpich3-test/datatype/pairtype-size-extent
+teshsuite/smpi/mpich3-test/datatype/simple-commit
+teshsuite/smpi/mpich3-test/datatype/simple-pack
+teshsuite/smpi/mpich3-test/datatype/simple-pack-external
+teshsuite/smpi/mpich3-test/datatype/simple-resized
+teshsuite/smpi/mpich3-test/datatype/simple-size-extent
+teshsuite/smpi/mpich3-test/datatype/sizedtypes
+teshsuite/smpi/mpich3-test/datatype/slice-pack
+teshsuite/smpi/mpich3-test/datatype/slice-pack-external
+teshsuite/smpi/mpich3-test/datatype/struct-derived-zeros
+teshsuite/smpi/mpich3-test/datatype/struct-empty-el
+teshsuite/smpi/mpich3-test/datatype/struct-ezhov
+teshsuite/smpi/mpich3-test/datatype/struct-no-real-types
+teshsuite/smpi/mpich3-test/datatype/struct-pack
+teshsuite/smpi/mpich3-test/datatype/struct-verydeep
+teshsuite/smpi/mpich3-test/datatype/struct-zero-count
+teshsuite/smpi/mpich3-test/datatype/subarray
+teshsuite/smpi/mpich3-test/datatype/subarray-pack
+teshsuite/smpi/mpich3-test/datatype/tfree
+teshsuite/smpi/mpich3-test/datatype/tmatchsize
+teshsuite/smpi/mpich3-test/datatype/transpose-pack
+teshsuite/smpi/mpich3-test/datatype/tresized
+teshsuite/smpi/mpich3-test/datatype/tresized2
+teshsuite/smpi/mpich3-test/datatype/triangular-pack
+teshsuite/smpi/mpich3-test/datatype/typecommit
+teshsuite/smpi/mpich3-test/datatype/typefree
+teshsuite/smpi/mpich3-test/datatype/typelb
+teshsuite/smpi/mpich3-test/datatype/typename
+teshsuite/smpi/mpich3-test/datatype/unpack
+teshsuite/smpi/mpich3-test/datatype/unusual-noncontigs
+teshsuite/smpi/mpich3-test/datatype/zero-blklen-vector
+teshsuite/smpi/mpich3-test/datatype/zeroblks
+teshsuite/smpi/mpich3-test/datatype/zeroparms
+teshsuite/smpi/mpich3-test/f77/coll/allredint8f
+teshsuite/smpi/mpich3-test/f77/coll/allredopttf
+teshsuite/smpi/mpich3-test/f77/coll/alltoallvf
+teshsuite/smpi/mpich3-test/f77/coll/alltoallwf
+teshsuite/smpi/mpich3-test/f77/coll/exscanf
+teshsuite/smpi/mpich3-test/f77/coll/inplacef
+teshsuite/smpi/mpich3-test/f77/coll/red_scat_blockf
+teshsuite/smpi/mpich3-test/f77/coll/redscatf
+teshsuite/smpi/mpich3-test/f77/coll/reducelocalf
+teshsuite/smpi/mpich3-test/f77/coll/split_typef
+teshsuite/smpi/mpich3-test/f77/coll/uallreducef
+teshsuite/smpi/mpich3-test/f77/coll/vw_inplacef
+teshsuite/smpi/mpich3-test/f77/comm/commnamef
+teshsuite/smpi/mpich3-test/f77/datatype/allctypesf
+teshsuite/smpi/mpich3-test/f77/datatype/gaddressf
+teshsuite/smpi/mpich3-test/f77/datatype/hindex1f
+teshsuite/smpi/mpich3-test/f77/datatype/hindexed_blockf
+teshsuite/smpi/mpich3-test/f77/datatype/packef
+teshsuite/smpi/mpich3-test/f77/datatype/typeaints
+teshsuite/smpi/mpich3-test/f77/datatype/typecntsf
+teshsuite/smpi/mpich3-test/f77/datatype/typem2f
+teshsuite/smpi/mpich3-test/f77/datatype/typename3f
+teshsuite/smpi/mpich3-test/f77/datatype/typenamef
+teshsuite/smpi/mpich3-test/f77/datatype/typesnamef
+teshsuite/smpi/mpich3-test/f77/datatype/typesubf
+teshsuite/smpi/mpich3-test/f77/ext/add1size
+teshsuite/smpi/mpich3-test/f77/init/baseenvf
+teshsuite/smpi/mpich3-test/f77/pt2pt/allpairf
+teshsuite/smpi/mpich3-test/f77/pt2pt/greqf
+teshsuite/smpi/mpich3-test/f77/pt2pt/statusesf
+teshsuite/smpi/mpich3-test/f90/coll/allredint8f90
+teshsuite/smpi/mpich3-test/f90/coll/allredopttf90
+teshsuite/smpi/mpich3-test/f90/coll/alltoallvf90
+teshsuite/smpi/mpich3-test/f90/coll/alltoallwf90
+teshsuite/smpi/mpich3-test/f90/coll/array.mod
+teshsuite/smpi/mpich3-test/f90/coll/exscanf90
+teshsuite/smpi/mpich3-test/f90/coll/inplacef90
+teshsuite/smpi/mpich3-test/f90/coll/red_scat_blockf90
+teshsuite/smpi/mpich3-test/f90/coll/redscatf90
+teshsuite/smpi/mpich3-test/f90/coll/reducelocalf90
+teshsuite/smpi/mpich3-test/f90/coll/split_typef90
+teshsuite/smpi/mpich3-test/f90/coll/uallreducef90
+teshsuite/smpi/mpich3-test/f90/coll/vw_inplacef90
+teshsuite/smpi/mpich3-test/f90/datatype/allctypesf90
+teshsuite/smpi/mpich3-test/f90/datatype/array.mod
+teshsuite/smpi/mpich3-test/f90/datatype/gaddressf90
+teshsuite/smpi/mpich3-test/f90/datatype/hindex1f90
+teshsuite/smpi/mpich3-test/f90/datatype/hindexed_blockf90
+teshsuite/smpi/mpich3-test/f90/datatype/indtype
+teshsuite/smpi/mpich3-test/f90/datatype/kinds
+teshsuite/smpi/mpich3-test/f90/datatype/packef90
+teshsuite/smpi/mpich3-test/f90/datatype/typecntsf90
+teshsuite/smpi/mpich3-test/f90/datatype/typem2f90
+teshsuite/smpi/mpich3-test/f90/datatype/typename3f90
+teshsuite/smpi/mpich3-test/f90/datatype/typenamef90
+teshsuite/smpi/mpich3-test/f90/datatype/typesnamef90
+teshsuite/smpi/mpich3-test/f90/datatype/typesubf90
+teshsuite/smpi/mpich3-test/f90/init/array.mod
+teshsuite/smpi/mpich3-test/f90/init/baseenvf90
+teshsuite/smpi/mpich3-test/f90/pt2pt/allpairf90
+teshsuite/smpi/mpich3-test/f90/pt2pt/array.mod
+teshsuite/smpi/mpich3-test/f90/pt2pt/greqf90
+teshsuite/smpi/mpich3-test/f90/pt2pt/statusesf90
+teshsuite/smpi/mpich3-test/group/groupcreate
+teshsuite/smpi/mpich3-test/group/groupnullincl
+teshsuite/smpi/mpich3-test/group/grouptest
+teshsuite/smpi/mpich3-test/group/grouptest2
+teshsuite/smpi/mpich3-test/group/gtranks
+teshsuite/smpi/mpich3-test/group/gtranksperf
+teshsuite/smpi/mpich3-test/init/attrself
+teshsuite/smpi/mpich3-test/init/exitst1
+teshsuite/smpi/mpich3-test/init/exitst2
+teshsuite/smpi/mpich3-test/init/exitst3
+teshsuite/smpi/mpich3-test/init/finalized
+teshsuite/smpi/mpich3-test/init/initstat
+teshsuite/smpi/mpich3-test/init/library_version
+teshsuite/smpi/mpich3-test/init/timeout
+teshsuite/smpi/mpich3-test/init/version
+teshsuite/smpi/mpich3-test/pt2pt/anyall
+teshsuite/smpi/mpich3-test/pt2pt/bottom
+teshsuite/smpi/mpich3-test/pt2pt/bsend1
+teshsuite/smpi/mpich3-test/pt2pt/bsend2
+teshsuite/smpi/mpich3-test/pt2pt/bsend3
+teshsuite/smpi/mpich3-test/pt2pt/bsend4
+teshsuite/smpi/mpich3-test/pt2pt/bsend5
+teshsuite/smpi/mpich3-test/pt2pt/bsendalign
+teshsuite/smpi/mpich3-test/pt2pt/bsendfrag
+teshsuite/smpi/mpich3-test/pt2pt/bsendpending
+teshsuite/smpi/mpich3-test/pt2pt/cancelrecv
+teshsuite/smpi/mpich3-test/pt2pt/eagerdt
+teshsuite/smpi/mpich3-test/pt2pt/greq1
+teshsuite/smpi/mpich3-test/pt2pt/icsend
+teshsuite/smpi/mpich3-test/pt2pt/inactivereq
+teshsuite/smpi/mpich3-test/pt2pt/isendself
+teshsuite/smpi/mpich3-test/pt2pt/isendselfprobe
+teshsuite/smpi/mpich3-test/pt2pt/large_message
+teshsuite/smpi/mpich3-test/pt2pt/mprobe
+teshsuite/smpi/mpich3-test/pt2pt/pingping
+teshsuite/smpi/mpich3-test/pt2pt/probe-unexp
+teshsuite/smpi/mpich3-test/pt2pt/probenull
+teshsuite/smpi/mpich3-test/pt2pt/pscancel
+teshsuite/smpi/mpich3-test/pt2pt/rcancel
+teshsuite/smpi/mpich3-test/pt2pt/rqfreeb
+teshsuite/smpi/mpich3-test/pt2pt/rqstatus
+teshsuite/smpi/mpich3-test/pt2pt/scancel
+teshsuite/smpi/mpich3-test/pt2pt/scancel2
+teshsuite/smpi/mpich3-test/pt2pt/sendall
+teshsuite/smpi/mpich3-test/pt2pt/sendflood
+teshsuite/smpi/mpich3-test/pt2pt/sendrecv1
+teshsuite/smpi/mpich3-test/pt2pt/sendrecv2
+teshsuite/smpi/mpich3-test/pt2pt/sendrecv3
+teshsuite/smpi/mpich3-test/pt2pt/sendself
+teshsuite/smpi/mpich3-test/pt2pt/waitany-null
+teshsuite/smpi/mpich3-test/pt2pt/waittestnull
+
 teshsuite/msg/pid
 teshsuite/msg/get_sender
 teshsuite/msg/trace/test_trace_integration
diff --git a/.project b/.project
new file mode 100644 (file)
index 0000000..d935a7a
--- /dev/null
+++ b/.project
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+  <name>simgrid</name>
+  <comment></comment>
+  <projects>
+  </projects>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+      <triggers>clean,full,incremental,</triggers>
+      <arguments>
+        <dictionary>
+          <key>?name?</key>
+          <value></value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.append_environment</key>
+          <value>true</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+          <value>all</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.buildArguments</key>
+          <value></value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.buildCommand</key>
+          <value>make</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+          <value>clean</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.contents</key>
+          <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+          <value>false</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+          <value>true</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+          <value>true</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+          <value>all</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.stopOnError</key>
+          <value>true</value>
+        </dictionary>
+        <dictionary>
+          <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+          <value>true</value>
+        </dictionary>
+      </arguments>
+    </buildCommand>
+    <buildCommand>
+      <name>org.rubypeople.rdt.core.rubybuilder</name>
+      <arguments>
+      </arguments>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+      <triggers>full,incremental,</triggers>
+      <arguments>
+      </arguments>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+      <arguments>
+      </arguments>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.cdt.core.ccnature</nature>
+    <nature>org.eclipse.cdt.core.cnature</nature>
+    <nature>org.rubypeople.rdt.core.rubynature</nature>
+    <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+    <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
diff --git a/CITATION.bib b/CITATION.bib
new file mode 100644 (file)
index 0000000..d238b86
--- /dev/null
@@ -0,0 +1,15 @@
+@InProceedings{Casanova:2008:SGF:1397760.1398183,
+  author =  {Casanova, Henri and Legrand, Arnaud and Quinson, Martin},
+  title =  {SimGrid: a Generic Framework for Large-Scale Distributed Experiments},
+  booktitle = {Proceedings of the Tenth International Conference on Computer Modeling and Simulation},
+  series = {UKSIM '08},
+  year = {2008},
+  isbn = {978-0-7695-3114-4},
+  pages = {126--131},
+  numpages = {6},
+  url = {http://dx.doi.org/10.1109/UKSIM.2008.28},
+  doi = {10.1109/UKSIM.2008.28},
+  acmid = {1398183},
+  publisher = {IEEE Computer Society},
+  address = {Washington, DC, USA},
+}
index 409ae17..941c3bf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,11 @@ SimGrid (3.10) NOT RELEASED; urgency=low
    used even if the OS provide a getline(). This should reduce the
    configuration complexity by using the same code on all platforms.
  * new xbt_cfg_elm_boolean type
+ * Allow to disable SimGrid cleanups at exit from command line option.
+   There are situations where one may want a simulation to end with an exit.
+   Unfortunately, calling exit may cause SimGrid to segfault, which is quite
+   annoying when scripting around the simulator. Adding a
+   --cfg=clean_atexit:yes allows to circumvent this issue.
 
  Java:
  * Reintegrate Java to the main archive as desynchronizing these
@@ -21,25 +26,25 @@ SimGrid (3.10) NOT RELEASED; urgency=low
 
  SMPI:
  * SMPI is now included directly in the libsimgrid as the windows
-   linker dont forces us on splitting it anymore.
+   linker doesn't force us on splitting it anymore.
  * Improvements of the SMPI replay tool:
    - Most of the collective communications are now rooted in the same process as
      in the original application.
-   - Traces now rely on the same MPI datatype as the application (MPI_BYTE was
-     used until now). Multiple datatypes can now be used in a trace.
+   - Traces now rely on the same MPI data type as the application (MPI_BYTE was
+     used until now). Multiple data types can now be used in a trace.
    - The replay tool now supports traces produce either by TAU or a modified
      version of MPE.
    - Bug Fix: the compute part of the reduce action is now taken into account.
  * smpirun generates the hostfile if needed (with given hostcount and platform)
- * Integration of more than 100 STAR-MPI, mpich, OpenMPI collective algorithms
+ * Integration of more than 100 STAR-MPI, MPICH, OpenMPI collective algorithms
    - allows to select one in particular with --cfg=smpi/coll_name:algorithm
    - allows to use the decision logic of OpenMPI(1.7) or MPICH(3.0.4) by setting
      --cfg=smpi/coll_selector:(mpich/ompi)
- * Support for new functions : MPI_Issend, MPI_Ssend, Commutative operations in 
+ * Support for new functions : MPI_Issend, MPI_Ssend, Commutative operations in
    Reduce
- * Add a --cfg:tracing/smpi/internals option, to trace internal communications 
+ * Add a --cfg:tracing/smpi/internals option, to trace internal communications
    happening inside a collective SMPI call.
- * Fix the behavior of complex datatypes handling
+ * Fix the behavior of complex data types handling
  * replace MPICH-1 test suite by the one from MPICH 3.0.4
  * Add all missing Fortran bindings, SMPI should work with Fortran 90
    (no privatization of global variables yet)
@@ -51,10 +56,13 @@ SimGrid (3.10) NOT RELEASED; urgency=low
 
  PLATFORM:
  * Handle units for values (10ms, 10kiloflops, 10Bps, 1GB, ...)
- * Remove rule based routing (no more pcre dependency)
+ * Remove rule based routing (no more PCRE dependency)
  * Add a limiter_link option to cluster tag, to specify a maximum reachable
-  bandwidth in fullduplex mode when it is < 2*nominal bw
- * Add a loopback_bw and loopback_lat options to cluster tag. 
+   bandwidth in fullduplex mode when it is less than twice the nominal bandwidth.
+ * Add a loopback_bw and loopback_lat options to cluster tag.
+ * Fix the peer tag that could not be mixed with other AS within a Vivaldi
+   routing. Now peers are encapsulated in an AS and have their own private
+   router but this is transparent.
 
 -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
 
index b276f09..8076d74 100644 (file)
@@ -49,13 +49,13 @@ if(NOT enable_memcheck)
   ADD_TEST(help-models                          ${CMAKE_BINARY_DIR}/teshsuite/simdag/platforms/basic_parsing_test --help-models)
 
   # teshsuite/xbt
-  ADD_TEST(xbt-log-large                       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/log_large_test.tesh)
-  ADD_TEST(xbt-log-parallel                    ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parallel_log_crashtest.tesh)
+  ADD_TEST(xbt-log-large                        ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/log_large_test.tesh)
+  ADD_TEST(xbt-log-parallel                     ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parallel_log_crashtest.tesh)
   IF(HAVE_MMAP)
     IF(${ARCH_32_BITS})
-      ADD_TEST(xbt-mmalloc-32                    ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc_32.tesh)
+      ADD_TEST(xbt-mmalloc-32                   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc_32.tesh)
     ELSE()
-      ADD_TEST(xbt-mmalloc-64                    ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc_64.tesh)
+      ADD_TEST(xbt-mmalloc-64                   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc_64.tesh)
     ENDIF()
   ENDIF()
   ADD_TEST(xbt-parmap                           ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parmap_test.tesh)
@@ -69,12 +69,12 @@ if(NOT enable_memcheck)
     ADD_TEST(tesh-msg-get-sender-ucontext       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/get_sender.tesh)
   endif()
 
-  ADD_TEST(tesh-msg-pid-thread           ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid.tesh)
+  ADD_TEST(tesh-msg-pid-thread                  ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid.tesh)
   if(HAVE_RAWCTX)
-    ADD_TEST(tesh-msg-pid-raw            ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid.tesh)
+    ADD_TEST(tesh-msg-pid-raw                   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid.tesh)
   endif()
   if(CONTEXT_UCONTEXT)
-    ADD_TEST(tesh-msg-pid-ucontext       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid.tesh)
+    ADD_TEST(tesh-msg-pid-ucontext              ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid.tesh)
   endif()
 
 
@@ -135,7 +135,7 @@ if(NOT enable_memcheck)
   ADD_TEST(msg-masterslave-cpu-ti-thread        ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti_crosstraffic.tesh)
 
   ADD_TEST(msg-masterslave-virtual-machines     ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
-  
+
   ADD_TEST(msg-energy-pstates                   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
   ADD_TEST(msg-energy-consumption               ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
   ADD_TEST(msg-energy-concurrent-tasks          ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
@@ -160,11 +160,11 @@ if(NOT enable_memcheck)
     ADD_TEST(msg-masterslave-failure-ucontext   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_failure_crosstraffic.tesh)
     ADD_TEST(msg-masterslave-mailbox-ucontext   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_mailbox_crosstraffic.tesh)
     ADD_TEST(msg-masterslave-cpu-ti-ucontext    ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti_crosstraffic.tesh)
+
     ADD_TEST(msg-energy-pstates-ucontext                ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
     ADD_TEST(msg-energy-consumption-ucontext            ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
     ADD_TEST(msg-energy-concurrent-tasks-ucontext       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
+
   endif()
 
   if(HAVE_RAWCTX)
@@ -190,7 +190,7 @@ if(NOT enable_memcheck)
     ADD_TEST(msg-energy-pstates-raw             ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
     ADD_TEST(msg-energy-consumption-raw         ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
     ADD_TEST(msg-energy-concurrent-tasks-raw    ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
+
   endif()
 
   ADD_TEST(msg-masterslave-vivaldi-thread       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
@@ -258,20 +258,20 @@ if(NOT enable_memcheck)
 
   # simdag examples
   if(HAVE_GRAPHVIZ)
-    ADD_TEST(simdag-test-dotload                  ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag/dot --cd ${CMAKE_BINARY_DIR}/examples/simdag/dot ${CMAKE_HOME_DIRECTORY}/examples/simdag/dot/test_simdag_dotload.tesh)
+    ADD_TEST(simdag-test-dotload                ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag/dot --cd ${CMAKE_BINARY_DIR}/examples/simdag/dot ${CMAKE_HOME_DIRECTORY}/examples/simdag/dot/test_simdag_dotload.tesh)
   endif()
   ADD_TEST(simdag-test-simdag                   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/test_simdag.tesh)
   ADD_TEST(simdag-test-simdag2                  ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/test_simdag2.tesh)
   ADD_TEST(simdag-test-seq-access               ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/test_simdag_seq_access.tesh)
   ADD_TEST(simdag-test-typed-tasks              ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/test_simdag_typed_tasks.tesh)
   ADD_TEST(simdag-test-fail                     ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag --cd ${CMAKE_HOME_DIRECTORY}/examples/simdag test_simdag_fail.tesh)
-  ADD_TEST(simdag-test-avail                     ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag --cd ${CMAKE_HOME_DIRECTORY}/examples/simdag test_simdag_avail.tesh)
+  ADD_TEST(simdag-test-avail                    ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag --cd ${CMAKE_HOME_DIRECTORY}/examples/simdag test_simdag_avail.tesh)
   ADD_TEST(simdag-test-comm-throttling          ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/test_simdag_comm_throttling.tesh)
   ADD_TEST(simdag-test-dax                      ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag/dax --cd ${CMAKE_HOME_DIRECTORY}/examples/simdag/dax smalldax.tesh)
   ADD_TEST(simdag-test-dax-cycle                ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag/dax --cd ${CMAKE_BINARY_DIR}/examples/simdag/dax ${CMAKE_HOME_DIRECTORY}/examples/simdag/dax/simple_dax_with_cycle.tesh)
   ADD_TEST(simdag-test-prop                     ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/properties/test_prop.tesh)
   ADD_TEST(simdag-test-minmin-scheduling        ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag/scheduling --cd ${CMAKE_HOME_DIRECTORY}/examples/simdag/scheduling test_minmin.tesh)
-  ADD_TEST(simdag-test-io                      ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/ --cd ${CMAKE_HOME_DIRECTORY}/examples/ ${CMAKE_HOME_DIRECTORY}/examples/simdag/io/io.tesh)
+  ADD_TEST(simdag-test-io                       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/ --cd ${CMAKE_HOME_DIRECTORY}/examples/ ${CMAKE_HOME_DIRECTORY}/examples/simdag/io/io.tesh)
 
   ADD_TEST(msg-gtnets-crosstraffic-thread       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/gtnets/gtnets-crosstraffic.tesh)
   if(CONTEXT_UCONTEXT)
@@ -314,10 +314,10 @@ if(NOT enable_memcheck)
   if(HAVE_NS3)
     ADD_TEST(msg-ns3-thread                     ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/ns3/ns3.tesh)
     if(CONTEXT_UCONTEXT)
-      ADD_TEST(msg-ns3-ucontext                   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/ns3/ns3.tesh)
+      ADD_TEST(msg-ns3-ucontext                 ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/ns3/ns3.tesh)
     endif()
     if(HAVE_RAWCTX)
-      ADD_TEST(msg-ns3-raw                        ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/ns3/ns3.tesh)
+      ADD_TEST(msg-ns3-raw                      ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/ns3/ns3.tesh)
     endif()
   endif()
 
@@ -390,64 +390,63 @@ if(NOT enable_memcheck)
       ADD_TEST(smpi-replay                      ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi --cd ${CMAKE_BINARY_DIR}/examples/smpi ${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/smpi_replay.tesh)
     endif()
 
-
     FOREACH (GATHER_COLL default ompi mpich ompi_basic_linear ompi_linear_sync ompi_binomial)
-        ADD_TEST(smpi-gather-coll-${GATHER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/gather:${GATHER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/gather_coll.tesh)
+      ADD_TEST(smpi-gather-coll-${GATHER_COLL}  ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/gather:${GATHER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/gather_coll.tesh)
     ENDFOREACH()
-    
+
     FOREACH (ALLGATHER_COLL default  2dmesh 3dmesh bruck GB loosely_lr lr
-                           NTSLR NTSLR_NB pair rdb  rhv ring SMP_NTS
-                           smp_simple spreading_simple ompi mpich ompi_neighborexchange)
-        ADD_TEST(smpi-allgather-coll-${ALLGATHER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allgather:${ALLGATHER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgather_coll.tesh)
+                            NTSLR NTSLR_NB pair rdb  rhv ring SMP_NTS
+                            smp_simple spreading_simple ompi mpich ompi_neighborexchange)
+      ADD_TEST(smpi-allgather-coll-${ALLGATHER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allgather:${ALLGATHER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgather_coll.tesh)
     ENDFOREACH()
-    
-    FOREACH (ALLGATHERV_COLL default GB pair ring ompi mpich ompi_neighborexchange ompi_bruck mpich_rdb)
-        ADD_TEST(smpi-allgatherv-coll-${ALLGATHERV_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allgatherv:${ALLGATHERV_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgatherv_coll.tesh)
+
+    FOREACH (ALLGATHERV_COLL default GB pair ring ompi mpich ompi_neighborexchange ompi_bruck mpich_rdb mpich_ring)
+      ADD_TEST(smpi-allgatherv-coll-${ALLGATHERV_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allgatherv:${ALLGATHERV_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgatherv_coll.tesh)
     ENDFOREACH()
-    
+
     FOREACH (ALLREDUCE_COLL default lr NTS rab1 rab2 rab_rdb
-                           rab_rsag rdb smp_binomial smp_binomial_pipeline
-                           smp_rdb smp_rsag smp_rsag_lr smp_rsag_rab redbcast ompi mpich ompi_ring_segmented)
-        ADD_TEST(smpi-allreduce-coll-${ALLREDUCE_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allreduce:${ALLREDUCE_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allreduce_coll.tesh)
+                            rab_rsag rdb smp_binomial smp_binomial_pipeline
+                            smp_rdb smp_rsag smp_rsag_lr smp_rsag_rab redbcast ompi mpich ompi_ring_segmented)
+      ADD_TEST(smpi-allreduce-coll-${ALLREDUCE_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allreduce:${ALLREDUCE_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allreduce_coll.tesh)
     ENDFOREACH()
-    
+
     FOREACH (ALLREDUCE_COLL_LARGE ompi_ring_segmented)
-        ADD_TEST(smpi-allreduce-coll-${ALLREDUCE_COLL_LARGE} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allreduce:${ALLREDUCE_COLL_LARGE} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allreduce_coll_large.tesh)
+      ADD_TEST(smpi-allreduce-coll-${ALLREDUCE_COLL_LARGE} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/allreduce:${ALLREDUCE_COLL_LARGE} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allreduce_coll_large.tesh)
     ENDFOREACH()
-    
+
     FOREACH (ALLTOALL_COLL 2dmesh 3dmesh pair pair_one_barrier pair_light_barrier
-                          pair_mpi_barrier rdb ring ring_light_barrier
-                          ring_mpi_barrier ring_one_barrier
-                          simple bruck basic_linear ompi mpich ompi_pairwise)
-        ADD_TEST(smpi-alltoall-coll-${ALLTOALL_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/alltoall:${ALLTOALL_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoall_coll.tesh)
+                           pair_mpi_barrier rdb ring ring_light_barrier
+                           ring_mpi_barrier ring_one_barrier
+                           simple bruck basic_linear ompi mpich ompi_pairwise)
+      ADD_TEST(smpi-alltoall-coll-${ALLTOALL_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/alltoall:${ALLTOALL_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoall_coll.tesh)
     ENDFOREACH()
-    
+
     FOREACH (ALLTOALLV_COLL default pair pair_light_barrier pair_mpi_barrier
-                           pair_one_barrier  ring ring_light_barrier
-                           ring_mpi_barrier ring_one_barrier bruck ompi mpich ompi_basic_linear)
-        ADD_TEST(smpi-alltoallv-coll-${ALLTOALLV_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/alltoallv:${ALLTOALLV_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoallv_coll.tesh)
+                            pair_one_barrier  ring ring_light_barrier
+                            ring_mpi_barrier ring_one_barrier bruck ompi mpich ompi_basic_linear)
+      ADD_TEST(smpi-alltoallv-coll-${ALLTOALLV_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/alltoallv:${ALLTOALLV_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoallv_coll.tesh)
     ENDFOREACH()
-    
+
     FOREACH (BCAST_COLL default arrival_nb arrival_pattern_aware arrival_pattern_aware_wait arrival_scatter
-                       binomial_tree flattree flattree_pipeline NTSB NTSL NTSL_Isend scatter_LR_allgather
-                       scatter_rdb_allgather SMP_binary SMP_binomial SMP_linear ompi mpich ompi_split_bintree ompi_pipeline)
-               ADD_TEST(smpi-bcast-coll-${BCAST_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/bcast:${BCAST_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/bcast_coll.tesh)
+                        binomial_tree flattree flattree_pipeline NTSB NTSL NTSL_Isend scatter_LR_allgather
+                        scatter_rdb_allgather SMP_binary SMP_binomial SMP_linear ompi mpich ompi_split_bintree ompi_pipeline)
+      ADD_TEST(smpi-bcast-coll-${BCAST_COLL}    ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/bcast:${BCAST_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/bcast_coll.tesh)
     ENDFOREACH()
-    
+
     FOREACH (REDUCE_COLL default arrival_pattern_aware binomial flat_tree NTSL scatter_gather ompi mpich ompi_chain ompi_binary ompi_basic_linear ompi_binomial ompi_in_order_binary)
-        ADD_TEST(smpi-reduce-coll-${REDUCE_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/reduce:${REDUCE_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce_coll.tesh)
+      ADD_TEST(smpi-reduce-coll-${REDUCE_COLL}  ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/reduce:${REDUCE_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce_coll.tesh)
     ENDFOREACH()
 
     FOREACH (REDUCE_SCATTER_COLL default  ompi mpich ompi_basic_recursivehalving ompi_ring mpich_noncomm mpich_pair mpich_rdb)
-        ADD_TEST(smpi-reduce_scatter-coll-${REDUCE_SCATTER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/reduce_scatter:${REDUCE_SCATTER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce_scatter_coll.tesh)
+      ADD_TEST(smpi-reduce_scatter-coll-${REDUCE_SCATTER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/reduce_scatter:${REDUCE_SCATTER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce_scatter_coll.tesh)
     ENDFOREACH()
 
     FOREACH (SCATTER_COLL default  ompi mpich ompi_basic_linear ompi_binomial)
-        ADD_TEST(smpi-scatter-coll-${SCATTER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/scatter:${SCATTER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/scatter_coll.tesh)
+      ADD_TEST(smpi-scatter-coll-${SCATTER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/scatter:${SCATTER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/scatter_coll.tesh)
     ENDFOREACH()
 
     FOREACH (BARRIER_COLL default  ompi mpich ompi_basic_linear ompi_tree ompi_bruck ompi_recursivedoubling ompi_doublering)
-        ADD_TEST(smpi-barrier-coll-${BARRIER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/barrier:${BARRIER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/barrier_coll.tesh)
+      ADD_TEST(smpi-barrier-coll-${BARRIER_COLL} ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --cfg smpi/barrier:${BARRIER_COLL} --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/barrier_coll.tesh)
     ENDFOREACH()
 
   endif()
@@ -455,22 +454,27 @@ if(NOT enable_memcheck)
   # END TESH TESTS
 
   if(enable_smpi)
+    ADD_TEST(smpi-mpich3-coll-thread            ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread)
+    ADD_TEST(smpi-mpich3-coll-ompi-thread       ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/coll_selector:ompi -execarg=--cfg=smpi/send_is_detached_thres:0)
+    ADD_TEST(smpi-mpich3-coll-mpich-thread      ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/coll_selector:mpich)
+    set_tests_properties(smpi-mpich3-coll-thread smpi-mpich3-coll-ompi-thread smpi-mpich3-coll-mpich-thread PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
     if(HAVE_RAWCTX)
-      ADD_TEST(smpi-mpich3-attr-raw              ${CMAKE_COMMAND} -E chdir ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/attr  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/attr -tests=testlist -execarg=--cfg=contexts/factory:raw)
-      ADD_TEST(smpi-mpich3-coll-thread              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread)
-      ADD_TEST(smpi-mpich3-coll-ompi-thread              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/coll_selector:ompi -execarg=--cfg=smpi/send_is_detached_thres:0)
-      ADD_TEST(smpi-mpich3-coll-mpich-thread              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/coll  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/coll -tests=testlist -execarg=--cfg=contexts/factory:thread -execarg=--cfg=smpi/coll_selector:mpich)
-      ADD_TEST(smpi-mpich3-comm-raw              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/comm  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/comm -tests=testlist -execarg=--cfg=contexts/factory:raw)
-      ADD_TEST(smpi-mpich3-init-raw              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/init  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/init -tests=testlist -execarg=--cfg=contexts/factory:raw)
-      ADD_TEST(smpi-mpich3-datatype-raw          ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/datatype  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/datatype -tests=testlist -execarg=--cfg=contexts/factory:raw)
-      ADD_TEST(smpi-mpich3-group-raw             ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/group  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/group -tests=testlist -execarg=--cfg=contexts/factory:raw)
-      ADD_TEST(smpi-mpich3-pt2pt-raw              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/pt2pt  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/pt2pt -tests=testlist -execarg=--cfg=contexts/factory:raw)
-      ADD_TEST(smpi-mpich3-thread-f77              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -execarg=--cfg=contexts/factory:thread)
-  if(NOT HAVE_MC)
-      ADD_TEST(smpi-mpich3-thread-f90              ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -execarg=--cfg=contexts/factory:thread)
-      set_tests_properties(smpi-mpich3-thread-f90 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
-endif()
-      set_tests_properties( smpi-mpich3-thread-f77 smpi-mpich3-attr-raw smpi-mpich3-coll-thread smpi-mpich3-coll-ompi-thread smpi-mpich3-coll-mpich-thread smpi-mpich3-comm-raw smpi-mpich3-init-raw smpi-mpich3-datatype-raw smpi-mpich3-pt2pt-raw smpi-mpich3-group-raw  PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+      ADD_TEST(smpi-mpich3-attr-raw             ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/attr  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/attr -tests=testlist -execarg=--cfg=contexts/factory:raw)
+      ADD_TEST(smpi-mpich3-comm-raw             ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/comm  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/comm -tests=testlist -execarg=--cfg=contexts/factory:raw)
+      ADD_TEST(smpi-mpich3-init-raw             ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/init  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/init -tests=testlist -execarg=--cfg=contexts/factory:raw)
+      ADD_TEST(smpi-mpich3-datatype-raw         ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/datatype  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/datatype -tests=testlist -execarg=--cfg=contexts/factory:raw)
+      ADD_TEST(smpi-mpich3-group-raw            ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/group  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/group -tests=testlist -execarg=--cfg=contexts/factory:raw)
+      ADD_TEST(smpi-mpich3-pt2pt-raw            ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/pt2pt  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/pt2pt -tests=testlist -execarg=--cfg=contexts/factory:raw)
+      set_tests_properties(smpi-mpich3-attr-raw smpi-mpich3-comm-raw smpi-mpich3-init-raw smpi-mpich3-datatype-raw smpi-mpich3-group-raw smpi-mpich3-pt2pt-raw PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+    endif()
+
+    if(SMPI_F2C)
+      ADD_TEST(smpi-mpich3-thread-f77           ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -execarg=--cfg=contexts/factory:thread)
+      set_tests_properties(smpi-mpich3-thread-f77 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+      if(NOT HAVE_MC)
+        ADD_TEST(smpi-mpich3-thread-f90         ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/  ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -execarg=--cfg=contexts/factory:thread)
+        set_tests_properties(smpi-mpich3-thread-f90 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
+      endif()
     endif()
   endif()
 
@@ -493,16 +497,16 @@ endif()
     ADD_TEST(java-startKillTime                 ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/startKillTime/startKillTime.tesh)
     ADD_TEST(java-suspend                       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/suspend/suspend.tesh)
     if(HAVE_TRACING)
-      ADD_TEST(java-tracing                       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/tracing/tracingPingPong.tesh)
+      ADD_TEST(java-tracing                     ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/java --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/java ${CMAKE_HOME_DIRECTORY}/examples/java/tracing/tracingPingPong.tesh)
     endif()
   endif()
 
   # Scala examples
   if(enable_scala)
     set(TESH_CLASSPATH "${CMAKE_BINARY_DIR}/examples/scala/:${SIMGRID_JAR}:${SCALA_JARS}")
-    ADD_TEST(scala-bypass                        ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/scala --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/scala ${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_bypass/bypass.tesh)
-    ADD_TEST(scala-kill                          ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/scala --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/scala ${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_kill/kill.tesh)
-    ADD_TEST(scala-masterslave                   ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/scala --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/scala ${CMAKE_HOME_DIRECTORY}/examples/scala/masterslave/masterslave.tesh)
+    ADD_TEST(scala-bypass                       ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/scala --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/scala ${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_bypass/bypass.tesh)
+    ADD_TEST(scala-kill                         ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/scala --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/scala ${CMAKE_HOME_DIRECTORY}/examples/scala/master_slave_kill/kill.tesh)
+    ADD_TEST(scala-masterslave                  ${CMAKE_BINARY_DIR}/bin/tesh ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/scala --setenv classpath=${TESH_CLASSPATH} --cd ${CMAKE_BINARY_DIR}/examples/scala ${CMAKE_HOME_DIRECTORY}/examples/scala/masterslave/masterslave.tesh)
   endif()
 
   # examples/msg/mc
index dab01cd..017cb79 100644 (file)
@@ -137,12 +137,13 @@ set(SMPI_SRC
   src/smpi/colls/allgatherv-ompi-neighborexchange.c
   src/smpi/colls/allgatherv-ompi-bruck.c
   src/smpi/colls/allgatherv-mpich-rdb.c
+  src/smpi/colls/allgatherv-mpich-ring.c
   src/smpi/colls/allreduce-lr.c
   src/smpi/colls/allreduce-NTS.c
   src/smpi/colls/allreduce-rab1.c
   src/smpi/colls/allreduce-rab2.c
   src/smpi/colls/allreduce-rab-rdb.c
-  #src/smpi/colls/allreduce-rab-reduce-scatter.c
+#  src/smpi/colls/allreduce-rab-reduce-scatter.c
   src/smpi/colls/allreduce-rab-rsag.c
   src/smpi/colls/allreduce-rdb.c
   src/smpi/colls/allreduce-redbcast.c
@@ -155,7 +156,7 @@ set(SMPI_SRC
   src/smpi/colls/allreduce-ompi-ring-segmented.c
   src/smpi/colls/alltoall-2dmesh.c
   src/smpi/colls/alltoall-3dmesh.c
-  #src/smpi/colls/alltoall-bruck.c
+#  src/smpi/colls/alltoall-bruck.c
   src/smpi/colls/alltoall-pair.c
   src/smpi/colls/alltoall-pair-light-barrier.c
   src/smpi/colls/alltoall-pair-mpi-barrier.c
@@ -776,6 +777,8 @@ set(DOC_SOURCES
   doc/msg-tuto-src/platforms/griffon.xml
   doc/msg-tuto-src/platforms/peers.xml
   doc/msg-tuto-src/platforms/platform.xml
+  
+  CITATION.bib
   )
 
 set(DOC_FIGS
@@ -924,25 +927,20 @@ set(TESHSUITE_CMAKEFILES_TXT
   teshsuite/smpi/mpich3-test/group/CMakeLists.txt
   teshsuite/smpi/mpich3-test/init/CMakeLists.txt
   teshsuite/smpi/mpich3-test/pt2pt/CMakeLists.txt
+#  teshsuite/smpi/mpich3-test/f77/attr/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f77/coll/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f77/comm/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f77/datatype/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f77/ext/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f77/init/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f77/pt2pt/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f90/coll/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f90/datatype/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f90/init/CMakeLists.txt
+  teshsuite/smpi/mpich3-test/f90/pt2pt/CMakeLists.txt
   teshsuite/xbt/CMakeLists.txt
   )
 
-if(SMPI_F2C)
-  set(TESHSUITE_CMAKEFILES_TXT
-    ${TESHSUITE_CMAKEFILES_TXT}
-    teshsuite/smpi/mpich3-test/f77/comm/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f77/coll/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f77/pt2pt/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f77/datatype/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f77/ext/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f77/init/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f90/coll/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f90/pt2pt/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f90/datatype/CMakeLists.txt
-    teshsuite/smpi/mpich3-test/f90/init/CMakeLists.txt
-  )
-endif()
-
 set(TOOLS_CMAKEFILES_TXT
   tools/CMakeLists.txt
   tools/graphicator/CMakeLists.txt
index 2ae21da..11deec7 100644 (file)
@@ -94,18 +94,19 @@ add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/datatype)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/group)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/init)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/pt2pt)
-if(SMPI_F2C)
-add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/comm)
+
+#add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/attr)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/coll)
-add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/pt2pt)
-add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ext)
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/comm)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/datatype)
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ext)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/init)
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/pt2pt)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/coll)
-add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/pt2pt)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/datatype)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/init)
-endif()
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/pt2pt)
+
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/teshsuite/xbt)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/testsuite/surf)
 add_subdirectory(${CMAKE_HOME_DIRECTORY}/testsuite/xbt)
index accc6b9..25721cc 100644 (file)
@@ -179,7 +179,7 @@ grep GLOBAL_GUARDS patches/make/* -r
 
 # Finish the setup
 (cd patches/make; make setup && make force && make && make FORCE_VERSIONS=1 && echo "Sources are properly setup")
-# If this last command failed, check your mercurial config within ~/.hgrc (see above)
+# If this last command failed, check your mercurial config within ~/.hgrc (see above)
 ~~~~       
  -# Compile it all
 ~~~~{.sh}
index a5c5099..01aeb7c 100644 (file)
@@ -39,7 +39,7 @@ Our coverage of the interface is very decent, but still incomplete;
 Given the size of the MPI standard, it may well be that we never
 implement absolutely all existing primitives. One sided communications
 and I/O primitives are not targeted for now. Our current state is
-still very decent: we pass most of the MPICH coverage tests.
+still very decent: we pass most of the MPICH coverage tests.
 
 The full list of not yet implemented functions is documented in the
 file <tt>include/smpi/smpi.h</tt> of the archive, between two lines
index 0987ed6..93e2e25 100644 (file)
@@ -16,7 +16,7 @@ For the latest 2 entries, you have basically 2 ways to give it as an input :
 \li You can use two XML files: a platform description file and a
     deployment description one.
 
-For the deployment stuff, please takea look at \ref deployment
+For the deployment stuff, please take a look at \ref deployment
 
 The platform description may be complicated. This documentation is all
 about how to write this file: what are the basic concept it relies on,
@@ -28,10 +28,10 @@ write a good platform description.
 We choose to use XML because of some of its possibilities: if you're
 using an accurate XML editor, or simply using any XML plug-in for
 eclipse, it will allow you to have cool stuff like auto-completion,
-validation and checking, so all syntaxic errors may be avoided this
+validation and checking, so all syntax errors may be avoided this
 way.
 
-the XML checking is done based on the dtd which is nowaday online at
+the XML checking is done based on the dtd which is nowadays online at
 <a href="http://simgrid.gforge.inria.fr/simgrid.dtd">http://simgrid.gforge.inria.fr/simgrid.dtd</a>
 while you might be tempted to read it, it will not help you that much.
 
@@ -82,7 +82,7 @@ handles two different types of entities (<b>host/router</b> and
 <b>AS</b>) you will have to define routes between those elements. A
 network model have to be provided for AS, but you may/will need,
 depending of the network model, or because you want to bypass the
-default beahviour to defines routes manually. There are 3 tags to use: 
+default behavior to defines routes manually. There are 3 tags to use: 
 \li <b>ASroute</b>: to define routes between two  <b>AS</b>
 \li <b>route</b>: to define routes between two <b>host/router</b>
 \li <b>bypassRoute</b>: to define routes between two <b>AS</b> that
@@ -126,12 +126,12 @@ attributes.
     That also have a big impact on how many information you'll have to
     provide to help the simulator to route between the AS elements.
     <b>routing</b> possible values are <b>Full, Floyd, Dijkstra,
-    DijkstraCache, none, RuleBased, Vivaldi, Cluster</b>. For more
+    DijkstraCache, none, Vivaldi, Cluster</b>. For more
     explanation about what to choose, take a look at the section
     devoted to it below.  
 
 Elements into an AS are basically resources (computers, network
-equipments) and some routing informations if necessary (see below for
+equipments) and some routing information if necessary (see below for
 more explanation).
 
 <b>AS example</b>
@@ -162,7 +162,7 @@ contain more than 1 core. Here are the attributes of a host :
     referring to it.
 \li <b>power (mandatory)</b>:the peak number FLOPS the CPU can manage.
     Expressed in flop/s.
-\li <b>core</b>: The number of core of this host. If setted, the power
+\li <b>core</b>: The number of core of this host. If set, the power
     gives the power of one core. The specified computing power will be
     available to up to 6 sequential tasks without sharing. If more
     tasks are placed on this host, the resource will be shared
@@ -190,7 +190,7 @@ between some storage resource and the <b>host</b>. Please refer to the
 storage doc for more information.
 
 An host can also contain the <b>prop</b> tag. the prop tag allows you
-to define additional informations on this host following the
+to define additional information on this host following the
 attribute/value schema. You may want to use it to give information to
 the tool you use for rendering your simulation, for example.
 
@@ -285,7 +285,7 @@ A <b>cluster</b> represents a cluster. It is most of the time used
 when you want to have a bunch of machine defined quickly. It must be
 noted that cluster is meta-tag : <b>from the inner SimGrid point of
 view, a cluster is an AS where some optimized routing is defined</b>.
-The default inner organisation of the cluster is as follow:
+The default inner organization of the cluster is as follow:
 
 \verbatim
                  _________
@@ -300,7 +300,7 @@ The default inner organisation of the cluster is as follow:
 \endverbatim
 
 You have a set of <b>host</b> defined. Each of them has a <b>link</b>
-to a central backbone (backbone is a <b>link</b> itsef, as a link can
+to a central backbone (backbone is a <b>link</b> itself, as a link can
 be used to represent a switch, see the switch or <b>link</b> section
 below for more details about it). A <b>router</b> gives a way to the
 <b>cluster</b> to be connected to the outside world. Internally,
@@ -323,7 +323,7 @@ There is an alternative organization, which is as follow :
 
 The principle is the same, except we don't have the backbone. The way
 to obtain it is simple : you just have to let bb_* attributes
-unsetted.
+unset.
 
 
 
@@ -347,11 +347,11 @@ unsetted.
 \li <b>sharing_policy</b>: sharing policy for the links between nodes
     and backbone (if any). See <b>link</b> section for syntax/details.     
 \li <b>bb_bw </b>: bandwidth for backbone (if any). See <b>link</b>
-    section for syntax/details. If both bb_* attributes are ommited,
+    section for syntax/details. If both bb_* attributes are omitted,
     no backbone is created (alternative cluster architecture described
     before). 
 \li <b>bb_lat </b>: latency for backbone (if any). See <b>link</b>
-    section for syntax/details. If both bb_* attributes are ommited,
+    section for syntax/details. If both bb_* attributes are omitted,
     no backbone is created (alternative cluster architecture described
     before).
 \li <b>bb_sharing_policy</b>: sharing policy for the backbone (if
@@ -391,11 +391,13 @@ A <b>peer</b> represents a peer, as in Peer-to-Peer (P2P). Basically,
 as cluster, <b>A PEER IS INTERNALLY INTERPRETED AS AN \<AS\></b>. It's
 just a kind of shortcut that does the following :
 
+\li It creates a tiny AS whose routing type is cluster
 \li It creates an host
 \li Two links : one for download and one for upload. This is
     convenient to use and simulate stuff under the last mile model (as
-    ADSL peers).  
-\li It creates a gateway that serve as entry point for this peer zone.
+    ADSL peers). 
+\li It connects the two links to the host
+\li It creates a router (a gateway) that serve as entry point for this peer zone.
     This router has coordinates.
 
 <b>peer</b> attributes :
@@ -414,6 +416,27 @@ just a kind of shortcut that does the following :
 \li <b>state_file </b>: state file for the peer. Same as host state
     file. See <b>host</b> description for details. 
 
+In term of XML, the <b>peer</b> construct can be explained as follows: it transforms
+\verbatim
+  <peer id="FOO"
+       coordinates="12.8 14.4 6.4"
+       power="1.5Gf"
+       bw_in="2.25GBps"
+       bw_out="2.25GBps"
+       lat="500us" />
+\endverbatim
+into
+\verbatim
+   <AS id="as_FOO" routing="Cluster">
+      <host id="peer_FOO" power="1.5Gf"/>
+      <link id="link_FOO_UP" bandwidth="2.25GBps" latency="500us"/>
+      <link id="link_FOO_DOWN" bandwidth="2.25GBps" latency="500us"/>
+      <router id="router_FOO" coordinates="25.5 9.4 1.4"/>
+      <host_link id="peer_FOO" up="link_FOO_UP" down="link_FOO_DOWN"/>
+   </AS>
+\endverbatim
+
+
 \subsection pf_ne Network equipments: links and routers
 
 You have basically two entities available to represent network entities:
@@ -620,12 +643,12 @@ resources tags. This should moved to attributes soon or later.
 In order to run fast, it has been chosen to use static routing within
 SimGrid. By static, it means that it is calculated once (or almost),
 and will not change during execution. We chose to do that because it
-is rare to have a real deficience of a resource ; most of the time, a
+is rare to have a real deficiency of a resource ; most of the time, a
 communication fails because the links are too overloaded, and so your
 connection stops before the time out, or because the computer at the
 other end is not answering.
 
-We also chose to use shortests paths algorithms in order to emulate
+We also chose to use shortest paths algorithms in order to emulate
 routing. Doing so is consistent with the reality: RIP, OSPF, BGP are
 all calculating shortest paths. They have some convergence time, but
 at the end, so when the platform is stable (and this should be the
@@ -747,12 +770,6 @@ DijsktraCache example :
 \subsubsection pf_rm_me Manually-entered route models
 
 \li <b>Full</b>: You have to enter all necessary routes manually
-\li <b>RuleBased</b>: Rule-Based routing data; same as Full except you
-    can use regexp to express route. As SimGrid has to evaluate the
-    regexp, it's slower than Full, but requires less memory. Regexp
-    syntax is similar as <a href="http://www.pcre.org">pcre</a> ones,
-    as this is the lib SimGrid use to do so.
-
 
 Full example :
 \verbatim
@@ -764,54 +781,6 @@ Full example :
  </AS>
 \endverbatim
 
-RuleBased example :
-\verbatim
-<AS id="AS_orsay" routing="RuleBased" >
-                       <cluster id="AS_gdx" prefix="gdx-" suffix=".orsay.grid5000.fr"
-                               radical="1-310" power="4.7153E9" bw="1.25E8" lat="1.0E-4"
-                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
-                       <link   id="link_gdx" bandwidth="1.25E9" latency="1.0E-4"/>
-
-                       <cluster id="AS_netgdx" prefix="netgdx-" suffix=".orsay.grid5000.fr"
-                               radical="1-30" power="4.7144E9" bw="1.25E8" lat="1.0E-4"
-                               bb_bw="1.25E9" bb_lat="1.0E-4"></cluster>
-                       <link   id="link_netgdx" bandwidth="1.25E9" latency="1.0E-4"/>
-
-                       <AS id="gw_AS_orsay" routing="Full">
-                               <router id="gw_orsay"/>
-                       </AS>
-                       <link   id="link_gw_orsay" bandwidth="1.25E9" latency="1.0E-4"/>
-
-                       <ASroute src="^AS_(.*)$" dst="^AS_(.*)$"
-                               gw_src="$1src-AS_$1src_router.orsay.grid5000.fr"
-                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
-                               symmetrical="YES">
-                                       <link_ctn id="link_$1src"/>
-                                       <link_ctn id="link_$1dst"/>
-                       </ASroute>
-
-                       <ASroute src="^AS_(.*)$" dst="^gw_AS_(.*)$"
-                               gw_src="$1src-AS_$1src_router.orsay.grid5000.fr"
-                               gw_dst="gw_$1dst"
-                               symmetrical="NO">
-                                       <link_ctn id="link_$1src"/>
-                       </ASroute>
-
-                       <ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
-                               gw_src="gw_$1src"
-                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
-                               symmetrical="NO">
-                                       <link_ctn id="link_$1dst"/>
-                       </ASroute>
-
-               </AS>
-\endverbatim
-
-The example upper contains $1src and $1dst. It's simply a reference to
-string matching regexp enclosed by "()" within respectively <b>src</b>
-and <b>dst</b> attributes. If they were more than 1 "()", then you
-could referer to it as $2src, $3src and so on.
-
 \subsubsection pf_rm_sf Simple/fast models
 
 \li <b>none</b>: No routing (Unless you know what you are doing, avoid
@@ -851,15 +820,15 @@ Consider the example below:
    </route>
 \endverbatim
 
-The route here fom host Alice to Bob will be first link1, then link2,
+The route here from host Alice to Bob will be first link1, then link2,
 and finally link3. What about the reverse route ? <b>route</b> and
 <b>ASroute</b> have an optional attribute <b>symmetrical</b>, that can
 be either YES or NO. YES means that the reverse route is the same
-route in the inverse order, and is setted to YES by default. Note that
+route in the inverse order, and is set to YES by default. Note that
 this is not the case for bypass*Route, as it is more probable that you
 want to bypass only one default route.
 
-For an ASroute, things are just sligthly more complicated, as you have
+For an ASroute, things are just slightly more complicated, as you have
 to give the id of the gateway which is inside the AS you're talking
 about you want to access ... So it looks like this :
 
@@ -891,7 +860,7 @@ a <b>link_ctn</b> is the tag that is used in order to reference a
 \subsubsection pf_asro ASroute
 
 ASroute tag purpose is to let people write manually their routes
-between AS. It's usefull when you're in Full or Rule-based model.
+between AS. It's useful when you're in Full model.
 
 <b>ASroute</b> attributes :
 \li <b>src (mandatory)</b>: the source AS id.
@@ -906,15 +875,6 @@ between AS. It's usefull when you're in Full or Rule-based model.
     will be the opposite of the one defined. Can be either YES or NO,
     default is YES.
 
-<b>Example of ASroute with RuleBased</b>
-\verbatim
-<ASroute src="^gw_AS_(.*)$" dst="^AS_(.*)$"
-                               gw_src="gw_$1src"
-                               gw_dst="$1dst-AS_$1dst_router.orsay.grid5000.fr"
-                               symmetrical="NO">
-                                       <link_ctn id="link_$1dst"/>
-                       </ASroute>
-\endverbatim
 <b>Example of ASroute with Full</b>
 \verbatim
 <AS  id="AS0"  routing="Full">
@@ -945,9 +905,9 @@ between AS. It's usefull when you're in Full or Rule-based model.
 The principle is the same as ASroute : <b>route</b> contains list of
 links that are in the path between src and dst, except that it is for
 routes between a src that can be either <b>host</b> or \b router and a
-dst that can be either <b>host</b> or \b router. Usefull for Full and
-RuleBased, as well as for the shortest-paths based models, where you
-have to give topological informations.
+dst that can be either <b>host</b> or \b router. Useful for Full 
+as well as for the shortest-paths based models, where you
+have to give topological information.
 
 
 <b>route</b> attributes :
@@ -1180,7 +1140,7 @@ and close tag in order to let it work.
 
 \subsection pf_tra trace and trace_connect
 Both tags are an alternate way to passe availability, state, and so on
-files to entity. Instead of refering to the file directly in the host,
+files to entity. Instead of referring to the file directly in the host,
 link, or cluster tag, you proceed by defining a trace with an id
 corresponding to a file, later an host/link/cluster, and finally using
 trace_connect you say that the file trace must be used by the entity.
@@ -1203,7 +1163,7 @@ All constraints you have is that <b>trace_connect</b> is after
     referring to it.
 \li <b>file</b>: filename of the file to include. Possible values :
     absolute or relative path, syntax similar to the one in use on
-    your system. If ommited, the system expects that you provide the
+    your system. If omitted, the system expects that you provide the
     trace values inside the trace tags (see below).
 \li <b>trace periodicity (mandatory)</b>: trace periodicity, same
     definition as in hosts (see upper for details).
@@ -1229,8 +1189,8 @@ Here is an example  of trace when no file name is provided:
 
 \section pf_hints Hints and tips, or how to write a platform efficiently
 
-Now you should know at least the syntax dans be able to create a
-platform. However, after having ourselves wrote some platforms, there
+Now you should know at least the syntax and be able to create a
+platform by your own. However, after having ourselves wrote some platforms, there
 are some best practices you should pay attention to in order to
 produce good platform and some choices you can make in order to have
 faster simulations. Here's some hints and tips, then.
@@ -1245,7 +1205,7 @@ only one host, then you'll also loose all the good AS hierarchy can
 give you. Remind you should always be "reasonable" in your platform
 definition when choosing the hierarchy. A good choice if you try to
 describe a real life platform is to follow the AS described in
-reality, since this kind og trade-off works well for real life
+reality, since this kind of trade-off works well for real life
 platforms.
 
 \subsection pf_exit_as Exit AS: why and how
@@ -1325,14 +1285,37 @@ complicated in using it, here is an example of it:
 \endverbatim
 
 Coordinates are then used to calculate latency between two hosts by
-calculating the euclidian distance between the two hosts coordinates.
+calculating the euclidean distance between the two hosts coordinates.
 The results express the latency in ms.
 
+Note that the previous example defines a routing directly between hosts but it could be also used to define a routing between AS.
+That is for example what is commonly done when using peers (see Section \ref pf_peer).
+\verbatim
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<platform version="3">
+
+<config id="General">
+       <prop id="network/coordinates" value="yes"></prop>
+</config>
+ <AS  id="AS0"  routing="Vivaldi">
+   <peer id="peer-0" coordinates="173.0 96.8 0.1" power="730Mf" bw_in="13.38MBps" bw_out="1.024MBps" lat="500us"/>
+   <peer id="peer-1" coordinates="247.0 57.3 0.6" power="730Mf" bw_in="13.38MBps" bw_out="1.024MBps" lat="500us" />
+   <peer id="peer-2" coordinates="243.4 58.8 1.4" power="730Mf" bw_in="13.38MBps" bw_out="1.024MBps" lat="500us" />
+</AS>
+</platform>
+\endverbatim
+In such a case though, we connect the AS created by the <b>peer</b> tag with the Vivaldi routing mechanism. 
+This means that to route between AS1 and AS2, it will use the coordinates of router_AS1 and router_AS2. 
+This is currently a convention and we may offer to change this convention in the DTD later if needed.
+You may have noted that conveniently, a peer named FOO defines an AS named FOO and a router named router_FOO, which is why it works seamlessly with the <b>peer</b> tag.
+
+
 \subsection pf_wisely Choosing wisely the routing model to use
 
 
 Choosing wisely the routing model to use can significantly fasten your
-simulation/save your time when writing the platform/save tremendeous
+simulation/save your time when writing the platform/save tremendous
 disk space. Here is the list of available model and their
 characteristics (lookup : time to resolve a route):
 
@@ -1350,18 +1333,15 @@ characteristics (lookup : time to resolve a route):
     routes.
 \li <b>none</b>: No routing (usable with Constant network only).
     Defines that there is no routes, so if you try to determine a
-    route without constant network within this AS, SimGrid will raie
+    route without constant network within this AS, SimGrid will raise
     an exception.
-\li <b>RuleBased</b>: Rule-Based routing data (fast initialisation,
-    relatively slow lookup, moderate memory requirements, fully
-    expressive): uses regexp to define routes;
 \li <b>Vivaldi</b>: Vivaldi routing, so when you want to use coordinates
 \li <b>Cluster</b>: Cluster routing, specific to cluster tag, should
     not be used. 
 
 \subsection pf_switch Hey, I want to describe a switch but there is no switch tag !
 
-Actually we did not include swith tag, ok. But when you're trying to
+Actually we did not include switch tag, ok. But when you're trying to
 simulate a switch, the only major impact it has when you're using
 fluid model (and SimGrid uses fluid model unless you activate GTNetS,
 ns-3, or constant network mode) is the impact of the upper limit of
index 5f270cb..4810f64 100644 (file)
@@ -12,11 +12,10 @@ import java.util.ArrayList;
 
 import org.simgrid.msg.Comm;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.Process;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.MsgException;
+import org.simgrid.msg.Process;
 import org.simgrid.msg.Task;
-import org.simgrid.msg.Process;;
 
 public class Master extends Process {
        public Master(Host host, String name, String[]args) {
index ca06965..557602b 100644 (file)
@@ -8,13 +8,12 @@ package async;
 import org.simgrid.msg.Comm;
 import org.simgrid.msg.Host;
 import org.simgrid.msg.HostFailureException;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.Msg;
+import org.simgrid.msg.Process;
 import org.simgrid.msg.Task;
 import org.simgrid.msg.TaskCancelledException;
 import org.simgrid.msg.TimeoutException;
 import org.simgrid.msg.TransferFailureException;
-import org.simgrid.msg.Process;
 
 public class Slave extends Process {
        public Slave(Host host, String name, String[]args) {
index f0a3339..18c8c9e 100644 (file)
@@ -7,7 +7,6 @@
 package bittorrent;
 
 import java.util.Arrays;
-import org.simgrid.msg.Msg;
 public class Connection {
        /**
         * Remote peer id
index 47b300f..29472f8 100644 (file)
@@ -8,7 +8,6 @@ package bittorrent;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map.Entry;
 
@@ -16,12 +15,10 @@ import org.simgrid.msg.Comm;
 import org.simgrid.msg.Host;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.MsgException;
-import org.simgrid.msg.RngStream;
 import org.simgrid.msg.Process;
+import org.simgrid.msg.RngStream;
 import org.simgrid.msg.Task;
 
-import bittorrent.Connection;
-
 /**
  * Main class for peers execution
  */
@@ -484,8 +481,7 @@ public class Peer extends Process {
                                                peerChoosed = null;
                                        }
                                        j++;
-                               } while (peerChoosed == null && j < 
-       Common.MAXIMUM_PEERS);
+                               } while (peerChoosed == null && j < Common.MAXIMUM_PEERS);
                        }
                        else {
                                Connection fastest = null;
index d41bafd..1a108a3 100644 (file)
@@ -6,16 +6,14 @@
  */
 package bittorrent;
 import java.util.ArrayList;
-import java.util.Iterator;
 
 import org.simgrid.msg.Comm;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.Process;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.MsgException;
-import org.simgrid.msg.Task;
-
+import org.simgrid.msg.Process;
 import org.simgrid.msg.RngStream;
+import org.simgrid.msg.Task;
 /**
  * Tracker, handle requests from peers.
  */
index dda4718..9bcca54 100644 (file)
 package commTime;
 
 import org.simgrid.msg.Host;
-import org.simgrid.msg.HostNotFoundException;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.MsgException;
-import org.simgrid.msg.Task;
 import org.simgrid.msg.Process;
+import org.simgrid.msg.Task;
 
 public class Master extends Process {
        public Master(Host host, String name, String[]args) {
index e52dd93..6a72f24 100644 (file)
@@ -27,9 +27,8 @@ public class Slave extends Process {
        Msg.info("Send Mail1!");
        task.send("mail1");
        
-       Task task2;
         try {
-                task2 = Task.receive("mail2");
+                Task.receive("mail2");
         } catch (MsgException e) {
                 Msg.debug("Received failed");
                 return;
index 128e753..8e15954 100644 (file)
@@ -1,36 +1,38 @@
 /*
- * Copyright 2006-2012. The SimGrid Team. All rights reserved. 
+ * Copyright 2006-2012. 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. 
+ * under the terms of the license (GNU LGPL) which comes with this package.
  */
 
 package masterslave;
 
+import java.io.File;
+
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.NativeException;
 
 public class Masterslave {
    public static final int TASK_COMP_SIZE = 10000000;
    public static final int TASK_COMM_SIZE = 10000000;
-   /* This only contains the launcher. If you do nothing more than than you can run 
+   /* This only contains the launcher. If you do nothing more than than you can run
     *   java simgrid.msg.Msg
     * which also contains such a launcher
     */
-   
-    public static void main(String[] args) throws NativeException {       
-           /* initialize the MSG simulation. Must be done before anything else (even logging). */
-           Msg.init(args);
-       
-           if (args.length < 2) {              
-                       Msg.info("Usage   : Masterslave platform_file deployment_file");
-                       Msg.info("example : Masterslave basic_platform.xml basic_deployment.xml");
-                       System.exit(1); 
-               }
-               /* construct the platform and deploy the application */
-               Msg.createEnvironment(args[0]);
-               Msg.deployApplication(args[1]);
-               /*  execute the simulation. */
+
+    public static void main(String[] args) throws NativeException {
+        /* initialize the MSG simulation. Must be done before anything else (even logging). */
+        Msg.init(args);
+
+        String platf  = args.length > 1 ? args[0] : "examples/java/platform.xml";
+        String deploy =  args.length > 1 ? args[1] : "examples/java/masterslave/masterslaveDeployment.xml";
+
+        Msg.verb("Platform: "+platf+"; Deployment:"+deploy+"; Current directory: "+new File(".").getAbsolutePath());
+
+        /* construct the platform and deploy the application */
+        Msg.createEnvironment(platf);
+        Msg.deployApplication(deploy);
+        /*  execute the simulation. */
         Msg.run();
     }
 }
index 3e01db3..3dd8d97 100644 (file)
@@ -9,7 +9,6 @@ package migration;
 import org.simgrid.msg.Host;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.MsgException;
-import org.simgrid.msg.Task;
 import org.simgrid.msg.Process;
 
 public class Policeman extends Process {
index ad62a60..44fc41b 100644 (file)
@@ -5,7 +5,7 @@
  * under the terms of the license (GNU LGPL) which comes with this package. 
  */
 
-package mutualExclusion.centralized;
+package mutualExclusion;
 import java.util.LinkedList;
 
 import org.simgrid.msg.Host;
index e9bdda0..60d59e2 100644 (file)
@@ -4,7 +4,7 @@
  * 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. 
  */
-package mutualExclusion.centralized;
+package mutualExclusion;
 import org.simgrid.msg.Task;
 
 
index 0ed4d54..e368c3a 100644 (file)
@@ -4,13 +4,11 @@
  * 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. 
  */
-package mutualExclusion.centralized;
+package mutualExclusion;
 
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.NativeException;
 
-import org.simgrid.msg.*;
-
 public class MutexCentral {
 
        /* This only contains the launcher. If you do nothing more than than you can run 
index 4dfa77a..b316367 100644 (file)
@@ -4,7 +4,7 @@
  * 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. 
  */
-package mutualExclusion.centralized;
+package mutualExclusion;
 
 import org.simgrid.msg.Host;
 import org.simgrid.msg.Msg;
index a33bf24..46db893 100644 (file)
@@ -4,6 +4,6 @@
  * 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. 
  */
-package mutualExclusion.centralized;
+package mutualExclusion;
 public class ReleaseTask extends org.simgrid.msg.Task {
 }
index 4615509..d9d9721 100644 (file)
@@ -4,7 +4,7 @@
  * 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. 
  */
-package mutualExclusion.centralized;
+package mutualExclusion;
 import org.simgrid.msg.Task;
 
 public class RequestTask extends Task {
index 300dfa8..58b1c5e 100644 (file)
@@ -1,14 +1,14 @@
 <?xml version='1.0'?>
 <!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
 <platform version="3">
-  <process host="Host 0" function="mutualExclusion.centralized.Coordinator">
+  <process host="Host 0" function="mutualExclusion.Coordinator">
       <argument value="2"/> <!-- Amount of CS to serve -->
   </process>
-  <process host="Host 1" function="mutualExclusion.centralized.Node">
+  <process host="Host 1" function="mutualExclusion.Node">
       <argument value="2"/> <!-- initial sleep time -->
       <argument value="5"/> <!-- CS time -->
   </process>
-  <process host="Host 2" function="mutualExclusion.centralized.Node">
+  <process host="Host 2" function="mutualExclusion.Node">
       <argument value="2"/> <!-- initial sleep time -->
       <argument value="5"/> <!-- CS time -->
   </process>
index 944d916..202b00c 100644 (file)
@@ -2,13 +2,13 @@
 
 ! output sort
 
-$ java -cp ${classpath:=.} mutualExclusion/centralized/MutexCentral ${srcdir:=.}/mutualExclusion/ring3.xml ${srcdir:=.}/mutualExclusion/mutex_centralized_deployment.xml
+$ java -cp ${classpath:=.} mutualExclusion/MutexCentral ${srcdir:=.}/mutualExclusion/ring3.xml ${srcdir:=.}/mutualExclusion/mutex_centralized_deployment.xml
 > [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
 > [0.007806] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
-> [Host 0:mutualExclusion.centralized.Coordinator:(1) 0.001301] [jmsg/INFO] Got a request from mutualExclusion.centralized.Node. Queue empty: grant it
-> [Host 0:mutualExclusion.centralized.Coordinator:(1) 0.003903] [jmsg/INFO] Got a request from mutualExclusion.centralized.Node. Queue empty: grant it
-> [Host 0:mutualExclusion.centralized.Coordinator:(1) 0.007806] [jmsg/INFO] we should shutdown the simulation now
-> [Host 1:mutualExclusion.centralized.Node:(2) 0.000000] [jmsg/INFO] Send a request to the coordinator
-> [Host 1:mutualExclusion.centralized.Node:(2) 0.001301] [jmsg/INFO] Wait for a grant from the coordinator
-> [Host 2:mutualExclusion.centralized.Node:(3) 0.000000] [jmsg/INFO] Send a request to the coordinator
-> [Host 2:mutualExclusion.centralized.Node:(3) 0.003903] [jmsg/INFO] Wait for a grant from the coordinator
+> [Host 0:mutualExclusion.Coordinator:(1) 0.001301] [jmsg/INFO] Got a request from mutualExclusion.Node. Queue empty: grant it
+> [Host 0:mutualExclusion.Coordinator:(1) 0.003903] [jmsg/INFO] Got a request from mutualExclusion.Node. Queue empty: grant it
+> [Host 0:mutualExclusion.Coordinator:(1) 0.007806] [jmsg/INFO] we should shutdown the simulation now
+> [Host 1:mutualExclusion.Node:(2) 0.000000] [jmsg/INFO] Send a request to the coordinator
+> [Host 1:mutualExclusion.Node:(2) 0.001301] [jmsg/INFO] Wait for a grant from the coordinator
+> [Host 2:mutualExclusion.Node:(3) 0.000000] [jmsg/INFO] Send a request to the coordinator
+> [Host 2:mutualExclusion.Node:(3) 0.003903] [jmsg/INFO] Wait for a grant from the coordinator
index eb04346..2edb535 100644 (file)
@@ -7,11 +7,10 @@
 package startKillTime;
 import org.simgrid.msg.Host;
 import org.simgrid.msg.HostFailureException;
-import org.simgrid.msg.HostNotFoundException;
-import org.simgrid.msg.TransferFailureException;
-import org.simgrid.msg.TimeoutException;
 import org.simgrid.msg.Msg;
 import org.simgrid.msg.Process;
+import org.simgrid.msg.TimeoutException;
+import org.simgrid.msg.TransferFailureException;
 
 
 public class Master extends Process {
index e9942f0..9d8e062 100644 (file)
@@ -6,13 +6,12 @@
  */
 package startKillTime;
 import org.simgrid.msg.Host;
-import org.simgrid.msg.MsgException;
 import org.simgrid.msg.HostFailureException;
-import org.simgrid.msg.HostNotFoundException;
-import org.simgrid.msg.TransferFailureException;
-import org.simgrid.msg.TimeoutException;
 import org.simgrid.msg.Msg;
+import org.simgrid.msg.MsgException;
 import org.simgrid.msg.Process;
+import org.simgrid.msg.TimeoutException;
+import org.simgrid.msg.TransferFailureException;
 
 /**
  * Lazy Guy Slave, suspends itself ASAP
index 25baa9a..0e13b12 100644 (file)
@@ -437,8 +437,8 @@ static void action_comm_size(const char *const *action)
 
 static void action_compute(const char *const *action)
 {
-  const char *amout = action[2];
-  msg_task_t task = MSG_task_create("task", parse_double(amout), 0, NULL);
+  const char *amount = action[2];
+  msg_task_t task = MSG_task_create("task", parse_double(amount), 0, NULL);
   double clock = MSG_get_clock();
 
   ACT_DEBUG("Entering %s", NAME);
index b3d003b..f66588f 100644 (file)
@@ -27,7 +27,7 @@ typedef struct s_peer {
 
   xbt_dict_t peers;             //peers list
   xbt_dict_t active_peers;      //active peers list
-  int round;                    //current round for the chocking algortihm.
+  int round;                    //current round for the chocking algorithm.
 
 
   char mailbox[MAILBOX_SIZE];   //peer mailbox.
index 9ff571d..61ab881 100644 (file)
@@ -288,8 +288,9 @@ $ ${bindir:=.}/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_
 > [  0.000000] (1:master@Tremblay) Bourassa
 > [  0.000000] (1:master@Tremblay) Tremblay
 > [  0.000000] (1:master@Tremblay) Got 20 task to process :
-> [  1.000000] (0:@) Restart processes on host: Jupiter
+> [  1.000000] (0:@) Restart processes on host: Fafard
 > [  1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [  2.000000] (0:@) Restart processes on host: Jupiter
 > [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
 > [ 12.082474] (1:master@Tremblay) Send completed
 > [ 12.082474] (4:slave@Ginette) Received "Task"
index 00e6ee5..09ac278 100644 (file)
@@ -12,8 +12,9 @@ $ masterslave/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_l
 > [  0.000000] (1:master@Tremblay) Bourassa
 > [  0.000000] (1:master@Tremblay) Tremblay
 > [  0.000000] (1:master@Tremblay) Got 20 task to process :
-> [  1.000000] (0:@) Restart processes on host: Jupiter
+> [  1.000000] (0:@) Restart processes on host: Fafard
 > [  1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [  2.000000] (0:@) Restart processes on host: Jupiter
 > [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
 > [ 12.030928] (1:master@Tremblay) Send completed
 > [ 12.030928] (4:slave@Ginette) Received "Task"
index e77fff6..a9b1cb8 100644 (file)
@@ -12,8 +12,9 @@ $ masterslave/masterslave_failure$EXEEXT --log=xbt_cfg.thres:critical --log=no_l
 > [  0.000000] (1:master@Tremblay) Bourassa
 > [  0.000000] (1:master@Tremblay) Tremblay
 > [  0.000000] (1:master@Tremblay) Got 20 task to process :
-> [  1.000000] (0:@) Restart processes on host: Jupiter
+> [  1.000000] (0:@) Restart processes on host: Fafard
 > [  1.000000] (1:master@Tremblay) Mmh. Something went wrong with 'Jupiter'. Nevermind. Let's keep going!
+> [  2.000000] (0:@) Restart processes on host: Jupiter
 > [ 11.000000] (1:master@Tremblay) Mmh. Got timeouted while speaking to 'Fafard'. Nevermind. Let's keep going!
 > [ 12.082474] (1:master@Tremblay) Send completed
 > [ 12.082474] (4:slave@Ginette) Received "Task"
index ee45fec..cc6b9af 100644 (file)
@@ -28,7 +28,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(msg_pmm,
 /* This example should always be executed using a deployment of
  * GRID_SIZE * GRID_SIZE nodes. */
 #define GRID_SIZE 3    /* Modify to adjust the grid's size */
-#define NODE_MATRIX_SIZE 300  /* Ammount of work done by each node*/
+#define NODE_MATRIX_SIZE 300  /* Amount of work done by each node*/
 
 #define GRID_NUM_NODES GRID_SIZE * GRID_SIZE
 #define MATRIX_SIZE NODE_MATRIX_SIZE * GRID_SIZE
index 179f405..5ef0ab6 100644 (file)
@@ -6,7 +6,7 @@
           radical="0-1" power="1Gf" bw="125MBps" lat="50us"
            router_id="router1"/>
 
-  <AS id="AS1" routing="none">
+  <AS id="AS1" routing="None">
     <host id="host1" power="1Gf"/>
   </AS>
 
index 6d39ab7..b5d0cc6 100644 (file)
@@ -178,7 +178,7 @@ XBT_PUBLIC(SD_task_t) SD_task_create_comm_par_mxn_1d_block(const char *name,
                                                            void *data,
                                                            double amount);
 
-XBT_PUBLIC(void) SD_task_distribute_comp_amdhal(SD_task_t task, int ws_count);
+XBT_PUBLIC(void) SD_task_distribute_comp_amdahl(SD_task_t task, int ws_count);
 XBT_PUBLIC(void) SD_task_schedulev(SD_task_t task, int count,
                                    const SD_workstation_t * list);
 XBT_PUBLIC(void) SD_task_schedulel(SD_task_t task, int count, ...);
index c407af8..6056f79 100644 (file)
@@ -17,6 +17,7 @@
 
 XBT_PUBLIC_DATA(__thread int) smpi_current_rank;
 
+XBT_PUBLIC(void) smpi_process_init(int *argc, char ***argv);
 XBT_PUBLIC(int) smpi_process_argc(void);
 XBT_PUBLIC(int) smpi_process_getarg(integer* index, char* dst, ftnlen len);
 XBT_PUBLIC(int) smpi_global_size(void);
index b64b4d0..374bd01 100644 (file)
@@ -140,7 +140,7 @@ __ex_mctx_struct} __ex_mctx_t;
  *
  * Any exception thrown directly from the TRIED_BLOCK block or from called
  * subroutines is caught. Cleanups which must be done after this block
- * (whenever an exception arised or not) should be placed into the optionnal
+ * (whenever an exception arose or not) should be placed into the optionnal
  * CLEANUP_BLOCK. The code dealing with the exceptions when they arise should
  * be placed into the (mandatory) CATCH_BLOCK.
  *
index 8eae773..e1950da 100644 (file)
@@ -7,7 +7,7 @@
 /* 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. */
 
-/* splited away from synchro.h since we areused by dynar.h, and synchro.h uses dynar */
+/* splited away from synchro.h since we are used by dynar.h, and synchro.h uses dynar */
 
 
 #ifndef _XBT_THREAD_H
index 2f6216e..2edf528 100644 (file)
@@ -335,7 +335,7 @@ Java_org_simgrid_msg_Process_isSuspended(JNIEnv * env,
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_Process_sleep(JNIEnv *env, jclass cls, jlong jmillis, jint jnanos)
  {
-  double time =  jmillis / 1000 + jnanos / 1000;
+  double time =  ((double)jmillis) / 1000 + ((double)jnanos) / 1000000000;
   msg_error_t rv;
   rv = MSG_process_sleep(time);
   if (rv != MSG_OK) {
index 1d268cd..bbb3015 100644 (file)
@@ -174,7 +174,7 @@ JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Process_fromPID
     (JNIEnv *, jclass, jint);
 /*
  * Class        org_simgrid_msg_Process
- * Method       waitFor
+ * Method       getProperty
  * Signature    (D)V
  */
 JNIEXPORT jobject JNICALL
index 8078984..f2185a5 100644 (file)
@@ -177,7 +177,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority
     (JNIEnv *, jobject, jdouble);
 /**
  * Class               org_simgrid_msg_Task
- * Method              setComputationAmount
+ * Method              setComputeDuration
  * Signature   (D)V
  */
 JNIEXPORT void JNICALL
index 8d5084c..8dbacd6 100644 (file)
@@ -87,9 +87,9 @@ void jxbt_throw_host_not_found(JNIEnv * env, const char *invalid_name);
 void jxbt_throw_process_not_found(JNIEnv * env, const char *invalid_name);
 /** Thrown when a transfer failure accure while Sending task */
 void jxbt_throw_transfer_failure(JNIEnv * env, char *detail);
-/** Thrown when a host failure accures while Sending task*/
+/** Thrown when a host failure occurs while Sending a task*/
 void jxbt_throw_host_failure(JNIEnv * env, char *details);
-/** Thrown when a time out accures While Sending task */
+/** Thrown when a timeout occurs while Sending a task */
 void jxbt_throw_time_out_failure(JNIEnv * env, char *details);
 /**Thrown when a task is canceled */
 void jxbt_throw_task_cancelled(JNIEnv * env, char *details);
index 8c44001..a54102d 100644 (file)
@@ -148,7 +148,7 @@ static int sd_register_platform(lua_State * L)
 }
 
 /**
- * Register applicaiton for MSG
+ * Register application for MSG
  */
 static int msg_register_application(lua_State * L)
 {
index 04fc1da..0030870 100644 (file)
@@ -6,9 +6,9 @@
 /* from smpi_instr.c */
 void TRACE_smpi_alloc(void);
 void TRACE_smpi_release(void);
-void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation);
+void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, int size);
 void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation);
-void TRACE_smpi_send(int rank, int src, int dst);
+void TRACE_smpi_send(int rank, int src, int dst, int size);
 void TRACE_smpi_recv(int rank, int src, int dst);
 void TRACE_smpi_init(int rank);
 void TRACE_smpi_finalize(int rank);
index 5b63ef5..e93f43f 100644 (file)
@@ -646,6 +646,16 @@ XBT_PUBLIC_DATA(s_surf_model_description_t) surf_new_model_description[];
  */
 XBT_PUBLIC_DATA(xbt_dynar_t) model_list;
 
+/** \ingroup SURF_simulation
+ *  \brief List of hosts that have juste restarted and whose autorestart process should be restarted.
+ */
+XBT_PUBLIC_DATA(xbt_dynar_t) host_that_restart;
+
+/** \ingroup SURF_simulation
+ *  \brief List of hosts for which one want to be notified if they ever restart.
+ */
+XBT_PUBLIC(xbt_dict_t) watched_hosts_lib;
+
 /*******************************************/
 /*** SURF Platform *************************/
 /*******************************************/
@@ -733,8 +743,6 @@ XBT_PUBLIC(xbt_dict_t) get_as_router_properties(const char* name);
 int surf_get_nthreads(void);
 void surf_set_nthreads(int nthreads);
 
-void surf_watched_hosts(void);
-
 /*
  * Returns the initial path. On Windows the initial path is
  * the current directory for the current process in the other
index 7d61fef..7081bc0 100644 (file)
@@ -20,6 +20,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_config, instr, "Configuration");
 #define OPT_TRACING_SMPI_GROUP    "tracing/smpi/group"
 #define OPT_TRACING_SMPI_COMPUTING "tracing/smpi/computing"
 #define OPT_TRACING_SMPI_INTERNALS "tracing/smpi/internals"
+#define OPT_TRACING_DISPLAY_SIZES  "tracing/smpi/display_sizes"
 #define OPT_TRACING_CATEGORIZED   "tracing/categorized"
 #define OPT_TRACING_UNCATEGORIZED "tracing/uncategorized"
 #define OPT_TRACING_MSG_PROCESS   "tracing/msg/process"
@@ -51,6 +52,7 @@ static int trace_buffer;
 static int trace_onelink_only;
 static int trace_disable_destroy;
 static int trace_basic;
+static int trace_display_sizes = 0;
 static int trace_disable_link;
 static int trace_disable_power;
 
@@ -76,6 +78,7 @@ static void TRACE_getopts(void)
   trace_onelink_only = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_ONELINK_ONLY);
   trace_disable_destroy = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISABLE_DESTROY);
   trace_basic = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_BASIC);
+  trace_display_sizes = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES);
   trace_disable_link = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISABLE_LINK);
   trace_disable_power = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISABLE_POWER);
 }
@@ -283,6 +286,11 @@ int TRACE_basic (void)
   return trace_basic && TRACE_is_enabled();
 }
 
+int TRACE_display_sizes (void)
+{
+   return trace_display_sizes && trace_smpi_enabled && TRACE_is_enabled();
+}
+
 char *TRACE_get_comment (void)
 {
   return xbt_cfg_get_string(_sg_cfg_set, OPT_TRACING_COMMENT);
@@ -437,6 +445,13 @@ void TRACE_global_init(int *argc, char **argv)
                    xbt_cfgelm_int, &default_basic, 0, 1,
                    NULL, NULL);
 
+  /* display_sizes -- Extended events with message size information */
+  int default_display_sizes = 0;
+  xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES,
+                   "(smpi only for now) Extended events with message size information",
+                   xbt_cfgelm_int, &default_display_sizes, 0, 1,
+                   NULL, NULL);
+
   /* comment */
   char *default_tracing_comment = xbt_strdup ("");
   xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_COMMENT,
@@ -553,6 +568,10 @@ void TRACE_help (int detailed)
       "  trace. Keep in mind that the trace might be incomplete, without all the\n"
       "  information that would be registered otherwise.",
       detailed);
+  print_line (OPT_TRACING_DISPLAY_SIZES, "Only works for SMPI now. Add message size information",
+      "Message size (in bytes) is added to links, and to states. For collectives, the displayed value \n"
+      "is the more relevant to the collective (total sent by the process, usually)",
+      detailed);
   print_line (OPT_TRACING_COMMENT, "Comment to be added on the top of the trace file.",
       "  Use this to add a comment line to the top of the trace file.",
       detailed);
index 8db2fb8..2f53ec1 100644 (file)
@@ -12,7 +12,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_paje_header, instr, "Paje tracing event sy
 
 extern FILE *tracing_file;
 
-static void TRACE_header_PajeDefineContainerType (int basic)
+static void TRACE_header_PajeDefineContainerType (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeDefineContainerType %d\n", PAJE_DefineContainerType);
   fprintf(tracing_file, "%%       Alias string\n");
@@ -25,7 +25,7 @@ static void TRACE_header_PajeDefineContainerType (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeDefineVariableType (int basic)
+static void TRACE_header_PajeDefineVariableType (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeDefineVariableType %d\n", PAJE_DefineVariableType);
   fprintf(tracing_file, "%%       Alias string\n");
@@ -39,7 +39,7 @@ static void TRACE_header_PajeDefineVariableType (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeDefineStateType (int basic)
+static void TRACE_header_PajeDefineStateType (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeDefineStateType %d\n", PAJE_DefineStateType);
   fprintf(tracing_file, "%%       Alias string\n");
@@ -52,7 +52,7 @@ static void TRACE_header_PajeDefineStateType (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeDefineEventType (int basic)
+static void TRACE_header_PajeDefineEventType (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeDefineEventType %d\n", PAJE_DefineEventType);
   fprintf(tracing_file, "%%       Alias string\n");
@@ -65,7 +65,7 @@ static void TRACE_header_PajeDefineEventType (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeDefineLinkType (int basic)
+static void TRACE_header_PajeDefineLinkType (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeDefineLinkType %d\n", PAJE_DefineLinkType);
   fprintf(tracing_file, "%%       Alias string\n");
@@ -82,7 +82,7 @@ static void TRACE_header_PajeDefineLinkType (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeDefineEntityValue (int basic)
+static void TRACE_header_PajeDefineEntityValue (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeDefineEntityValue %d\n", PAJE_DefineEntityValue);
   fprintf(tracing_file, "%%       Alias string\n");
@@ -96,7 +96,7 @@ static void TRACE_header_PajeDefineEntityValue (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeCreateContainer (int basic)
+static void TRACE_header_PajeCreateContainer (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeCreateContainer %d\n", PAJE_CreateContainer);
   fprintf(tracing_file, "%%       Time date\n");
@@ -107,7 +107,7 @@ static void TRACE_header_PajeCreateContainer (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeDestroyContainer (int basic)
+static void TRACE_header_PajeDestroyContainer (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeDestroyContainer %d\n", PAJE_DestroyContainer);
   fprintf(tracing_file, "%%       Time date\n");
@@ -116,7 +116,7 @@ static void TRACE_header_PajeDestroyContainer (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeSetVariable (int basic)
+static void TRACE_header_PajeSetVariable (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeSetVariable %d\n", PAJE_SetVariable);
   fprintf(tracing_file, "%%       Time date\n");
@@ -126,7 +126,7 @@ static void TRACE_header_PajeSetVariable (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeAddVariable (int basic)
+static void TRACE_header_PajeAddVariable (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeAddVariable %d\n", PAJE_AddVariable);
   fprintf(tracing_file, "%%       Time date\n");
@@ -136,7 +136,7 @@ static void TRACE_header_PajeAddVariable (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeSubVariable (int basic)
+static void TRACE_header_PajeSubVariable (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeSubVariable %d\n", PAJE_SubVariable);
   fprintf(tracing_file, "%%       Time date\n");
@@ -147,7 +147,7 @@ static void TRACE_header_PajeSubVariable (int basic)
 }
 
 
-static void TRACE_header_PajeSetState (int basic)
+static void TRACE_header_PajeSetState (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeSetState %d\n", PAJE_SetState);
   fprintf(tracing_file, "%%       Time date\n");
@@ -157,17 +157,18 @@ static void TRACE_header_PajeSetState (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajePushState (int basic)
+static void TRACE_header_PajePushState (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajePushState %d\n", PAJE_PushState);
   fprintf(tracing_file, "%%       Time date\n");
   fprintf(tracing_file, "%%       Type string\n");
   fprintf(tracing_file, "%%       Container string\n");
   fprintf(tracing_file, "%%       Value string\n");
+  if (size) fprintf(tracing_file, "%%       Size int\n");
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajePopState (int basic)
+static void TRACE_header_PajePopState (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajePopState %d\n", PAJE_PopState);
   fprintf(tracing_file, "%%       Time date\n");
@@ -176,7 +177,7 @@ static void TRACE_header_PajePopState (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeResetState (int basic)
+static void TRACE_header_PajeResetState (int basic, int size)
 {
   if (basic) return;
 
@@ -187,7 +188,7 @@ static void TRACE_header_PajeResetState (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeStartLink (int basic)
+static void TRACE_header_PajeStartLink (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeStartLink %d\n", PAJE_StartLink);
   fprintf(tracing_file, "%%       Time date\n");
@@ -200,10 +201,11 @@ static void TRACE_header_PajeStartLink (int basic)
     fprintf(tracing_file, "%%       StartContainer string\n");
   }
   fprintf(tracing_file, "%%       Key string\n");
+  if (size) fprintf(tracing_file, "%%       Size int\n");
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeEndLink (int basic)
+static void TRACE_header_PajeEndLink (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeEndLink %d\n", PAJE_EndLink);
   fprintf(tracing_file, "%%       Time date\n");
@@ -219,7 +221,7 @@ static void TRACE_header_PajeEndLink (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-static void TRACE_header_PajeNewEvent (int basic)
+static void TRACE_header_PajeNewEvent (int basic, int size)
 {
   fprintf(tracing_file, "%%EventDef PajeNewEvent %d\n", PAJE_NewEvent);
   fprintf(tracing_file, "%%       Time date\n");
@@ -229,27 +231,27 @@ static void TRACE_header_PajeNewEvent (int basic)
   fprintf(tracing_file, "%%EndEventDef\n");
 }
 
-void TRACE_header(int basic)
+void TRACE_header(int basic, int size)
 {
   XBT_DEBUG ("Define paje header");
-  TRACE_header_PajeDefineContainerType (basic);
-  TRACE_header_PajeDefineVariableType (basic);
-  TRACE_header_PajeDefineStateType (basic);
-  TRACE_header_PajeDefineEventType (basic);
-  TRACE_header_PajeDefineLinkType (basic);
-  TRACE_header_PajeDefineEntityValue (basic);
-  TRACE_header_PajeCreateContainer (basic);
-  TRACE_header_PajeDestroyContainer (basic);
-  TRACE_header_PajeSetVariable (basic);
-  TRACE_header_PajeAddVariable (basic);
-  TRACE_header_PajeSubVariable (basic);
-  TRACE_header_PajeSetState (basic);
-  TRACE_header_PajePushState (basic);
-  TRACE_header_PajePopState (basic);
-  TRACE_header_PajeResetState (basic);
-  TRACE_header_PajeStartLink (basic);
-  TRACE_header_PajeEndLink (basic);
-  TRACE_header_PajeNewEvent (basic);
+  TRACE_header_PajeDefineContainerType (basic, size);
+  TRACE_header_PajeDefineVariableType (basic, size);
+  TRACE_header_PajeDefineStateType (basic, size);
+  TRACE_header_PajeDefineEventType (basic, size);
+  TRACE_header_PajeDefineLinkType (basic, size);
+  TRACE_header_PajeDefineEntityValue (basic, size);
+  TRACE_header_PajeCreateContainer (basic, size);
+  TRACE_header_PajeDestroyContainer (basic, size);
+  TRACE_header_PajeSetVariable (basic, size);
+  TRACE_header_PajeAddVariable (basic, size);
+  TRACE_header_PajeSubVariable (basic, size);
+  TRACE_header_PajeSetState (basic, size);
+  TRACE_header_PajePushState (basic, size);
+  TRACE_header_PajePopState (basic, size);
+  TRACE_header_PajeResetState (basic, size);
+  TRACE_header_PajeStartLink (basic, size);
+  TRACE_header_PajeEndLink (basic, size);
+  TRACE_header_PajeNewEvent (basic, size);
 }
 
 #endif
index e3d78b2..457a8d8 100644 (file)
@@ -95,6 +95,7 @@ typedef struct s_pushState {
   container_t container;
   type_t type;
   val_t value;
+  int size;
 }s_pushState_t;
 
 typedef struct s_popState *popState_t;
@@ -116,6 +117,7 @@ typedef struct s_startLink {
   container_t sourceContainer;
   char *value;
   char *key;
+  int size;
 }s_startLink_t;
 
 typedef struct s_endLink *endLink_t;
@@ -194,7 +196,7 @@ void TRACE_paje_start(void)
   dump_comment_file (TRACE_get_comment_file());
 
   /* output header */
-  TRACE_header(TRACE_basic());
+  TRACE_header(TRACE_basic(),TRACE_display_sizes());
 
   buffer = xbt_dynar_new (sizeof(paje_event_t), NULL);
 }
@@ -444,19 +446,39 @@ static void print_pajeSetState(paje_event_t event)
 static void print_pajePushState(paje_event_t event)
 {
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-  if (event->timestamp == 0){
-    fprintf(tracing_file, "%d 0 %s %s %s\n",
-        (int)event->event_type,
-        ((pushState_t)event->data)->type->id,
-        ((pushState_t)event->data)->container->id,
-        ((pushState_t)event->data)->value->id);
+  if (!TRACE_display_sizes()){
+    if (event->timestamp == 0){
+      fprintf(tracing_file, "%d 0 %s %s %s\n",
+          (int)event->event_type,
+          ((pushState_t)event->data)->type->id,
+          ((pushState_t)event->data)->container->id,
+          ((pushState_t)event->data)->value->id);
+    }else{
+      fprintf(tracing_file, "%d %lf %s %s %s\n",
+          (int)event->event_type,
+          event->timestamp,
+          ((pushState_t)event->data)->type->id,
+          ((pushState_t)event->data)->container->id,
+          ((pushState_t)event->data)->value->id);
+    }
   }else{
-    fprintf(tracing_file, "%d %lf %s %s %s\n",
-        (int)event->event_type,
-        event->timestamp,
-        ((pushState_t)event->data)->type->id,
-        ((pushState_t)event->data)->container->id,
-        ((pushState_t)event->data)->value->id);
+    if (event->timestamp == 0){
+      fprintf(tracing_file, "%d 0 %s %s %s %d\n",
+          (int)event->event_type,
+          ((pushState_t)event->data)->type->id,
+          ((pushState_t)event->data)->container->id,
+          ((pushState_t)event->data)->value->id,
+          ((pushState_t)event->data)->size);
+    }else{
+      fprintf(tracing_file, "%d %lf %s %s %s %d\n",
+          (int)event->event_type,
+          event->timestamp,
+          ((pushState_t)event->data)->type->id,
+          ((pushState_t)event->data)->container->id,
+          ((pushState_t)event->data)->value->id,
+          ((pushState_t)event->data)->size);
+    }
+
   }
 }
 
@@ -496,24 +518,47 @@ static void print_pajeResetState(paje_event_t event)
 
 static void print_pajeStartLink(paje_event_t event)
 {
+  if (!TRACE_display_sizes()){
+    if (event->timestamp == 0){
+      fprintf(tracing_file, "%d 0 %s %s %s %s %s\n",
+          (int)event->event_type,
+          ((startLink_t)event->data)->type->id,
+          ((startLink_t)event->data)->container->id,
+          ((startLink_t)event->data)->value,
+          ((startLink_t)event->data)->sourceContainer->id,
+          ((startLink_t)event->data)->key);
+    }else {
+      fprintf(tracing_file, "%d %lf %s %s %s %s %s\n",
+          (int)event->event_type,
+          event->timestamp,
+          ((startLink_t)event->data)->type->id,
+          ((startLink_t)event->data)->container->id,
+          ((startLink_t)event->data)->value,
+          ((startLink_t)event->data)->sourceContainer->id,
+          ((startLink_t)event->data)->key);
+    }
+  }else{
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-  if (event->timestamp == 0){
-    fprintf(tracing_file, "%d 0 %s %s %s %s %s\n",
-        (int)event->event_type,
-        ((startLink_t)event->data)->type->id,
-        ((startLink_t)event->data)->container->id,
-        ((startLink_t)event->data)->value,
-        ((startLink_t)event->data)->sourceContainer->id,
-        ((startLink_t)event->data)->key);
-  }else {
-    fprintf(tracing_file, "%d %lf %s %s %s %s %s\n",
-        (int)event->event_type,
-        event->timestamp,
-        ((startLink_t)event->data)->type->id,
-        ((startLink_t)event->data)->container->id,
-        ((startLink_t)event->data)->value,
-        ((startLink_t)event->data)->sourceContainer->id,
-        ((startLink_t)event->data)->key);
+    if (event->timestamp == 0){
+      fprintf(tracing_file, "%d 0 %s %s %s %s %s %d\n",
+          (int)event->event_type,
+          ((startLink_t)event->data)->type->id,
+          ((startLink_t)event->data)->container->id,
+          ((startLink_t)event->data)->value,
+          ((startLink_t)event->data)->sourceContainer->id,
+          ((startLink_t)event->data)->key,
+          ((startLink_t)event->data)->size);
+    }else {
+      fprintf(tracing_file, "%d %lf %s %s %s %s %s %d\n",
+          (int)event->event_type,
+          event->timestamp,
+          ((startLink_t)event->data)->type->id,
+          ((startLink_t)event->data)->container->id,
+          ((startLink_t)event->data)->value,
+          ((startLink_t)event->data)->sourceContainer->id,
+          ((startLink_t)event->data)->key,
+          ((startLink_t)event->data)->size);
+    }
   }
 }
 
@@ -797,6 +842,25 @@ void new_pajePushState (double timestamp, container_t container, type_t type, va
   ((pushState_t)(event->data))->type = type;
   ((pushState_t)(event->data))->container = container;
   ((pushState_t)(event->data))->value = value;
+  ((pushState_t)(event->data))->size = -1;
+
+  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+  insert_into_buffer (event);
+}
+
+void new_pajePushStateWithSize (double timestamp, container_t container, type_t type, val_t value, int size)
+{
+  paje_event_t event = xbt_new0(s_paje_event_t, 1);
+  event->event_type = PAJE_PushState;
+  event->timestamp = timestamp;
+  event->print = print_pajePushState;
+  event->free = free_paje_event;
+  event->data = xbt_new0(s_pushState_t, 1);
+  ((pushState_t)(event->data))->type = type;
+  ((pushState_t)(event->data))->container = container;
+  ((pushState_t)(event->data))->value = value;
+  ((pushState_t)(event->data))->size = size;
 
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
 
@@ -850,6 +914,26 @@ void new_pajeStartLink (double timestamp, container_t container, type_t type, co
   ((startLink_t)(event->data))->sourceContainer = sourceContainer;
   ((startLink_t)(event->data))->value = xbt_strdup(value);
   ((startLink_t)(event->data))->key = xbt_strdup(key);
+  ((startLink_t)(event->data))->size = -1;
+  XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+  insert_into_buffer (event);
+}
+
+void new_pajeStartLinkWithSize (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key, int size)
+{
+  paje_event_t event = xbt_new0(s_paje_event_t, 1);
+  event->event_type = PAJE_StartLink;
+  event->timestamp = timestamp;
+  event->print = print_pajeStartLink;
+  event->free = free_paje_event;
+  event->data = xbt_new0(s_startLink_t, 1);
+  ((startLink_t)(event->data))->type = type;
+  ((startLink_t)(event->data))->container = container;
+  ((startLink_t)(event->data))->sourceContainer = sourceContainer;
+  ((startLink_t)(event->data))->value = xbt_strdup(value);
+  ((startLink_t)(event->data))->key = xbt_strdup(key);
+  ((startLink_t)(event->data))->size = size;
 
   XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
 
index 24f2af3..51f9e97 100644 (file)
@@ -103,7 +103,7 @@ extern xbt_dict_t user_link_variables;
 extern double TRACE_last_timestamp_to_dump;
 
 /* instr_paje_header.c */
-void TRACE_header(int basic);
+void TRACE_header(int basic, int size);
 
 /* from paje.c */
 void TRACE_paje_start(void);
@@ -122,9 +122,11 @@ XBT_PUBLIC(void) new_pajeAddVariable (double timestamp, container_t container, t
 XBT_PUBLIC(void) new_pajeSubVariable (double timestamp, container_t container, type_t type, double value);
 XBT_PUBLIC(void) new_pajeSetState (double timestamp, container_t container, type_t type, val_t value);
 XBT_PUBLIC(void) new_pajePushState (double timestamp, container_t container, type_t type, val_t value);
+XBT_PUBLIC(void) new_pajePushStateWithSize (double timestamp, container_t container, type_t type, val_t value, int size);
 XBT_PUBLIC(void) new_pajePopState (double timestamp, container_t container, type_t type);
 XBT_PUBLIC(void) new_pajeResetState (double timestamp, container_t container, type_t type);
 XBT_PUBLIC(void) new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key);
+XBT_PUBLIC(void) new_pajeStartLinkWithSize (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key, int size);
 XBT_PUBLIC(void) new_pajeEndLink (double timestamp, container_t container, type_t type, container_t destContainer, const char *value, const char *key);
 XBT_PUBLIC(void) new_pajeNewEvent (double timestamp, container_t container, type_t type, val_t value);
 
@@ -147,6 +149,7 @@ int TRACE_disable_power(void);
 int TRACE_onelink_only (void);
 int TRACE_disable_destroy (void);
 int TRACE_basic (void);
+int TRACE_display_sizes (void);
 char *TRACE_get_comment (void);
 char *TRACE_get_comment_file (void);
 char *TRACE_get_filename(void);
index d9663d0..596e5eb 100644 (file)
@@ -195,7 +195,7 @@ typedef struct s_map_region {
   void *start_addr;             /* Start address of the map */
   void *end_addr;               /* End address of the map */
   int prot;                     /* Memory protection */
-  int flags;                    /* Aditional memory flags */
+  int flags;                    /* Additional memory flags */
   void *offset;                 /* Offset in the file/whatever */
   char dev_major;               /* Major of the device */
   char dev_minor;               /* Minor of the device */
index f57aeaa..71b5db5 100644 (file)
@@ -73,7 +73,7 @@ void MSG_init_nocheck(int *argc, char **argv) {
   MSG_HOST_LEVEL = xbt_lib_add_level(host_lib, (void_f_pvoid_t) __MSG_host_destroy);
   MSG_STORAGE_LEVEL = xbt_lib_add_level(storage_lib, (void_f_pvoid_t) __MSG_storage_destroy);
 
-  atexit(MSG_exit);
+  if(sg_cfg_get_boolean("clean_atexit")) atexit(MSG_exit);
 }
 
 #ifdef MSG_USE_DEPRECATED
index 733febc..d85f2f4 100644 (file)
@@ -172,8 +172,8 @@ return res;
  * mandatory power.
  *
  * A parallel computation can be scheduled on any number of host.
- * The underlying speedup model is Amdahl's law. 
- * To be auto-scheduled, \see SD_task_distribute_comp_amdhal has to be called 
+ * The underlying speedup model is Amdahl's law.
+ * To be auto-scheduled, \see SD_task_distribute_comp_amdahl has to be called
  * first.
  * \param name the name of the task (can be \c NULL)
  * \param data the user data you want to associate with the task (can be \c NULL)
@@ -1430,7 +1430,7 @@ double SD_task_get_finish_time(SD_task_t task)
 /** @brief Blah
  *
  */
-void SD_task_distribute_comp_amdhal(SD_task_t task, int ws_count)
+void SD_task_distribute_comp_amdahl(SD_task_t task, int ws_count)
 {
   int i;
   xbt_assert(task->kind == SD_TASK_COMP_PAR_AMDAHL,
@@ -1482,7 +1482,7 @@ void SD_task_schedulev(SD_task_t task, int count,
               SD_task_get_name(task));
   switch (task->kind) {
   case SD_TASK_COMP_PAR_AMDAHL:
-    SD_task_distribute_comp_amdhal(task, count);
+    SD_task_distribute_comp_amdahl(task, count);
   case SD_TASK_COMM_E2E:
   case SD_TASK_COMP_SEQ:
     xbt_assert(task->workstation_nb == count,
@@ -1559,7 +1559,7 @@ void SD_task_schedulev(SD_task_t task, int count,
    * located (and start them if runnable) */
   if (task->kind == SD_TASK_COMP_PAR_AMDAHL) {
     XBT_VERB("Schedule computation task %s on %d workstations. %.f flops"
-             " will be distributed following Amdahl'Law",
+             " will be distributed following Amdahl'Law",
           SD_task_get_name(task), task->workstation_nb,
           task->computation_amount[0]);
     xbt_dynar_foreach(task->tasks_before, cpt, dep) {
index 1936cb7..fdc07be 100644 (file)
@@ -301,7 +301,7 @@ double SD_workstation_get_available_power(SD_workstation_t workstation)
  *
  * \param workstation a workstation
  * \param computation_amount the computation amount you want to evaluate (in flops)
- * \return an approximative astimated computation time for the given computation amount on this workstation (in seconds)
+ * \return an approximative estimated computation time for the given computation amount on this workstation (in seconds)
  */
 double SD_workstation_get_computation_time(SD_workstation_t workstation,
                                            double computation_amount)
@@ -380,7 +380,7 @@ double SD_route_get_current_bandwidth(SD_workstation_t src,
  * \param src the first workstation
  * \param dst the second workstation
  * \param communication_amount the communication amount you want to evaluate (in bytes)
- * \return an approximative astimated computation time for the given communication amount
+ * \return an approximative estimated computation time for the given communication amount
  * between the workstations (in seconds)
  */
 double SD_route_get_communication_time(SD_workstation_t src,
index 4dfa5d3..f66e1bf 100644 (file)
@@ -834,6 +834,13 @@ void sg_config_init(int *argc, char **argv)
                     NULL);
 #endif // HAVE_SMPI
 
+    default_value = xbt_strdup("yes");
+    xbt_cfg_register(&_sg_cfg_set, "clean_atexit",
+                     "\"yes\" or \"no\". \"yes\" enables all the cleanups of SimGrid (XBT,SIMIX,MSG) to be registered with atexit. \"no\" may be useful if your code segfaults when calling the exit function.",
+                     xbt_cfgelm_boolean, &default_value, 1, 1,
+                     NULL, NULL);
+    xbt_cfg_setdefault_boolean(_sg_cfg_set, "clean_atexit", default_value);
+
     if (!surf_path) {
       /* retrieves the current directory of the        current process */
       const char *initial_path = __surf_get_initial_path();
index 64891fd..e7920b1 100644 (file)
@@ -94,7 +94,7 @@ void SIMIX_context_mod_init(void)
 }
 
 /**
- * This function is call by SIMIX_clean() to finalize the context module.
+ * This function is called by SIMIX_clean() to finalize the context module.
  */
 void SIMIX_context_mod_exit(void)
 {
index c578d51..5b8984b 100644 (file)
@@ -10,6 +10,7 @@
 #include "xbt/str.h"
 #include "xbt/ex.h"             /* ex_backtrace_display */
 #include "mc/mc.h"
+#include "simgrid/sg_config.h"
 
 XBT_LOG_NEW_CATEGORY(simix, "All SIMIX categories");
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_kernel, simix,
@@ -108,7 +109,7 @@ void SIMIX_global_init(int *argc, char **argv)
 
   SIMIX_HOST_LEVEL = xbt_lib_add_level(host_lib,SIMIX_host_destroy);
 
-  atexit(SIMIX_clean);
+  if(sg_cfg_get_boolean("clean_atexit")) atexit(SIMIX_clean);
 }
 
 /**
@@ -157,7 +158,7 @@ static void SIMIX_clean(void)
 
 #ifdef TIME_BENCH_AMDAHL
   xbt_os_cputimer_stop(simix_global->timer_seq);
-  XBT_INFO("Amdhal timing informations. Sequential time: %lf; Parallel time: %lf",
+  XBT_INFO("Amdahl timing informations. Sequential time: %lf; Parallel time: %lf",
            xbt_os_timer_elapsed(simix_global->timer_seq),
            xbt_os_timer_elapsed(simix_global->timer_par));
   xbt_os_timer_free(simix_global->timer_seq);
@@ -327,6 +328,16 @@ void SIMIX_run(void)
         SIMIX_simcall_post((smx_action_t) action->data);
     }
 
+    /* Autorestart all process */
+    if(host_that_restart) {
+      char *hostname = NULL;
+      xbt_dynar_foreach(host_that_restart,iter,hostname) {
+        XBT_INFO("Restart processes on host: %s",hostname);
+        SIMIX_host_autorestart(SIMIX_host_get_by_name(hostname));
+      }
+      xbt_dynar_reset(host_that_restart);
+    }
+
     /* Clean processes to destroy */
     SIMIX_process_empty_trash();
 
index 9c53fac..f519b13 100644 (file)
@@ -311,7 +311,7 @@ void SIMIX_host_add_auto_restart_process(smx_host_t host,
   if( SIMIX_host_get_state(host) == SURF_RESOURCE_OFF
       && !xbt_dict_get_or_null(watched_hosts_lib,sg_host_name(host))){
     xbt_dict_set(watched_hosts_lib,sg_host_name(host),host,NULL);
-    XBT_DEBUG("Have push host %s to watched_hosts_lib because state == SURF_RESOURCE_OFF",sg_host_name(host));
+    XBT_DEBUG("Have pushed host %s to watched_hosts_lib because state == SURF_RESOURCE_OFF",sg_host_name(host));
   }
   xbt_dynar_push_as(SIMIX_host_priv(host)->auto_restart_processes,smx_process_arg_t,arg);
 }
@@ -322,7 +322,10 @@ void SIMIX_host_restart_processes(smx_host_t host)
 {
   unsigned int cpt;
   smx_process_arg_t arg;
-  xbt_dynar_foreach(SIMIX_host_priv(host)->auto_restart_processes,cpt,arg) {
+  xbt_dynar_t process_list = SIMIX_host_priv(host)->auto_restart_processes;
+  if(!process_list) return;
+
+  xbt_dynar_foreach(process_list,cpt,arg) {
 
     smx_process_t process;
 
@@ -353,7 +356,7 @@ void SIMIX_host_restart_processes(smx_host_t host)
 
     }
   }
-  xbt_dynar_reset(SIMIX_host_priv(host)->auto_restart_processes);
+  xbt_dynar_reset(process_list);
 }
 
 void SIMIX_host_autorestart(smx_host_t host)
diff --git a/src/smpi/colls/allgatherv-mpich-ring.c b/src/smpi/colls/allgatherv-mpich-ring.c
new file mode 100644 (file)
index 0000000..83a07f8
--- /dev/null
@@ -0,0 +1,121 @@
+#include "colls_private.h"
+
+/* -*- Mode: C; c-basic-offset:4 ; -*- */
+/*
+ *
+ *  (C) 2001 by Argonne National Laboratory.
+ *      See COPYRIGHT in top-level directory.
+ */
+
+/*****************************************************************************
+ * Function: allgather_mpich_ring
+ * return: int
+ * inputs:
+ *   send_buff: send input buffer
+ *   send_count: number of elements to send
+ *   send_type: data type of elements being sent
+ *   recv_buff: receive output buffer
+ *   recv_count: number of elements to received
+ *   recv_type: data type of elements being received
+ *   comm: communication
+ ****************************************************************************/
+int
+smpi_coll_tuned_allgatherv_mpich_ring(void *sendbuf, int sendcount,
+    MPI_Datatype send_type, void *recvbuf,
+    int *recvcounts, int *displs, MPI_Datatype recvtype,
+    MPI_Comm comm)
+{
+
+  char * sbuf = NULL, * rbuf = NULL;
+  int soffset, roffset;
+  int torecv=0, tosend=0, min, rank, comm_size;
+  int sendnow, recvnow;
+  int sidx, ridx;
+  MPI_Status status;
+  MPI_Aint recvtype_extent;
+  int right, left, total_count, i;
+  rank= smpi_comm_rank(comm);
+  comm_size=smpi_comm_size(comm);
+
+  recvtype_extent= smpi_datatype_get_extent( recvtype);
+  total_count = 0;
+  for (i=0; i<comm_size; i++)
+    total_count += recvcounts[i];
+
+  if (sendbuf != MPI_IN_PLACE) {
+      /* First, load the "local" version in the recvbuf. */
+      smpi_datatype_copy(sendbuf, sendcount, send_type,
+          ((char *)recvbuf + displs[rank]*recvtype_extent),
+          recvcounts[rank], recvtype);
+  }
+
+  left  = (comm_size + rank - 1) % comm_size;
+  right = (rank + 1) % comm_size;
+
+  torecv = total_count - recvcounts[rank];
+  tosend = total_count - recvcounts[right];
+
+  min = recvcounts[0];
+  for (i = 1; i < comm_size; i++)
+    if (min > recvcounts[i])
+      min = recvcounts[i];
+  if (min * recvtype_extent < 32768*8)
+    min = 32768*8 / recvtype_extent;
+  /* Handle the case where the datatype extent is larger than
+   * the pipeline size. */
+  if (!min)
+    min = 1;
+
+  sidx = rank;
+  ridx = left;
+  soffset = 0;
+  roffset = 0;
+  while (tosend || torecv) { /* While we have data to send or receive */
+      sendnow = ((recvcounts[sidx] - soffset) > min) ? min : (recvcounts[sidx] - soffset);
+      recvnow = ((recvcounts[ridx] - roffset) > min) ? min : (recvcounts[ridx] - roffset);
+      sbuf = (char *)recvbuf + ((displs[sidx] + soffset) * recvtype_extent);
+      rbuf = (char *)recvbuf + ((displs[ridx] + roffset) * recvtype_extent);
+
+      /* Protect against wrap-around of indices */
+      if (!tosend)
+        sendnow = 0;
+      if (!torecv)
+        recvnow = 0;
+
+      /* Communicate */
+      if (!sendnow && !recvnow) {
+          /* Don't do anything. This case is possible if two
+           * consecutive processes contribute 0 bytes each. */
+      }
+      else if (!sendnow) { /* If there's no data to send, just do a recv call */
+          smpi_mpi_recv(rbuf, recvnow, recvtype, left, COLL_TAG_ALLGATHERV, comm, &status);
+
+          torecv -= recvnow;
+      }
+      else if (!recvnow) { /* If there's no data to receive, just do a send call */
+          smpi_mpi_send(sbuf, sendnow, recvtype, right, COLL_TAG_ALLGATHERV, comm);
+
+          tosend -= sendnow;
+      }
+      else { /* There's data to be sent and received */
+          smpi_mpi_sendrecv(sbuf, sendnow, recvtype, right, COLL_TAG_ALLGATHERV,
+              rbuf, recvnow, recvtype, left, COLL_TAG_ALLGATHERV,
+              comm, &status);
+          tosend -= sendnow;
+          torecv -= recvnow;
+      }
+
+      soffset += sendnow;
+      roffset += recvnow;
+      if (soffset == recvcounts[sidx]) {
+          soffset = 0;
+          sidx = (sidx + comm_size - 1) % comm_size;
+      }
+      if (roffset == recvcounts[ridx]) {
+          roffset = 0;
+          ridx = (ridx + comm_size - 1) % comm_size;
+      }
+  }
+
+  return MPI_SUCCESS;
+}
index f6edcdc..1d813e4 100644 (file)
@@ -92,7 +92,7 @@ int smpi_coll_tuned_alltoall_simple(void *send_buff, int send_count,
 
 
   /* All done */
-
+  for(i= 0;i<nreqs;i++)if(req[i])smpi_mpi_request_free(&req[i]);
   if (req)
     xbt_free((char *) req);
   if (statuses)
index 3a4183b..656b373 100644 (file)
@@ -28,43 +28,59 @@ int smpi_coll_tuned_alltoallv_bruck(void *sendbuf, int *sendcounts, int *senddis
   err = smpi_datatype_extent(recvtype, &lb, &recvext);
   /* Local copy from self */
   err =
-      smpi_datatype_copy((char *)sendbuf + senddisps[rank] * sendext, 
-                         sendcounts[rank], sendtype, 
+      smpi_datatype_copy((char *)sendbuf + senddisps[rank] * sendext,
+                         sendcounts[rank], sendtype,
                          (char *)recvbuf + recvdisps[rank] * recvext,
                          recvcounts[rank], recvtype);
   if (err == MPI_SUCCESS && size > 1) {
     /* Initiate all send/recv to/from others. */
-    requests = xbt_new(MPI_Request, 2 * (size - 1));
-    count = 0;
-    /* Create all receives that will be posted first */
-    for (i = 0; i < size; ++i) {
-      if (i == rank) {
-        XBT_DEBUG("<%d> skip request creation [src = %d, recvcount = %d]",
-               rank, i, recvcounts[i]);
-        continue;
-      }
-      requests[count] =
-          smpi_irecv_init((char *)recvbuf + recvdisps[i] * recvext, recvcounts[i],
-                          recvtype, i, system_tag, comm);
-      count++;
-    }
-    /* Now create all sends  */
-    for (i = 0; i < size; ++i) {
-      if (i == rank) {
-        XBT_DEBUG("<%d> skip request creation [dst = %d, sendcount = %d]",
-               rank, i, sendcounts[i]);
-        continue;
-      }
-      requests[count] =
-          smpi_isend_init((char *)sendbuf + senddisps[i] * sendext, sendcounts[i],
-                          sendtype, i, system_tag, comm);
-      count++;
-    }
-    /* Wait for them all. */
-    smpi_mpi_startall(count, requests);
-    XBT_DEBUG("<%d> wait for %d requests", rank, count);
-    smpi_mpi_waitall(count, requests, MPI_STATUS_IGNORE);
-    xbt_free(requests);
+
+      int bblock = 4;//MPIR_PARAM_ALLTOALL_THROTTLE
+      //if (bblock == 0) bblock = comm_size;
+
+
+     // requests = xbt_new(MPI_Request, 2 * (bblock - 1));
+      int ii, ss, dst;
+      /* post only bblock isends/irecvs at a time as suggested by Tony Ladd */
+      for (ii=0; ii<size; ii+=bblock) {
+          requests = xbt_new(MPI_Request, 2 * (bblock ));
+
+          ss = size-ii < bblock ? size-ii : bblock;
+          count = 0;
+
+          /* do the communication -- post ss sends and receives: */
+          for ( i=0; i<ss; i++ ) {
+            dst = (rank+i+ii) % size;
+              if (dst == rank) {
+                XBT_DEBUG("<%d> skip request creation [src = %d, recvcount = %d]",
+                       rank, i, recvcounts[dst]);
+                continue;
+              }
+
+              requests[count]=smpi_mpi_irecv((char *)recvbuf + recvdisps[dst] * recvext, recvcounts[dst],
+                                  recvtype, dst, system_tag, comm );
+              count++;
+            }
+            /* Now create all sends  */
+          for ( i=0; i<ss; i++ ) {
+              dst = (rank-i-ii+size) % size;
+              if (dst == rank) {
+                XBT_DEBUG("<%d> skip request creation [dst = %d, sendcount = %d]",
+                       rank, i, sendcounts[dst]);
+                continue;
+              }
+              requests[count]=smpi_mpi_isend((char *)sendbuf + senddisps[dst] * sendext, sendcounts[dst],
+                                  sendtype, dst, system_tag, comm);
+              count++;
+            }
+            /* Wait for them all. */
+            //smpi_mpi_startall(count, requests);
+            XBT_DEBUG("<%d> wait for %d requests", rank, count);
+            smpi_mpi_waitall(count, requests, MPI_STATUSES_IGNORE);
+            xbt_free(requests);
+
+          }
+
   }
   return MPI_SUCCESS;
 }
index a2091b1..dce6456 100644 (file)
@@ -89,6 +89,7 @@ COLL_APPLY(action, COLL_ALLGATHERV_SIG, ompi_neighborexchange) COLL_sep \
 COLL_APPLY(action, COLL_ALLGATHERV_SIG, ompi_bruck) COLL_sep \
 COLL_APPLY(action, COLL_ALLGATHERV_SIG, mpich) COLL_sep \
 COLL_APPLY(action, COLL_ALLGATHERV_SIG, mpich_rdb) COLL_sep \
+COLL_APPLY(action, COLL_ALLGATHERV_SIG, mpich_ring) COLL_sep \
 COLL_APPLY(action, COLL_ALLGATHERV_SIG, automatic)
 
 COLL_ALLGATHERVS(COLL_PROTO, COLL_NOsep)
index 18f1d08..4a7489b 100644 (file)
@@ -135,7 +135,7 @@ smpi_coll_tuned_gather_ompi_binomial(void *sbuf, int scount,
                         "smpi_coll_tuned_gather_ompi_binomial rank %d recv %d mycount = %d",
                         rank, bmtree->tree_next[i], mycount);
 
-           smpi_mpi_recv(ptmp + total_recv*rextent, rcount*size-total_recv, rdtype,
+           smpi_mpi_recv(ptmp + total_recv*rextent, mycount, rdtype,
                                    bmtree->tree_next[i], COLL_TAG_GATHER,
                                    comm, &status);
 
index 8fb8342..586142b 100644 (file)
@@ -45,6 +45,7 @@ int smpi_coll_tuned_reduce_scatter_mpich_pair(void *sendbuf, void *recvbuf, int
     }
     
     if (total_count == 0) {
+        xbt_free(disps);
         return MPI_ERR_COUNT;
     }
 
@@ -134,7 +135,10 @@ int smpi_coll_tuned_reduce_scatter_mpich_pair(void *sendbuf, void *recvbuf, int
             if (mpi_errno) return(mpi_errno);
         }
     
-return MPI_SUCCESS;
+        xbt_free(disps);
+        xbt_free(tmp_recvbuf);
+
+        return MPI_SUCCESS;
 }
     
 
index 7cce8ae..c65b6f9 100644 (file)
@@ -100,7 +100,7 @@ smpi_coll_tuned_scatter_ompi_binomial(void *sbuf, int scount,
        }
        total_send = scount;
     } else if (!(vrank % 2)) {
-       /* non-root, non-leaf nodes, allocte temp buffer for recv
+       /* non-root, non-leaf nodes, allocate temp buffer for recv
         * the most we need is rcount*size/2 */
        tempbuf = (char *) malloc(rtrue_extent + (rcount*size - 1) * rextent);
        if (NULL == tempbuf) {
index 192ac0f..083096c 100644 (file)
@@ -45,7 +45,7 @@
   if(smpi_comm_rank(comm)==0){\
       XBT_WARN("For rank 0, the quickest was %s : %lf , but global was %s : %lf at max",mpi_coll_##cat##_description[min_coll].name, time_min,mpi_coll_##cat##_description[global_coll].name, max_min);\
   }else\
-  XBT_WARN("The quickest reduce_scatter was %s on rank %d and took %lf",mpi_coll_##cat##_description[min_coll].name, smpi_comm_rank(comm), time_min);\
+  XBT_WARN("The quickest %s was %s on rank %d and took %lf",#cat,mpi_coll_##cat##_description[min_coll].name, smpi_comm_rank(comm), time_min);\
   return (min_coll!=-1)?MPI_SUCCESS:MPI_ERR_INTERN;\
 }\
 
index a2a44ae..8a2124a 100644 (file)
@@ -426,7 +426,7 @@ int smpi_coll_tuned_reduce_scatter_mpich( void *sbuf, void *rbuf,
     int comm_size, i;
     size_t total_message_size;
 
-    if(sbuf==rbuf)sbuf=MPI_IN_PLACE; //restore MPI_IN_PLACE as these algos handle it
+    if(sbuf==rbuf)sbuf=MPI_IN_PLACE; //restore MPI_IN_PLACE as these algorithms handle it
 
     XBT_DEBUG("smpi_coll_tuned_reduce_scatter_mpich");
     
@@ -622,7 +622,7 @@ int smpi_coll_tuned_allgatherv_mpich(void *sbuf, int scount,
                                                      rbuf, rcounts, rdispls, rdtype,
                                                      comm);
     } 
-    return smpi_coll_tuned_allgatherv_ring(sbuf, scount, sdtype, 
+    return smpi_coll_tuned_allgatherv_mpich_ring(sbuf, scount, sdtype,
                                                 rbuf, rcounts, rdispls, rdtype,
                                                 comm);
 }
index e5a163b..a31e8a5 100644 (file)
@@ -177,7 +177,7 @@ void TRACE_smpi_finalize(int rank)
   PJ_container_free (container);
 }
 
-void TRACE_smpi_collective_in(int rank, int root, const char *operation)
+void TRACE_smpi_collective_in(int rank, int root, const char *operation, int size)
 {
   if (!TRACE_smpi_is_enabled()) return;
 
@@ -187,7 +187,7 @@ void TRACE_smpi_collective_in(int rank, int root, const char *operation)
   type_t type = PJ_type_get ("MPI_STATE", container->type);
   const char *color = instr_find_color (operation);
   val_t value = PJ_value_get_or_new (operation, color, type);
-  new_pajePushState (SIMIX_get_clock(), container, type, value);
+  new_pajePushStateWithSize (SIMIX_get_clock(), container, type, value, size);
 }
 
 void TRACE_smpi_collective_out(int rank, int root, const char *operation)
@@ -241,7 +241,7 @@ void TRACE_smpi_computing_out(int rank)
   new_pajePopState (SIMIX_get_clock(), container, type);
 }
 
-void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation)
+void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, int size)
 {
   if (!TRACE_smpi_is_enabled()) return;
 
@@ -252,7 +252,7 @@ void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation)
   type_t type = PJ_type_get ("MPI_STATE", container->type);
   const char *color = instr_find_color (operation);
   val_t value = PJ_value_get_or_new (operation, color, type);
-  new_pajePushState (SIMIX_get_clock(), container, type, value);
+  new_pajePushStateWithSize (SIMIX_get_clock(), container, type, value, size);
 }
 
 void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation)
@@ -267,7 +267,7 @@ void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation)
   new_pajePopState (SIMIX_get_clock(), container, type);
 }
 
-void TRACE_smpi_send(int rank, int src, int dst)
+void TRACE_smpi_send(int rank, int src, int dst, int size)
 {
   if (!TRACE_smpi_is_enabled()) return;
 
@@ -280,7 +280,7 @@ void TRACE_smpi_send(int rank, int src, int dst)
   container_t container = PJ_container_get (str);
   type_t type = PJ_type_get ("MPI_LINK", PJ_type_get_root());
 
-  new_pajeStartLink (SIMIX_get_clock(), PJ_container_get_root(), type, container, "PTP", key);
+  new_pajeStartLinkWithSize (SIMIX_get_clock(), PJ_container_get_root(), type, container, "PTP", key, size);
 }
 
 void TRACE_smpi_recv(int rank, int src, int dst)
index 864cb33..9c8c789 100644 (file)
@@ -94,7 +94,6 @@ typedef struct s_smpi_mpi_request {
 #endif
 } s_smpi_mpi_request_t;
 
-void smpi_process_init(int *argc, char ***argv);
 void smpi_process_destroy(void);
 void smpi_process_finalize(void);
 int smpi_process_finalized(void);
@@ -548,7 +547,7 @@ void mpi_comm_get_parent_ ( int*parent, int* ierr);
 /* from smpi_instr.c */
 void TRACE_internal_smpi_set_category (const char *category);
 const char *TRACE_internal_smpi_get_category (void);
-void TRACE_smpi_collective_in(int rank, int root, const char *operation);
+void TRACE_smpi_collective_in(int rank, int root, const char *operation, int size);
 void TRACE_smpi_collective_out(int rank, int root, const char *operation);
 void TRACE_smpi_computing_init(int rank);
 void TRACE_smpi_computing_out(int rank);
index f114a57..8bb78e1 100644 (file)
@@ -320,6 +320,7 @@ void smpi_mpi_start(MPI_Request request)
   if(request->flags & PREPARED)request->flags &= ~PREPARED;
   if(request->flags & RECV) {
     print_request("New recv", request);
+    //FIXME: if receive is posted with a large size, but send is smaller, mailboxes may not match !
     if (request->size < sg_cfg_get_int("smpi/async_small_thres"))
       mailbox = smpi_process_mailbox_small();
     else
@@ -345,7 +346,7 @@ void smpi_mpi_start(MPI_Request request)
     #ifdef HAVE_TRACING
       int rank = smpi_process_index();
       if (TRACE_smpi_view_internals()) {
-        TRACE_smpi_send(rank, rank, receiver);
+        TRACE_smpi_send(rank, rank, receiver,request->size);
       }
     #endif
 /*    if(receiver == MPI_UNDEFINED) {*/
index d7fed42..b86d965 100644 (file)
@@ -127,12 +127,10 @@ int PMPI_Abort(MPI_Comm comm, int errorcode)
 double PMPI_Wtime(void)
 {
   double time;
-
-  smpi_bench_end();
   time = SIMIX_get_clock();
-  smpi_bench_begin();
   return time;
 }
+
 extern double sg_maxmin_precision;
 double PMPI_Wtick(void)
 {
@@ -1044,7 +1042,7 @@ int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int src,
 #ifdef HAVE_TRACING
   int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
   int src_traced = smpi_group_index(smpi_comm_group(comm), src);
-  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, count*smpi_datatype_size(datatype));
 #endif
 
     *request = smpi_mpi_irecv(buf, count, datatype, src, tag, comm);
@@ -1091,8 +1089,8 @@ int PMPI_Isend(void *buf, int count, MPI_Datatype datatype, int dst,
   int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
   TRACE_smpi_computing_out(rank);
   int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
-  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__);
-  TRACE_smpi_send(rank, rank, dst_traced);
+  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+  TRACE_smpi_send(rank, rank, dst_traced, count*smpi_datatype_size(datatype));
 #endif
 
     *request = smpi_mpi_isend(buf, count, datatype, dst, tag, comm);
@@ -1137,8 +1135,8 @@ int PMPI_Issend(void* buf, int count, MPI_Datatype datatype, int dst, int tag, M
   int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
   TRACE_smpi_computing_out(rank);
   int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
-  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__);
-  TRACE_smpi_send(rank, rank, dst_traced);
+  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+  TRACE_smpi_send(rank, rank, dst_traced, count*smpi_datatype_size(datatype));
 #endif
 
     *request = smpi_mpi_issend(buf, count, datatype, dst, tag, comm);
@@ -1183,8 +1181,7 @@ int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int src, int tag,
   int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
   int src_traced = smpi_group_index(smpi_comm_group(comm), src);
   TRACE_smpi_computing_out(rank);
-
-  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, count*smpi_datatype_size(datatype));
 #endif
 
     smpi_mpi_recv(buf, count, datatype, src, tag, comm, status);
@@ -1230,8 +1227,8 @@ int PMPI_Send(void *buf, int count, MPI_Datatype datatype, int dst, int tag,
   int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
   TRACE_smpi_computing_out(rank);
   int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
-  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__);
-  TRACE_smpi_send(rank, rank, dst_traced);
+  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+  TRACE_smpi_send(rank, rank, dst_traced,count*smpi_datatype_size(datatype));
 #endif
 
     smpi_mpi_send(buf, count, datatype, dst, tag, comm);
@@ -1274,8 +1271,8 @@ int PMPI_Ssend(void* buf, int count, MPI_Datatype datatype, int dst, int tag, MP
    int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
    TRACE_smpi_computing_out(rank);
    int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
-   TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__);
-   TRACE_smpi_send(rank, rank, dst_traced);
+   TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+   TRACE_smpi_send(rank, rank, dst_traced,count*smpi_datatype_size(datatype));
  #endif
 
      smpi_mpi_ssend(buf, count, datatype, dst, tag, comm);
@@ -1325,8 +1322,8 @@ int PMPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   TRACE_smpi_computing_out(rank);
   int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
   int src_traced = smpi_group_index(smpi_comm_group(comm), src);
-  TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__);
-  TRACE_smpi_send(rank, rank, dst_traced);
+  TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__, sendcount*smpi_datatype_size(sendtype));
+  TRACE_smpi_send(rank, rank, dst_traced,sendcount*smpi_datatype_size(sendtype));
 #endif
 
 
@@ -1487,7 +1484,7 @@ int PMPI_Wait(MPI_Request * request, MPI_Status * status)
   int dst_traced = (*request)->dst;
   MPI_Comm comm = (*request)->comm;
   int is_wait_for_receive = (*request)->recv;
-  TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__,-1);
 #endif
 
     smpi_mpi_wait(request, status);
@@ -1537,7 +1534,7 @@ int PMPI_Waitany(int count, MPI_Request requests[], int *index, MPI_Status * sta
   int rank_traced = smpi_process_index();
   TRACE_smpi_computing_out(rank_traced);
 
-  TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,count);
 
 #endif
   if (index == NULL) {
@@ -1601,7 +1598,7 @@ int PMPI_Waitall(int count, MPI_Request requests[], MPI_Status status[])
   int rank_traced = smpi_process_index();
   TRACE_smpi_computing_out(rank_traced);
 
-  TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,count);
 #endif
   int retval = smpi_mpi_waitall(count, requests, status);
 #ifdef HAVE_TRACING
@@ -1672,22 +1669,24 @@ int PMPI_Bcast(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm c
   int retval = 0;
 
   smpi_bench_end();
+
+  if (comm == MPI_COMM_NULL) {
+    retval = MPI_ERR_COMM;
+  } else {
 #ifdef HAVE_TRACING
   int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
   TRACE_smpi_computing_out(rank);
   int root_traced = smpi_group_index(smpi_comm_group(comm), root);
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
 #endif
-  if (comm == MPI_COMM_NULL) {
-    retval = MPI_ERR_COMM;
-  } else {
     mpi_coll_bcast_fun(buf, count, datatype, root, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -1697,21 +1696,23 @@ int PMPI_Barrier(MPI_Comm comm)
   int retval = 0;
 
   smpi_bench_end();
+
+  if (comm == MPI_COMM_NULL) {
+    retval = MPI_ERR_COMM;
+  } else {
 #ifdef HAVE_TRACING
   int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, smpi_comm_size(comm));
 #endif
-  if (comm == MPI_COMM_NULL) {
-    retval = MPI_ERR_COMM;
-  } else {
     mpi_coll_barrier_fun(comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -1723,12 +1724,7 @@ int PMPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if ((( sendbuf != MPI_IN_PLACE) && (sendtype == MPI_DATATYPE_NULL)) ||
@@ -1746,17 +1742,23 @@ int PMPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
       sendtmpcount=0;
       sendtmptype=recvtype;
     }
-
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,sendcount*smpi_datatype_size(sendtmptype));
+#endif
     mpi_coll_gather_fun(sendtmpbuf, sendtmpcount, sendtmptype, recvbuf, recvcount,
                     recvtype, root, comm);
 
 
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -1768,12 +1770,7 @@ int PMPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if ((( sendbuf != MPI_IN_PLACE) && (sendtype == MPI_DATATYPE_NULL)) ||
@@ -1784,7 +1781,6 @@ int PMPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   } else if (recvcounts == NULL || displs == NULL) {
     retval = MPI_ERR_ARG;
   } else {
-
     char* sendtmpbuf = (char*) sendbuf;
     int sendtmpcount = sendcount;
     MPI_Datatype sendtmptype = sendtype;
@@ -1793,14 +1789,21 @@ int PMPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
       sendtmptype=recvtype;
     }
 
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,sendcount*smpi_datatype_size(sendtmptype));
+#endif
     smpi_mpi_gatherv(sendtmpbuf, sendtmpcount, sendtmptype, recvbuf, recvcounts,
                      displs, recvtype, root, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -1812,11 +1815,7 @@ int PMPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if ((( sendbuf != MPI_IN_PLACE) && (sendtype == MPI_DATATYPE_NULL)) ||
@@ -1826,20 +1825,24 @@ int PMPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
             (recvcount <0)){
     retval = MPI_ERR_COUNT;
   } else {
-
     if(sendbuf == MPI_IN_PLACE) {
       sendbuf=((char*)recvbuf)+smpi_datatype_get_extent(recvtype)*recvcount*smpi_comm_rank(comm);
       sendcount=recvcount;
       sendtype=recvtype;
     }
-
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__,sendcount*smpi_datatype_size(sendtype));
+#endif
     mpi_coll_allgather_fun(sendbuf, sendcount, sendtype, recvbuf, recvcount,
                            recvtype, comm);
     retval = MPI_SUCCESS;
-  }
+
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
 #endif
+  }
   smpi_bench_begin();
   return retval;
 }
@@ -1851,11 +1854,7 @@ int PMPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if ((( sendbuf != MPI_IN_PLACE) && (sendtype == MPI_DATATYPE_NULL)) ||
@@ -1872,15 +1871,20 @@ int PMPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
       sendcount=recvcounts[smpi_comm_rank(comm)];
       sendtype=recvtype;
     }
-
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__,sendcount*smpi_datatype_size(sendtype));
+#endif
     mpi_coll_allgatherv_fun(sendbuf, sendcount, sendtype, recvbuf, recvcounts,
                         displs, recvtype, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -1892,31 +1896,34 @@ int PMPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
 
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
-#endif
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (((smpi_comm_rank(comm)==root) && (sendtype == MPI_DATATYPE_NULL))
              || ((recvbuf !=MPI_IN_PLACE) && (recvtype == MPI_DATATYPE_NULL))) {
     retval = MPI_ERR_TYPE;
   } else {
+
     if (recvbuf == MPI_IN_PLACE) {
         recvtype=sendtype;
         recvcount=sendcount;
     }
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
+
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,sendcount*smpi_datatype_size(recvtype));
+#endif
     mpi_coll_scatter_fun(sendbuf, sendcount, sendtype, recvbuf, recvcount,
                      recvtype, root, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -1928,12 +1935,7 @@ int PMPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (sendcounts == NULL || displs == NULL) {
@@ -1946,14 +1948,23 @@ int PMPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
         recvtype=sendtype;
         recvcount=sendcounts[smpi_comm_rank(comm)];
     }
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
+  int count=0, i;
+  for(i=0; i<smpi_comm_size(comm);i++)count+=sendcounts[i];
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, count*smpi_datatype_size(sendtype));
+#endif
     smpi_mpi_scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf,
                       recvcount, recvtype, root, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -1964,26 +1975,27 @@ int PMPI_Reduce(void *sendbuf, void *recvbuf, int count,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (datatype == MPI_DATATYPE_NULL || op == MPI_OP_NULL) {
     retval = MPI_ERR_ARG;
   } else {
-
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  int root_traced = smpi_group_index(smpi_comm_group(comm), root);
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+#endif
     mpi_coll_reduce_fun(sendbuf, recvbuf, count, datatype, op, root, comm);
 
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -2009,11 +2021,7 @@ int PMPI_Allreduce(void *sendbuf, void *recvbuf, int count,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (datatype == MPI_DATATYPE_NULL) {
@@ -2027,7 +2035,11 @@ int PMPI_Allreduce(void *sendbuf, void *recvbuf, int count,
       sendtmpbuf = (char *)xbt_malloc(count*smpi_datatype_get_extent(datatype));
       smpi_datatype_copy(recvbuf, count, datatype,sendtmpbuf, count, datatype);
     }
-
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+#endif
     mpi_coll_allreduce_fun(sendtmpbuf, recvbuf, count, datatype, op, comm);
 
     if( sendbuf == MPI_IN_PLACE ) {
@@ -2035,12 +2047,12 @@ int PMPI_Allreduce(void *sendbuf, void *recvbuf, int count,
     }
 
     retval = MPI_SUCCESS;
-
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -2051,11 +2063,7 @@ int PMPI_Scan(void *sendbuf, void *recvbuf, int count,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (datatype == MPI_DATATYPE_NULL) {
@@ -2063,13 +2071,19 @@ int PMPI_Scan(void *sendbuf, void *recvbuf, int count,
   } else if (op == MPI_OP_NULL) {
     retval = MPI_ERR_OP;
   } else {
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+#endif
     smpi_mpi_scan(sendbuf, recvbuf, count, datatype, op, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -2079,11 +2093,7 @@ int PMPI_Exscan(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (datatype == MPI_DATATYPE_NULL) {
@@ -2091,13 +2101,19 @@ int PMPI_Exscan(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
   } else if (op == MPI_OP_NULL) {
     retval = MPI_ERR_OP;
   } else {
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+#endif
     smpi_mpi_exscan(sendbuf, recvbuf, count, datatype, op, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -2107,11 +2123,7 @@ int PMPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
 {
   int retval = 0;
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (datatype == MPI_DATATYPE_NULL) {
@@ -2121,6 +2133,13 @@ int PMPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
   } else if (recvcounts == NULL) {
     retval = MPI_ERR_ARG;
   } else {
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  int count=0, i;
+  for(i=0; i<smpi_comm_size(comm);i++)count+=recvcounts[i];
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+#endif
     void* sendtmpbuf=sendbuf;
     if(sendbuf==MPI_IN_PLACE){
       sendtmpbuf=recvbuf;
@@ -2129,11 +2148,12 @@ int PMPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
     mpi_coll_reduce_scatter_fun(sendtmpbuf, recvbuf, recvcounts,
                        datatype,  op, comm);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -2143,11 +2163,7 @@ int PMPI_Reduce_scatter_block(void *sendbuf, void *recvbuf, int recvcount,
 {
   int retval,i;
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (datatype == MPI_DATATYPE_NULL) {
@@ -2157,6 +2173,11 @@ int PMPI_Reduce_scatter_block(void *sendbuf, void *recvbuf, int recvcount,
   } else if (recvcount < 0) {
     retval = MPI_ERR_ARG;
   } else {
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, recvcount*smpi_comm_size(comm)*smpi_datatype_size(datatype));
+#endif
     int count=smpi_comm_size(comm);
     int* recvcounts=(int*)xbt_malloc(count);
     for (i=0; i<count;i++)recvcounts[i]=recvcount;
@@ -2164,11 +2185,12 @@ int PMPI_Reduce_scatter_block(void *sendbuf, void *recvbuf, int recvcount,
                        datatype,  op, comm);
     xbt_free(recvcounts);
     retval = MPI_SUCCESS;
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -2180,23 +2202,25 @@ int PMPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (sendtype == MPI_DATATYPE_NULL
              || recvtype == MPI_DATATYPE_NULL) {
     retval = MPI_ERR_TYPE;
   } else {
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, sendcount*smpi_datatype_size(sendtype));
+#endif
     retval = mpi_coll_alltoall_fun(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm);
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
@@ -2208,11 +2232,7 @@ int PMPI_Alltoallv(void *sendbuf, int *sendcounts, int *senddisps,
   int retval = 0;
 
   smpi_bench_end();
-#ifdef HAVE_TRACING
-  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
-  TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
-#endif
+
   if (comm == MPI_COMM_NULL) {
     retval = MPI_ERR_COMM;
   } else if (sendtype == MPI_DATATYPE_NULL
@@ -2222,15 +2242,23 @@ int PMPI_Alltoallv(void *sendbuf, int *sendcounts, int *senddisps,
              || recvdisps == NULL) {
     retval = MPI_ERR_ARG;
   } else {
+#ifdef HAVE_TRACING
+  int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
+  TRACE_smpi_computing_out(rank);
+  int i, size=0;
+  for(i=0; i< smpi_comm_size(comm);i++)size+=sendcounts[i];
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, size*smpi_datatype_size(sendtype));
+#endif
     retval =
         mpi_coll_alltoallv_fun(sendbuf, sendcounts, senddisps, sendtype,
                                   recvbuf, recvcounts, recvdisps, recvtype,
                                   comm);
-  }
 #ifdef HAVE_TRACING
   TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
   TRACE_smpi_computing_in(rank);
 #endif
+  }
+
   smpi_bench_begin();
   return retval;
 }
index 2efcaa8..d52ec60 100644 (file)
@@ -161,8 +161,8 @@ static void action_send(const char *const *action)
   int rank = smpi_comm_rank(MPI_COMM_WORLD);
   TRACE_smpi_computing_out(rank);
   int dst_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), to);
-  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__);
-  TRACE_smpi_send(rank, rank, dst_traced);
+  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
+  TRACE_smpi_send(rank, rank, dst_traced, size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 
   smpi_mpi_send(NULL, size, MPI_CURRENT_TYPE, to , 0, MPI_COMM_WORLD);
@@ -190,8 +190,8 @@ static void action_Isend(const char *const *action)
   int rank = smpi_comm_rank(MPI_COMM_WORLD);
   TRACE_smpi_computing_out(rank);
   int dst_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), to);
-  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__);
-  TRACE_smpi_send(rank, rank, dst_traced);
+  TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
+  TRACE_smpi_send(rank, rank, dst_traced, size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 
   request = smpi_mpi_isend(NULL, size, MPI_CURRENT_TYPE, to, 0,MPI_COMM_WORLD);
@@ -221,7 +221,7 @@ static void action_recv(const char *const *action) {
   int src_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), from);
   TRACE_smpi_computing_out(rank);
 
-  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 
   smpi_mpi_recv(NULL, size, MPI_CURRENT_TYPE, from, 0, MPI_COMM_WORLD, &status);
@@ -251,7 +251,7 @@ static void action_Irecv(const char *const *action)
 #ifdef HAVE_TRACING
   int rank = smpi_comm_rank(MPI_COMM_WORLD);
   int src_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), from);
-  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 
   request = smpi_mpi_irecv(NULL, size, MPI_CURRENT_TYPE, from, 0, MPI_COMM_WORLD);
@@ -287,7 +287,7 @@ static void action_wait(const char *const *action){
   int src_traced = smpi_group_rank(group, request->src);
   int dst_traced = smpi_group_rank(group, request->dst);
   int is_wait_for_receive = request->recv;
-  TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__);
+  TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__, -1);
 #endif
   smpi_mpi_wait(&request, &status);
 #ifdef HAVE_TRACING
@@ -347,7 +347,7 @@ static void action_waitall(const char *const *action){
    int rank_traced = smpi_process_index();
    TRACE_smpi_computing_out(rank_traced);
 
-   TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__);
+   TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__, count_requests);
   #endif
 
     smpi_mpi_waitall(count_requests, requests, status);
@@ -380,7 +380,7 @@ static void action_barrier(const char *const *action){
 #ifdef HAVE_TRACING
   int rank = smpi_comm_rank(MPI_COMM_WORLD);
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, smpi_comm_size(MPI_COMM_WORLD));
 #endif
   smpi_mpi_barrier(MPI_COMM_WORLD);
 #ifdef HAVE_TRACING
@@ -414,7 +414,7 @@ static void action_bcast(const char *const *action)
   int rank = smpi_comm_rank(MPI_COMM_WORLD);
   TRACE_smpi_computing_out(rank);
   int root_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), 0);
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 
   smpi_mpi_bcast(NULL, size, MPI_CURRENT_TYPE, root, MPI_COMM_WORLD);
@@ -445,7 +445,7 @@ static void action_reduce(const char *const *action)
   int rank = smpi_comm_rank(MPI_COMM_WORLD);
   TRACE_smpi_computing_out(rank);
   int root_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), 0);
-  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,comm_size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
    mpi_coll_reduce_fun(NULL, NULL, comm_size, MPI_CURRENT_TYPE, MPI_OP_NULL, root, MPI_COMM_WORLD);
    smpi_execute_flops(comp_size);
@@ -468,7 +468,7 @@ static void action_allReduce(const char *const *action) {
 #ifdef HAVE_TRACING
   int rank = smpi_comm_rank(MPI_COMM_WORLD);
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__,comp_size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
   mpi_coll_reduce_fun(NULL, NULL, comm_size, MPI_CURRENT_TYPE, MPI_OP_NULL, 0, MPI_COMM_WORLD);
   smpi_execute_flops(comp_size);
@@ -502,7 +502,7 @@ static void action_allToAll(const char *const *action) {
 #ifdef HAVE_TRACING
   int rank = smpi_process_index();
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__,send_size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 
   mpi_coll_alltoall_fun(send, send_size, MPI_CURRENT_TYPE, recv, recv_size, MPI_CURRENT_TYPE2, MPI_COMM_WORLD);
@@ -554,7 +554,7 @@ static void action_gather(const char *const *action) {
 
 #ifdef HAVE_TRACING
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__,send_size*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 smpi_mpi_gather(send, send_size, MPI_CURRENT_TYPE,
                 recv, recv_size, MPI_CURRENT_TYPE2,
@@ -609,7 +609,7 @@ static void action_reducescatter(const char *const *action) {
 
 #ifdef HAVE_TRACING
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__, recv_sum*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
    mpi_coll_reduce_fun(NULL, NULL, recv_sum, MPI_CURRENT_TYPE, MPI_OP_NULL,
        root, MPI_COMM_WORLD);
@@ -672,7 +672,7 @@ static void action_allgatherv(const char *const *action) {
 #ifdef HAVE_TRACING
   int rank = MPI_COMM_WORLD != MPI_COMM_NULL ? smpi_process_index() : -1;
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__,sendcount*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
 
 mpi_coll_allgatherv_fun(sendbuf, sendcount, MPI_CURRENT_TYPE, recvbuf, recvcounts, disps, MPI_CURRENT_TYPE2, MPI_COMM_WORLD);
@@ -743,7 +743,9 @@ static void action_allToAllv(const char *const *action) {
 #ifdef HAVE_TRACING
   int rank = MPI_COMM_WORLD != MPI_COMM_NULL ? smpi_process_index() : -1;
   TRACE_smpi_computing_out(rank);
-  TRACE_smpi_collective_in(rank, -1, __FUNCTION__);
+  int count=0;
+  for(i=0;i<comm_size;i++) count+=sendcounts[i];
+  TRACE_smpi_collective_in(rank, -1, __FUNCTION__,count*smpi_datatype_size(MPI_CURRENT_TYPE));
 #endif
     mpi_coll_alltoallv_fun(sendbuf, sendcounts, senddisps,     MPI_CURRENT_TYPE,
                                recvbuf, recvcounts, recvdisps, MPI_CURRENT_TYPE,
index 4b99f2b..0a48d50 100755 (executable)
@@ -25,7 +25,6 @@ foreach my $fortran (@ARGV) {
    die "F2C failed\n" if $?;
    open F2C,"<$output" or die "Unable to open file $output";
    my $started = 0;
-   my $cutext = 0;
    print $tmp "#ifndef INTEGER_STAR_8\n";
    print $tmp "#define INTEGER_STAR_8\n";
    print $tmp "#endif\n";
@@ -52,16 +51,7 @@ foreach my $fortran (@ARGV) {
       if(/\/\* Table of constant values \*\// || /MAIN__/) {
          $started = 0;
       }
-      if(/extern \/\* Subroutine \*\//) {
-         $cutext = 1;
-      }
       $_ =~ s/(mpi_[\w]*_)_/$1/g;
-      if($cutext) {
-         if(/;$/) {
-            $cutext = 0;
-         }
-         next;
-      }
       if(/\/* Main program alias \*\/\s*int\s+.*\s*\(\s*\)\s*{(.*)}/) {
          $_ = "int smpi_simulated_main_(int argc, char** argv) { smpi_process_init(&argc, &argv); $1 }\n";
       }
index 264f318..b3aeec0 100644 (file)
@@ -268,8 +268,6 @@ static void cpu_update_resource_state(void *id,
   lmm_variable_t var = NULL;
   lmm_element_t elem = NULL;
 
-  surf_watched_hosts();
-
   if (event_type == cpu->power_event) {
     cpu->power_scale = value;
     lmm_update_constraint_bound(surf_cpu_model->model_private->maxmin_system, cpu->constraint,
@@ -290,9 +288,11 @@ static void cpu_update_resource_state(void *id,
     if (tmgr_trace_event_free(event_type))
       cpu->power_event = NULL;
   } else if (event_type == cpu->state_event) {
-    if (value > 0)
+    if (value > 0) {
+      if(cpu->state_current == SURF_RESOURCE_OFF)
+        xbt_dynar_push_as(host_that_restart, char*, (cpu->generic_resource.name));
       cpu->state_current = SURF_RESOURCE_ON;
-    else {
+    else {
       lmm_constraint_t cnst = cpu->constraint;
 
       cpu->state_current = SURF_RESOURCE_OFF;
index 7084967..127d1ea 100644 (file)
@@ -111,7 +111,7 @@ static surf_cpu_ti_tgmr_t cpu_ti_parse_trace(tmgr_trace_t power_trace,
   if (!power_trace) {
     trace->type = TRACE_FIXED;
     trace->value = value;
-    XBT_DEBUG("No availabily trace. Constant value = %lf", value);
+    XBT_DEBUG("No availability trace. Constant value = %lf", value);
     return trace;
   }
 
@@ -489,7 +489,7 @@ static void cpu_ti_update_actions_state(double now, double delta)
     /* set the remains to 0 due to precision problems when updating the remaining amount */
     GENERIC_ACTION(action).remains = 0;
     cpu_ti_action_state_set((surf_action_t) action, SURF_ACTION_DONE);
-    /* update remaining amout of all actions */
+    /* update remaining amount of all actions */
     cpu_ti_update_remaining_amount(surf_cpu_resource_priv(action->cpu), surf_get_clock());
   }
 #undef GENERIC_ACTION
@@ -502,8 +502,6 @@ static void cpu_ti_update_resource_state(void *id,
   cpu_ti_t cpu = id;
   surf_action_cpu_ti_t action;
 
-  surf_watched_hosts();
-
   if (event_type == cpu->power_event) {
     tmgr_trace_t power_trace;
     surf_cpu_ti_tgmr_t trace;
@@ -533,9 +531,11 @@ static void cpu_ti_update_resource_state(void *id,
       cpu->power_event = NULL;
 
   } else if (event_type == cpu->state_event) {
-    if (value > 0)
+    if (value > 0) {
+      if(cpu->state_current == SURF_RESOURCE_OFF)
+        xbt_dynar_push_as(host_that_restart, char*, (cpu->generic_resource.name));
       cpu->state_current = SURF_RESOURCE_ON;
-    else {
+    else {
       cpu->state_current = SURF_RESOURCE_OFF;
 
       /* put all action running on cpu to failed */
index 5c5504c..373838c 100644 (file)
@@ -42,7 +42,7 @@ typedef struct cpu_ti {
   surf_cpu_ti_tgmr_t avail_trace;       /*< Structure with data needed to integrate trace file */
   e_surf_resource_state_t state_current;        /*< CPU current state (ON or OFF) */
   tmgr_trace_event_t state_event;       /*< trace file with states events (ON or OFF) */
-  tmgr_trace_event_t power_event;       /*< trace file with availabitly events */
+  tmgr_trace_event_t power_event;       /*< trace file with availability events */
   xbt_swag_t action_set;        /*< set with all actions running on cpu */
   s_xbt_swag_hookup_t modified_cpu_hookup;      /*< hookup to swag that indicacates whether share resources must be recalculated or not */
   double sum_priority;          /*< the sum of actions' priority that are running on cpu */
index 0eec4fb..26cdbb0 100644 (file)
@@ -178,7 +178,7 @@ void lagrange_solve(lmm_system_t sys)
   lmm_variable_t var = NULL;
 
   /*
-   * Auxiliar variables.
+   * Auxiliary variables.
    */
   int iteration = 0;
   double tmp = 0;
index 3463fad..a53a97f 100644 (file)
@@ -114,6 +114,8 @@ xbt_dynar_t model_list = NULL;
 tmgr_history_t history = NULL;
 lmm_system_t maxmin_system = NULL;
 xbt_dynar_t surf_path = NULL;
+xbt_dynar_t host_that_restart = NULL;
+xbt_dict_t watched_hosts_lib;
 
 /* Don't forget to update the option description in smx_config when you change this */
 s_surf_model_description_t surf_network_model_description[] = {
@@ -544,6 +546,9 @@ double surf_solve(double max_date)
   tmgr_trace_event_t event = NULL;
   unsigned int iter;
 
+  if(!host_that_restart)
+    host_that_restart = xbt_dynar_new(sizeof(char*), NULL);
+
   if (max_date != -1.0 && max_date != NOW) {
     min = max_date - NOW;
   }
@@ -605,7 +610,9 @@ double surf_solve(double max_date)
             tmgr_history_get_next_event_leq(history, next_event_date,
                                             &value,
                                             (void **) &resource))) {
-      if (resource->model->model_private->resource_used(resource)) {
+      if (resource->model->model_private->resource_used(resource) ||
+          xbt_dict_get_or_null(watched_hosts_lib,resource->name)
+          ) {
         min = next_event_date - NOW;
         XBT_DEBUG
             ("This event will modify model state. Next event set to %f",
@@ -614,7 +621,8 @@ double surf_solve(double max_date)
       /* update state of model_obj according to new value. Does not touch lmm.
          It will be modified if needed when updating actions */
       XBT_DEBUG("Calling update_resource_state for resource %s with min %lf",
-             resource->model->name, min);
+             resource->name, min);
+
       resource->model->model_private->update_resource_state(resource,
                                                             event, value,
                                                             next_event_date);
@@ -668,58 +676,3 @@ static void surf_update_actions_state(surf_model_t model)
   model->model_private->update_actions_state(NOW, min);
 }
 
-
-/* This function is a pimple that we ought to fix. But it won't be easy.
- *
- * The surf_solve() function does properly return the set of actions that changed.
- * Instead, each model change a global data, and then the caller of surf_solve must
- * pick into these sets of action_failed and action_done.
- *
- * This was not clean but ok as long as we didn't had to restart the processes when the resource comes back up.
- * We worked by putting sentinel actions on every resources we are interested in,
- * so that surf informs us if/when the corresponding resource fails.
- *
- * But this does not work to get Simix informed of when a resource comes back up, and this is where this pimple comes.
- * We have a set of resources that are currently down and for which simix needs to know when it comes back up.
- * And the current function is called *at every simulation step* to sweep over that set, searching for a resource
- * that was turned back up in the meanwhile. This is UGLY and slow.
- *
- * The proper solution would be to not rely on globals for the action_failed and action_done swags.
- * They must be passed as parameter by the caller (the handling of these actions in simix may let you
- * think that these two sets can be merged, but their handling in SimDag induce the contrary unless this
- * simdag code can check by itself whether the action is done of failed -- seems very doable, but yet more
- * cleanup to do).
- *
- * Once surf_solve() is passed the set of actions that changed, you want to add a new set of resources back up
- * as parameter to this function. You also want to add a boolean field "restart_watched" to each resource, and
- * make sure that whenever a resource with this field enabled comes back up, it's added to that set so that Simix
- * sees it and react accordingly. This would kill that need for surf to call simix.
- *
- */
-
-static void remove_watched_host(void *key)
-{
-  xbt_dict_remove(watched_hosts_lib, *(char**)key);
-}
-
-void surf_watched_hosts(void)
-{
-  char *key;
-  void *host;
-  xbt_dict_cursor_t cursor;
-  xbt_dynar_t hosts = xbt_dynar_new(sizeof(char*), NULL);
-
-  XBT_DEBUG("Check for host SURF_RESOURCE_ON on watched_hosts_lib");
-  xbt_dict_foreach(watched_hosts_lib,cursor,key,host)
-  {
-    if(SIMIX_host_get_state(host) == SURF_RESOURCE_ON){
-      XBT_INFO("Restart processes on host: %s",SIMIX_host_get_name(host));
-      SIMIX_host_autorestart(host);
-      xbt_dynar_push_as(hosts, char*, key);
-    }
-    else
-      XBT_DEBUG("See SURF_RESOURCE_OFF on host: %s",key);
-  }
-  xbt_dynar_map(hosts, remove_watched_host);
-  xbt_dynar_free(&hosts);
-}
index 5d6b8b5..683f037 100644 (file)
@@ -28,8 +28,6 @@ int SD_STORAGE_LEVEL;           //Simdag storage level
 int COORD_HOST_LEVEL=0;         //Coordinates level
 int NS3_HOST_LEVEL;             //host node for ns3
 
-xbt_dict_t watched_hosts_lib;
-
 /**
  * @ingroup SURF_build_api
  * @brief A library containing all known links
@@ -1006,11 +1004,22 @@ static void routing_parse_postparse(void) {
 static void routing_parse_peer(sg_platf_peer_cbarg_t peer)
 {
   char *host_id = NULL;
-  char *link_id;
+  char *link_id = NULL;
+  char *router_id = NULL;
 
   XBT_DEBUG(" ");
   host_id = HOST_PEER(peer->id);
   link_id = LINK_PEER(peer->id);
+  router_id = ROUTER_PEER(peer->id);
+
+  XBT_DEBUG("<AS id=\"%s\"\trouting=\"Cluster\">", peer->id);
+  s_sg_platf_AS_cbarg_t AS = SG_PLATF_AS_INITIALIZER;
+  AS.id = peer->id;
+  AS.routing = A_surfxml_AS_routing_Cluster;
+  sg_platf_new_AS_begin(&AS);
+
+  current_routing->link_up_down_list
+            = xbt_dynar_new(sizeof(s_surf_parsing_link_up_down_t),NULL);
 
   XBT_DEBUG("<host\tid=\"%s\"\tpower=\"%f\"/>", host_id, peer->power);
   s_sg_platf_host_cbarg_t host;
@@ -1027,7 +1036,6 @@ static void routing_parse_peer(sg_platf_peer_cbarg_t peer)
   host.power_trace = peer->availability_trace;
   host.state_trace = peer->state_trace;
   host.core_amount = 1;
-  host.coord = peer->coord;
   sg_platf_new_host(&host);
 
   s_sg_platf_link_cbarg_t link;
@@ -1058,6 +1066,16 @@ static void routing_parse_peer(sg_platf_peer_cbarg_t peer)
   host_link.link_down= link_down;
   sg_platf_new_host_link(&host_link);
 
+  XBT_DEBUG("<router id=\"%s\"/>", router_id);
+  s_sg_platf_router_cbarg_t router;
+  memset(&router, 0, sizeof(router));
+  router.id = router_id;
+  router.coord = peer->coord;
+  sg_platf_new_router(&router);
+  ((as_cluster_t)current_routing)->router = xbt_lib_get_or_null(as_router_lib, router.id, ROUTING_ASR_LEVEL);
+
+  XBT_DEBUG("</AS>");
+  sg_platf_new_AS_end();
   XBT_DEBUG(" ");
 
   //xbt_dynar_free(&tab_elements_num);
index 0f08c52..50e2dc8 100644 (file)
@@ -19,7 +19,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route_floyd, surf, "Routing part of surf");
 
 typedef struct {
   s_as_t generic_routing;
-  /* vars for calculate the floyd algorith. */
+  /* vars for calculate the floyd algorithm. */
   int *predecessor_table;
   double *cost_table;
   sg_platf_route_cbarg_t *link_table;
index 661240f..e496ca4 100644 (file)
@@ -1078,7 +1078,7 @@ static void init_randomness(void)
 
 static void add_randomness(void)
 {
-  /* If needed aditional properties can be added by using the prop tag */
+  /* If needed, additional properties can be added by using the prop tag */
   random_data_t random =
       random_new(random_generator, 0, random_min, random_max, random_mean,
                  random_std_deviation);
index 2eee32a..0c00bcd 100644 (file)
@@ -66,7 +66,7 @@ static xbt_cfgelm_t xbt_cfgelm_get(xbt_cfg_t cfg, const char *name,
 
 /** @brief Constructor
  *
- * Initialise an config set
+ * Initialise a config set
  */
 
 
@@ -412,9 +412,16 @@ void xbt_cfg_help(xbt_cfg_t cfg)
         printf("'%s'%s", xbt_dynar_get_as(variable->content, i, char *), sep);
         break;
 
-      case xbt_cfgelm_boolean:
-        printf("'%d'%s", xbt_dynar_get_as(variable->content, i, int), sep);
+      case xbt_cfgelm_boolean: {
+        int b = xbt_dynar_get_as(variable->content, i, int);
+        const char *bs = b ? xbt_cfgelm_boolean_values[0].true_val
+                           : xbt_cfgelm_boolean_values[0].false_val;
+        if (b == 0 || b == 1)
+          printf("'%s'%s", bs, sep);
+        else
+          printf("'%s/%d'%s", bs, b, sep);
         break;
+      }
 
       case xbt_cfgelm_peer: {
         xbt_peer_t hval = xbt_dynar_get_as(variable->content, i, xbt_peer_t);
@@ -657,7 +664,7 @@ void xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) {
 
     val = strchr(name, ':');
     if (!val) {
-      free(optionlist_cpy);
+      /* don't free(optionlist_cpy) here, 'name' points inside it */
       xbt_die("Option '%s' badly formated. Should be of the form 'name:value'",
               name);
     }
index c795b76..e035a3a 100644 (file)
@@ -123,11 +123,11 @@ void *xbt_heap_pop(xbt_heap_t H)
   int size = H->size;
   void *max;
 
-  XBT_DEBUG("Heap has %d elements before extraction and max elem was %g",xbt_heap_size(H),xbt_heap_maxkey(H));
-
   if (H->count == 0)
     return NULL;
 
+  XBT_DEBUG("Heap has %d elements before extraction and max elem was %g",xbt_heap_size(H),xbt_heap_maxkey(H));
+
   max = CONTENT(H, 0);
 
   items[0] = items[(H->count) - 1];
index 6d0f265..c501bcc 100644 (file)
@@ -756,7 +756,7 @@ static int compare_heap_area_with_type(void *real_area1, void *real_area2, void
   case e_dw_base_type:
     if((check_ignore > 0) && ((ignore1 = heap_comparison_ignore_size(to_ignore1, real_area1)) > 0) && ((ignore2 = heap_comparison_ignore_size(to_ignore2, real_area2))  == ignore1))
       return 0;
-    if(strcmp(type->name, "char") == 0){ /* Chaine de caractères, donc taille aléatoire */
+    if(strcmp(type->name, "char") == 0){ /* String, hence random (arbitrary ?) size */
       return (memcmp(area1, area2, area_size) != 0);
     }else{
       if(area_size != -1 && type->size != area_size)
index eb09a35..1570b68 100644 (file)
@@ -420,7 +420,7 @@ static void traverse(xbt_set_t set)
     xbt_test_assert(elm, "Dude ! Got a null elm during traversal!");
     xbt_test_log("Id(%u):  %s->%s\n", elm->ID, elm->name, elm->data);
     xbt_test_assert(!strcmp(elm->name, elm->data),
-                     "Key(%s) != value(%s). Abording", elm->name,
+                     "Key(%s) != value(%s). Aborting", elm->name,
                      elm->data);
   }
 }
index 773e3c5..59b050c 100644 (file)
@@ -18,6 +18,8 @@
 
 #include "xbt_modinter.h"       /* prototype of other module's init/exit in XBT */
 
+#include "simgrid/sg_config.h"
+
 XBT_LOG_NEW_CATEGORY(xbt, "All XBT categories (simgrid toolbox)");
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(module, xbt, "module handling");
 
@@ -90,11 +92,11 @@ static void xbt_preinit(void) {
   srand(seed);
   srand48(seed);
 
-  atexit(xbt_postexit);   
 }
 
 static void xbt_postexit(void)
 {
+  if(!sg_cfg_get_boolean("clean_atexit")) return;
   xbt_backtrace_postexit();
   xbt_fifo_postexit();
   xbt_dict_postexit();
index 81d0972..cc0da58 100644 (file)
@@ -9,7 +9,6 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1")
 
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
@@ -32,7 +31,6 @@ if(enable_smpi)
   add_executable(fkeyvaltype fkeyvaltype.c ../util/mtest.c)
   add_executable(keyval_double_free keyval_double_free.c ../util/mtest.c)
 
-
   target_link_libraries(attr2type  simgrid)
   target_link_libraries(attrend2 simgrid)
   target_link_libraries(attrend simgrid)
@@ -51,25 +49,6 @@ if(enable_smpi)
   target_link_libraries(fkeyvaltype simgrid)
   target_link_libraries(keyval_double_free simgrid)
 
-
-  set_target_properties(attr2type  PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrend2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrend PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrerr PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrerrcomm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrerrtype PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attric PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrorder PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrordercomm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrordertype PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(attrt PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(baseattr2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(baseattrcomm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(fkeyval PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(fkeyvalcomm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(fkeyvaltype PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(keyval_double_free PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
index 09827fe..d1539ae 100644 (file)
@@ -97,7 +97,7 @@ int checkAttrs( MPI_Comm comm, int n, int key[], int attrval[] )
        }
        else if (val_p != &attrval[i]) {
            errs++;
-           fprintf( stderr, "Atribute value for key %d not correct\n",
+           fprintf( stderr, "Attribute value for key %d not correct\n",
                     i );
        }
     }
index 852e2d5..209c0a3 100644 (file)
@@ -97,7 +97,7 @@ int checkAttrs( MPI_Comm comm, int n, int key[], int attrval[] )
        }
        else if (val_p != &attrval[i]) {
            errs++;
-           fprintf( stderr, "Atribute value for key %d not correct\n",
+           fprintf( stderr, "Attribute value for key %d not correct\n",
                     i );
        }
     }
index ac7ac61..25cf1d9 100644 (file)
@@ -97,7 +97,7 @@ int checkAttrs( MPI_Datatype type, int n, int key[], int attrval[] )
        }
        else if (val_p != &attrval[i]) {
            errs++;
-           fprintf( stderr, "Atribute value for key %d not correct\n",
+           fprintf( stderr, "Attribute value for key %d not correct\n",
                     i );
        }
     }
index 777eb88..23f0b3d 100644 (file)
@@ -9,11 +9,9 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1 -Wno-error=unused-variable ")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(allgather2 allgather2.c ../util/mtest.c)
   add_executable(allgather3 allgather3.c ../util/mtest.c)
   add_executable(allgatherv2 allgatherv2.c ../util/mtest.c)
@@ -104,8 +102,6 @@ if(enable_smpi)
   add_executable(scatterv scatterv.c ../util/mtest.c)
   add_executable(uoplong uoplong.c ../util/mtest.c)
 
-
-
   target_link_libraries(allgather2  simgrid)
   target_link_libraries(allgather3  simgrid)
   target_link_libraries(allgatherv2  simgrid)
@@ -196,98 +192,6 @@ if(enable_smpi)
   target_link_libraries(scatterv  simgrid)
   target_link_libraries(uoplong  simgrid)
 
-
-
- set_target_properties(allgather2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allgather3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allgatherv2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allgatherv3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allgatherv4 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allred2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allred3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allred4 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allred5 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allred6 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(allred PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(allredmany PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(alltoall1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(alltoallv0 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(alltoallv PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(alltoallw1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(alltoallw2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(alltoallw_zeros PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bcast2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bcast3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bcasttest PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bcastzerotype PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll10 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll11 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll12 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll13 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll4 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll5 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll6 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll7 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll8 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(coll9 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(exscan2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(exscan PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(gather2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(gather2_save PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(gather PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(iallred PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(ibarrier PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icallgather PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icallgatherv PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icallreduce PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icalltoall PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icalltoallv PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icalltoallw PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icbarrier PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icbcast PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icgather PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icgatherv PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icreduce PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icscatter PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icscatterv PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(longuser PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(nonblocking2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(nonblocking3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(nonblocking PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opband PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opbor PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opbxor PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(op_commutative PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opland PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(oplor PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(oplxor PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opmax PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opmaxloc PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opmin PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opminloc PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opprod PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(opsum PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(red3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(red4 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(redscat2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(redscat3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(redscatbkinter PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(redscatblk3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(red_scat_block2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(red_scat_block PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(redscat PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(redscatinter PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(reduce_mpich PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(reduce_local PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(scantst PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(scatter2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(scatter3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(scattern PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(scatterv PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(uoplong PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
index f06b492..564a47f 100644 (file)
 
 int main(int argc, char *argv[])
 {
-    MPI_Request request;
     int size, rank;
+#if defined(TEST_NBC_ROUTINES)
+    MPI_Request request;
     int one = 1, two = 2, isum, sum;
+#endif
     MPI_Init(&argc,&argv);
     MPI_Comm_size(MPI_COMM_WORLD, &size);
     MPI_Comm_rank(MPI_COMM_WORLD, &rank);
index bf2508b..44d6703 100644 (file)
 
 int main(int argc, char *argv[])
 {
+#if defined(TEST_NBC_ROUTINES)
     MPI_Request barrier;
-    int rank,i,done;
+    int i,done;
+#endif
+    int rank;
 
     MPI_Init(&argc,&argv);
     MPI_Comm_rank(MPI_COMM_WORLD,&rank);
-    #if defined(TEST_NBC_ROUTINES)
+#if defined(TEST_NBC_ROUTINES)
     MPI_Ibarrier(MPI_COMM_WORLD,&barrier);
     for (i=0,done=0; !done; i++) {
         usleep(1000);
         /*printf("[%d] MPI_Test: %d\n",rank,i);*/
         MPI_Test(&barrier,&done,MPI_STATUS_IGNORE);
     }
-    #endif
+#endif
     if (rank == 0)
         printf(" No Errors\n");
 
index 94adbc4..b2d022a 100644 (file)
@@ -22,11 +22,11 @@ int main( int argc, char *argv[] )
     int errs = 0, err;
     int leftGroup;
     MPI_Comm comm;
-    MPI_Datatype datatype;
+    /* MPI_Datatype datatype; */
 
     MTest_Init( &argc, &argv );
 
-    datatype = MPI_INT;
+    /* datatype = MPI_INT; */
     /* Get an intercommunicator */
     while (MTestGetIntercomm( &comm, &leftGroup, 4 )) {
         if (comm == MPI_COMM_NULL)
index f30d813..8f49a99 100644 (file)
 /* USE_STRICT_MPI may be defined in mpitestconf.h */
 #include "mpitestconf.h"
 
+#if !defined(USE_STRICT_MPI) && defined(MPICH)
+#define TEST_NBC_ROUTINES 1
+#endif
+
 #define NUM_INTS (2)
 
 #define my_assert(cond_)                                                  \
@@ -29,7 +33,6 @@
 int main(int argc, char **argv)
 {
     int errs = 0;
-    int i;
     int rank, size;
     int *sbuf = NULL;
     int *rbuf = NULL;
@@ -37,9 +40,12 @@ int main(int argc, char **argv)
     int *rcounts = NULL;
     int *sdispls = NULL;
     int *rdispls = NULL;
-    int *types = NULL;
     MPI_Comm comm;
+#if defined(TEST_NBC_ROUTINES)
+    int i;
+    int *types = NULL;
     MPI_Request req;
+#endif
 
     /* intentionally not using MTest_Init/MTest_Finalize in order to make it
      * easy to take this test and use it as an NBC sanity test outside of the
@@ -51,7 +57,7 @@ int main(int argc, char **argv)
     MPI_Comm_size(comm, &size);
     MPI_Comm_rank(comm, &rank);
 
-#if !defined(USE_STRICT_MPI) && defined(MPICH)
+#if defined(TEST_NBC_ROUTINES)
     /* enough space for every process to contribute at least NUM_INTS ints to any
      * collective operation */
     sbuf = malloc(NUM_INTS*size*sizeof(int));
index a323596..bc8a2c2 100644 (file)
@@ -50,7 +50,6 @@ static void sum_fn(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype
 
 int main(int argc, char **argv)
 {
-    int i, j;
     int rank, size;
     int *buf = NULL;
     int *recvbuf = NULL;
@@ -60,8 +59,11 @@ int main(int argc, char **argv)
     int *rdispls = NULL;
     int *sendtypes = NULL;
     int *recvtypes = NULL;
+#if defined(TEST_NBC_ROUTINES)
+    int i, j;
     char *buf_alias = NULL;
     MPI_Request req;
+#endif
 
     MPI_Init(&argc, &argv);
     MPI_Comm_rank(MPI_COMM_WORLD, &rank);
index e072def..2c0ab32 100644 (file)
@@ -749,18 +749,18 @@ static void complete_something_somehow(unsigned int rndnum, int numreqs, MPI_Req
 
 int main(int argc, char **argv)
 {
-    int i, num_posted, num_completed;
     int wrank, wsize;
+#if defined(TEST_NBC_ROUTINES)
+    int i, num_posted, num_completed;
     unsigned int seed = 0x10bc;
     unsigned int post_seq, complete_seq;
-#if defined(TEST_NBC_ROUTINES)
     struct laundry larr[WINDOW];
-#endif
     MPI_Request reqs[WINDOW];
     int outcount;
     int indices[WINDOW];
     MPI_Comm comms[NUM_COMMS];
     MPI_Comm comm;
+#endif
 
     MPI_Init(&argc, &argv);
     MPI_Comm_rank(MPI_COMM_WORLD, &wrank);
index cc2b80a..28043ef 100644 (file)
@@ -51,7 +51,9 @@ int main( int argc, char *argv[] )
 {
     MPI_Op c_uop = MPI_OP_NULL;
     MPI_Op nc_uop = MPI_OP_NULL;
+#if MTEST_HAVE_MIN_MPI_VERSION(2,2)
     int is_commutative = 0;
+#endif
 
     MTest_Init(&argc, &argv);
 
index 3092c8d..7891cb6 100644 (file)
 int main(int argc, char **argv)
 {
     int err = 0;
-    int toterr, size, rank, i, sumval;
+    int toterr, size, rank;
+#if MTEST_HAVE_MIN_MPI_VERSION(2,2)
+    int i, sumval;
     int *sendbuf;
     int *recvbuf;
+#endif
     MPI_Comm comm;
 
     MPI_Init(&argc, &argv);
index 5346905..e98273b 100644 (file)
@@ -70,12 +70,15 @@ void nc_sum(void *a, void *b, int *count, MPI_Datatype *type)
 
 int main( int argc, char **argv )
 {
+#if MTEST_HAVE_MIN_MPI_VERSION(2,2)
     int      *sendbuf;
     int      block_size;
     int      *recvbuf;
-    int      size, rank, i;
-    MPI_Comm comm;
+    int      i;
     MPI_Op left_op, right_op, nc_sum_op;
+#endif
+    int      size, rank;
+    MPI_Comm comm;
 
     MTest_Init( &argc, &argv );
     comm = MPI_COMM_WORLD;
index 9bf6820..6521bb7 100644 (file)
@@ -40,11 +40,13 @@ static void user_op(void *invec, void *inoutvec, int *len, MPI_Datatype *datatyp
 int main( int argc, char *argv[] )
 {
     int errs = 0;
+#if MTEST_HAVE_MIN_MPI_VERSION(2,2)
     int i;
     int *inbuf = NULL;
     int *inoutbuf = NULL;
     int count = -1;
     MPI_Op uop = MPI_OP_NULL;
+#endif
 
     MTest_Init(&argc, &argv);
 #if MTEST_HAVE_MIN_MPI_VERSION(2,2)
index b4b4e9f..aae539a 100644 (file)
@@ -9,11 +9,9 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(cmfree cmfree.c ../util/mtest.c)
   add_executable(cmsplit2 cmsplit2.c ../util/mtest.c)
   add_executable(cmsplit cmsplit.c ../util/mtest.c)
@@ -62,30 +60,6 @@ if(enable_smpi)
   target_link_libraries(icsplit  simgrid)
   target_link_libraries(probe-intercomm  simgrid)
 
- set_target_properties(cmfree PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(cmsplit2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(cmsplit PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(cmsplit_type PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(commcreate1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(comm_create_group PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(comm_group_half PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(comm_group_rand PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(comm_idup PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(comm_info PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(commname PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(ctxalloc PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(ctxsplit PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(dup PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(dupic PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(dup_with_info PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(ic1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(ic2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(iccreate PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icgroup PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icsplit PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(probe-intercomm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
index 02f6a72..093822c 100644 (file)
@@ -9,11 +9,9 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(blockindexed-misc blockindexed-misc.c ../util/mtest.c)
   add_executable(blockindexed-zero-count blockindexed-zero-count.c ../util/mtest.c)
   add_executable(contents contents.c ../util/mtest.c)
@@ -70,8 +68,6 @@ if(enable_smpi)
   add_executable(zeroblks zeroblks.c ../util/mtest.c)
   add_executable(zeroparms zeroparms.c ../util/mtest.c)
 
-
-
   target_link_libraries(blockindexed-misc  simgrid)
   target_link_libraries(blockindexed-zero-count  simgrid)
   target_link_libraries(contents  simgrid)
@@ -128,64 +124,6 @@ if(enable_smpi)
   target_link_libraries(zeroblks  simgrid)
   target_link_libraries(zeroparms  simgrid)
 
-
-
- set_target_properties(blockindexed-misc PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(blockindexed-zero-count PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(contents PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(contigstruct PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(contig-zero-count PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(cxx-types PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(darray-cyclic PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(darray-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(gaddress PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(get-elements PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(get-elements-pairtype PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(getpartelm PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(hindexed_block PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(hindexed_block_contents PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(hindexed-zeros PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(indexed-misc PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(large-count PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS} -Wno-error=implicit-function-declaration")
- set_target_properties(lbub PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(localpack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(longdouble PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(lots-of-types PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(pairtype-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(pairtype-size-extent PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(simple-commit PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(simple-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(simple-pack-external PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(simple-resized PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(simple-size-extent PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sizedtypes PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(slice-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(slice-pack-external PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(struct-derived-zeros PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(struct-empty-el PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(struct-ezhov PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(struct-no-real-types PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(struct-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(struct-verydeep PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(struct-zero-count PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(subarray PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(subarray-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(tfree PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(tmatchsize PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(transpose-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(tresized2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(tresized PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(triangular-pack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(typecommit PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(typefree PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(typelb PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(typename PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(unpack PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(unusual-noncontigs PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(zero-blklen-vector PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(zeroblks PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(zeroparms PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
index 947ec32..90eea4a 100644 (file)
@@ -207,7 +207,7 @@ int main( int argc, char *argv[] )
 int AllocateGrid( int nx, int ny, int **srcArray, int **destArray )
 {
     int *src, *dest;
-    int i, j;
+    int i;
     src = (int *)malloc( nx*ny*sizeof(int) );
     dest = (int *)malloc( nx*ny*sizeof(int) );
     if (!src || !dest) {
index da3fccd..23f8f62 100644 (file)
@@ -15,7 +15,9 @@
 #define TEST_HINDEXED_BLOCK 1
 #endif
 
+#if defined(TEST_HINDEXED_BLOCK)
 static int verbose = 0;
+#endif
 
 /* tests */
 int hindexed_block_contig_test(void);
@@ -27,7 +29,10 @@ static int pack_and_unpack(char *typebuf, int count, MPI_Datatype datatype, int
 
 int main(int argc, char **argv)
 {
-    int err, errs = 0;
+#if defined(TEST_HINDEXED_BLOCK)
+    int err;
+#endif
+    int errs = 0;
     int rank;
 
     MPI_Init(&argc, &argv);     /* MPI-1.2 doesn't allow for MPI_Init(0,0) */
index a272f4f..31f6a2d 100644 (file)
         }                                                                         \
     } while (0)
 
+/* Abort when using unimplemented functions.  Currently, it should not happen,
+ * since sizeof(MPI_Count) == sizeof(int), but it avoids compile errors about
+ * undefined functions. */
+#define err_unimpl(func) do {                                 \
+    fprintf(stderr, "ERROR: %s is not implemented\n", #func); \
+    abort();                                                  \
+  } while (0)
+
+#define MPI_Type_size_x(a,b)              err_unimpl(MPI_Type_size_x)
+#define MPI_Type_get_extent_x(a,b,c)      err_unimpl(MPI_Type_get_extent_x)
+#define MPI_Type_get_true_extent_x(a,b,c) err_unimpl(MPI_Type_get_true_extent_x)
+#define MPI_Get_elements_x(a,b,c)         err_unimpl(MPI_Get_elements_x)
+#define MPI_Status_set_elements_x(a,b,c)  err_unimpl(MPI_Status_set_elements_x)
+
 int main(int argc, char *argv[])
 {
     int errs = 0;
index 43f421c..6465944 100644 (file)
@@ -68,9 +68,9 @@ int builtin_float_test(void)
 {
     int nints, nadds, ntypes, combiner;
 
-    int err, errs = 0;
+    int /* err, */ errs = 0;
 
-    err = MPI_Type_get_envelope(MPI_FLOAT,
+    /* err = */ MPI_Type_get_envelope(MPI_FLOAT,
                                &nints,
                                &nadds,
                                &ntypes,
@@ -219,7 +219,7 @@ int optimizable_vector_of_basics_test(void)
     int i;
     MPI_Aint sizeofint, sizeoftype, position;
 
-    int err, errs = 0;
+    int /* err, */ errs = 0;
 
     MPI_Pack_external_size((char*)"external32", 1, MPI_INT, &sizeofint);
 
@@ -231,7 +231,7 @@ int optimizable_vector_of_basics_test(void)
     }
 
     /* set up type */
-    err = MPI_Type_vector(10,
+    /* err = */ MPI_Type_vector(10,
                          2,
                          2,
                          MPI_INT,
@@ -251,7 +251,7 @@ int optimizable_vector_of_basics_test(void)
     buf = (char *) malloc(sizeoftype);
 
     position = 0;
-    err = MPI_Pack_external((char*)"external32",
+    /* err = */ MPI_Pack_external((char*)"external32",
                            array,
                            1,
                            parent_type,
@@ -267,7 +267,7 @@ int optimizable_vector_of_basics_test(void)
 
     memset(array, 0, 20 * sizeof(int));
     position = 0;
-    err = MPI_Unpack_external((char*)"external32",
+    /* err = */ MPI_Unpack_external((char*)"external32",
                              buf,
                              sizeoftype,
                              &position,
@@ -313,7 +313,7 @@ int struct_of_basics_test(void)
     MPI_Aint indices[10];
     MPI_Datatype types[10];
 
-    int err, errs = 0;
+    int /* err, */ errs = 0;
 
     MPI_Pack_external_size((char*)"external32", 1, MPI_INT, &sizeofint);
 
@@ -333,7 +333,7 @@ int struct_of_basics_test(void)
     }
 
     /* set up type */
-    err = MPI_Type_struct(10,
+    /* err = */ MPI_Type_struct(10,
                          blocks,
                          indices,
                          types,
@@ -352,7 +352,7 @@ int struct_of_basics_test(void)
     buf = (char *) malloc(sizeoftype);
 
     position = 0;
-    err = MPI_Pack_external((char*)"external32",
+    /* err = */ MPI_Pack_external((char*)"external32",
                            array,
                            1,
                            parent_type,
@@ -368,7 +368,7 @@ int struct_of_basics_test(void)
 
     memset(array, 0, 20 * sizeof(int));
     position = 0;
-    err = MPI_Unpack_external((char*)"external32",
+    /* err = */ MPI_Unpack_external((char*)"external32",
                              buf,
                              sizeoftype,
                              &position,
index d2119cd..6e7b244 100644 (file)
@@ -69,9 +69,9 @@ int builtin_float_test(void)
 {
     int nints, nadds, ntypes, combiner;
 
-    int err, errs = 0;
+    int /* err, */ errs = 0;
 
-    err = MPI_Type_get_envelope(MPI_FLOAT,
+    /* err = */ MPI_Type_get_envelope(MPI_FLOAT,
                                &nints,
                                &nadds,
                                &ntypes,
@@ -217,7 +217,7 @@ int optimizable_vector_of_basics_test(void)
     char *buf;
     int i, sizeofint, sizeoftype, position;
 
-    int err, errs = 0;
+    int /* err, */ errs = 0;
 
     MPI_Type_size(MPI_INT, &sizeofint);
 
@@ -228,7 +228,7 @@ int optimizable_vector_of_basics_test(void)
     }
 
     /* set up type */
-    err = MPI_Type_vector(10,
+    /* err = */ MPI_Type_vector(10,
                          2,
                          2,
                          MPI_INT,
@@ -247,7 +247,7 @@ int optimizable_vector_of_basics_test(void)
     buf = (char *) malloc(sizeoftype);
 
     position = 0;
-    err = MPI_Pack(array,
+    /* err = */ MPI_Pack(array,
                   1,
                   parent_type,
                   buf,
@@ -263,7 +263,7 @@ int optimizable_vector_of_basics_test(void)
 
     memset(array, 0, 20 * sizeof(int));
     position = 0;
-    err = MPI_Unpack(buf,
+    /* err = */ MPI_Unpack(buf,
                     sizeoftype,
                     &position,
                     array,
index 5bd6a72..1cd2202 100644 (file)
@@ -25,7 +25,7 @@ int main(int argc, char *argv[])
     MPI_Datatype row, xpose;
     MPI_Aint sizeofint;
        
-    int err, errs = 0;
+    int /* err, */ errs = 0;
     int bufsize, position = 0;
     void *buffer;
   
@@ -58,7 +58,7 @@ int main(int argc, char *argv[])
        change the error handler to errors return */
     MPI_Comm_set_errhandler( MPI_COMM_WORLD, MPI_ERRORS_RETURN );
 
-    err = MPI_Pack(a,
+    /* err = */ MPI_Pack(a,
                   1,
                   xpose,
                   buffer,
@@ -68,7 +68,7 @@ int main(int argc, char *argv[])
        
     /* Unpack the buffer into b. */
     position = 0;
-    err = MPI_Unpack(buffer,
+    /* err = */ MPI_Unpack(buffer,
                     bufsize,
                     &position,
                     b,
index 6cca958..9a21317 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,7 +9,6 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable -Wno-implicit -Wno-implicit-function-declaration")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../include/")
 
@@ -33,17 +32,6 @@ if(enable_smpi)
   target_link_libraries(typeattr3f  simgrid)
   target_link_libraries(typeattrf  simgrid)
 
-
-  set_target_properties(attrmpi1f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(baseattr2f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(baseattrf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(commattr2f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(commattr3f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(commattrf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typeattr2f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typeattr3f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typeattrf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
@@ -56,16 +44,16 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/attraints.h 
- ${CMAKE_CURRENT_SOURCE_DIR}/attrmpi1f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/baseattr2f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/baseattrf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/commattr2f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/commattr3f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/commattrf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typeattr2f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typeattr3f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typeattrf.f 
+  ${CMAKE_CURRENT_SOURCE_DIR}/attraints.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/attrmpi1f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/baseattr2f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/baseattrf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/commattr2f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/commattr3f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/commattrf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typeattr2f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typeattr3f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typeattrf.f
   PARENT_SCOPE
   )
 set(bin_files
index 0551613..7f5aad9 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,7 +9,6 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable -Wno-implicit -Wno-implicit-function-declaration")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
@@ -43,21 +42,6 @@ if(enable_smpi)
   target_link_libraries(uallreducef  simgrid)
   target_link_libraries(vw_inplacef  simgrid)
 
-  set_target_properties(allredint8f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(allredopttf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(alltoallvf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(alltoallwf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(exscanf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(inplacef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-#  set_target_properties(nonblockingf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-#  set_target_properties(nonblocking_inpf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(red_scat_blockf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(redscatf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(reducelocalf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(split_typef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(uallreducef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(vw_inplacef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
@@ -70,20 +54,20 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/allredint8f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/allredopttf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/alltoallvf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/alltoallwf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/exscanf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/inplacef.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/nonblockingf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/nonblocking_inpf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/red_scat_blockf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/redscatf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/reducelocalf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/split_typef.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/uallreducef.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/vw_inplacef.f 
+  ${CMAKE_CURRENT_SOURCE_DIR}/allredint8f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/allredopttf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/alltoallvf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/alltoallwf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/exscanf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/inplacef.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/nonblockingf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/nonblocking_inpf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/red_scat_blockf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/redscatf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/reducelocalf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/split_typef.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/uallreducef.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/vw_inplacef.f
   PARENT_SCOPE
   )
 set(bin_files
index 28822ea..80bbfe2 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,20 +9,15 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable -Wno-implicit -Wno-implicit-function-declaration")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
  # add_executable(commerrf commerrf.f ../util/mtestf.f)
   add_executable(commnamef commnamef.f ../util/mtestf.f)
 
  # target_link_libraries(commerrf  simgrid)
   target_link_libraries(commnamef  simgrid)
 
-# set_target_properties(commerrf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(commnamef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
@@ -35,8 +30,8 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/commerrf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/commnamef.f 
+  ${CMAKE_CURRENT_SOURCE_DIR}/commerrf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/commnamef.f
   PARENT_SCOPE
   )
 set(bin_files
index e293d83..c333933 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,7 +9,6 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable -Wno-implicit -Wno-implicit-function-declaration")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
@@ -39,19 +38,6 @@ if(enable_smpi)
   target_link_libraries(typesnamef  simgrid)
   target_link_libraries(typesubf  simgrid)
 
-  set_target_properties(allctypesf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(gaddressf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(hindex1f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(hindexed_blockf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(packef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typeaints PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typecntsf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typem2f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typename3f PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typenamef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typesnamef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typesubf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
@@ -64,18 +50,18 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/allctypesf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/gaddressf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/hindex1f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/hindexed_blockf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/packef.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typeaints.h 
- ${CMAKE_CURRENT_SOURCE_DIR}/typecntsf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typem2f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typename3f.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typenamef.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typesnamef.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/typesubf.f 
+  ${CMAKE_CURRENT_SOURCE_DIR}/allctypesf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/gaddressf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/hindex1f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/hindexed_blockf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/packef.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typeaints.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/typecntsf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typem2f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typename3f.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typenamef.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typesnamef.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/typesubf.f
   PARENT_SCOPE
   )
 set(bin_files
index c83b418..f336884 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,11 +9,9 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable -Wno-implicit -Wno-implicit-function-declaration")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(add1size add1size.h ../util/mtestf.f)
 #  add_executable(allocmemf allocmemf.f ../util/mtestf.f)
 #  add_executable(c2f2cf c2f2cf.f c2f2c.c ../util/mtestf.f)
@@ -24,11 +22,6 @@ if(enable_smpi)
 #  target_link_libraries(c2f2cf  simgrid)
 #  target_link_libraries(ctypesinf  simgrid)
 
- set_target_properties(add1size PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(allocmemf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(c2f2cf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-# set_target_properties(ctypesinf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
@@ -41,12 +34,13 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/add1size.h 
- ${CMAKE_CURRENT_SOURCE_DIR}/allocmemf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/c2f2cf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/c2f2c.c
- ${CMAKE_CURRENT_SOURCE_DIR}/ctypesinf.f
- ${CMAKE_CURRENT_SOURCE_DIR}/ctypesfromc.c
+  ${CMAKE_CURRENT_SOURCE_DIR}/add1size.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/allocmemf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/c2f2c.c
+  ${CMAKE_CURRENT_SOURCE_DIR}/c2f2cf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/c2fmult.c
+  ${CMAKE_CURRENT_SOURCE_DIR}/ctypesfromc.c
+  ${CMAKE_CURRENT_SOURCE_DIR}/ctypesinf.f
   PARENT_SCOPE
   )
 set(bin_files
index 5a7866e..50a6884 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,13 +9,11 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable -Wno-implicit -Wno-implicit-function-declaration")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
   add_executable(baseenvf baseenvf.f ../util/mtestf.f)
   target_link_libraries(baseenvf  simgrid)
-  set_target_properties(baseenvf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
 
 endif()
 
@@ -29,7 +27,8 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/baseenvf.f 
+  ${CMAKE_CURRENT_SOURCE_DIR}/baseenvf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/checksizes.c
   PARENT_SCOPE
   )
 set(bin_files
index 5e4e0fa..114e424 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -10,11 +10,9 @@ if(enable_smpi)
 
   set(CMAKE_INCLUDE_CURRENT_DIR ON)
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable -Wno-implicit -Wno-implicit-function-declaration")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(allpairf allpairf.f ../util/mtestf.f)
   add_executable(greqf greqf.f dummyf.f ../util/mtestf.f)
   #add_executable(mprobef mprobef.f ../util/mtestf.f)
@@ -25,11 +23,6 @@ if(enable_smpi)
   #target_link_libraries(mprobef  simgrid)
   target_link_libraries(statusesf  simgrid)
 
- set_target_properties(allpairf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(greqf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- #set_target_properties(mprobef PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(statusesf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
@@ -42,12 +35,12 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/allpairf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/attr1aints.h 
- ${CMAKE_CURRENT_SOURCE_DIR}/dummyf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/greqf.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/mprobef.f 
- ${CMAKE_CURRENT_SOURCE_DIR}/statusesf.f 
+  ${CMAKE_CURRENT_SOURCE_DIR}/allpairf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/attr1aints.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/dummyf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/greqf.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/mprobef.f
+  ${CMAKE_CURRENT_SOURCE_DIR}/statusesf.f
   PARENT_SCOPE
   )
 set(bin_files
index a2d349c..361f481 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,7 +9,6 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
 
   add_executable(allredint8f90 allredint8f90.f90 ../util/mtestf90.f90)
@@ -40,20 +39,6 @@ if(enable_smpi)
   target_link_libraries(split_typef90  simgrid)
   target_link_libraries(uallreducef90  simgrid)
   target_link_libraries(vw_inplacef90  simgrid)
-  set_target_properties(allredint8f90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(allredopttf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(alltoallvf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(alltoallwf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(exscanf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(inplacef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(nonblockingf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(nonblocking_inpf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(red_scat_blockf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(redscatf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(reducelocalf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(split_typef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(uallreducef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(vw_inplacef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
 
 endif()
 
@@ -67,20 +52,20 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/allredint8f90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/allredopttf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/alltoallvf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/alltoallwf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/exscanf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/inplacef90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/nonblockingf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/nonblocking_inpf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/red_scat_blockf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/redscatf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/reducelocalf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/split_typef90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/uallreducef90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/vw_inplacef90.f90 
+  ${CMAKE_CURRENT_SOURCE_DIR}/allredint8f90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/allredopttf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/alltoallvf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/alltoallwf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/exscanf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/inplacef90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/nonblockingf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/nonblocking_inpf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/red_scat_blockf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/redscatf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/reducelocalf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/split_typef90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/uallreducef90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/vw_inplacef90.f90
   PARENT_SCOPE
   )
 set(bin_files
index f03c073..0b7406d 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,7 +9,6 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
 
   add_executable(allctypesf90 allctypesf90.f90 ../util/mtestf90.f90)
@@ -50,25 +49,6 @@ if(enable_smpi)
   target_link_libraries(typenamef90  simgrid)
   target_link_libraries(typesnamef90  simgrid)
   target_link_libraries(typesubf90  simgrid)
-  set_target_properties(allctypesf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(createf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(gaddressf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(get_elem_d PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(get_elem_u PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(hindex1f90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(hindexed_blockf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(indtype PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(kinds PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(packef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(sizeof PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(structf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- # set_target_properties(trf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typecntsf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typem2f90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typename3f90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typenamef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typesnamef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(typesubf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
 
 endif()
 
@@ -82,25 +62,25 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/allctypesf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/createf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/gaddressf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/get_elem_d.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/get_elem_u.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/hindex1f90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/hindexed_blockf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/indtype.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/kinds.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/packef90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/sizeof.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/structf.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/trf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/typecntsf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/typem2f90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/typename3f90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/typenamef90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/typesnamef90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/typesubf90.f90 
+  ${CMAKE_CURRENT_SOURCE_DIR}/allctypesf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/createf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/gaddressf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/get_elem_d.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/get_elem_u.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/hindex1f90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/hindexed_blockf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/indtype.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/kinds.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/packef90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/sizeof.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/structf.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/trf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/typecntsf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/typem2f90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/typename3f90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/typenamef90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/typesnamef90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/typesubf90.f90
   PARENT_SCOPE
   )
 set(bin_files
index e4d1d80..7234ddb 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,12 +9,10 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
 
   add_executable(baseenvf90 baseenvf90.f90 ../util/mtestf90.f90)
   target_link_libraries(baseenvf90  simgrid)
-  set_target_properties(baseenvf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
 
 endif()
 
@@ -28,7 +26,7 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/baseenvf90.f90 
+  ${CMAKE_CURRENT_SOURCE_DIR}/baseenvf90.f90
   PARENT_SCOPE
   )
 set(bin_files
index 3766a83..65f99ff 100644 (file)
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 2.6)
 
-if(enable_smpi)
+if(enable_smpi AND SMPI_F2C)
   if(WIN32)
     set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
   else()
@@ -9,7 +9,6 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
 
   add_executable(allpairf90 allpairf90.f90 ../util/mtestf90.f90)
@@ -20,10 +19,6 @@ if(enable_smpi)
   target_link_libraries(greqf90  simgrid)
 #  target_link_libraries(mprobef90  simgrid)
   target_link_libraries(statusesf90  simgrid)
-  set_target_properties(allpairf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(greqf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-#  set_target_properties(mprobef90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-  set_target_properties(statusesf90 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
 
 endif()
 
@@ -37,11 +32,11 @@ set(xml_files
   )
 set(examples_src
   ${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/allpairf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/dummyf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/greqf90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/mprobef90.f90 
- ${CMAKE_CURRENT_SOURCE_DIR}/statusesf90.f90 
+  ${CMAKE_CURRENT_SOURCE_DIR}/allpairf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/dummyf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/greqf90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/mprobef90.f90
+  ${CMAKE_CURRENT_SOURCE_DIR}/statusesf90.f90
   PARENT_SCOPE
   )
 set(bin_files
index e80885f..f801d34 100644 (file)
@@ -9,11 +9,9 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(groupcreate groupcreate.c ../util/mtest.c)
   add_executable(groupnullincl groupnullincl.c ../util/mtest.c)
   add_executable(grouptest2 grouptest2.c ../util/mtest.c)
@@ -21,8 +19,6 @@ if(enable_smpi)
   add_executable(gtranks gtranks.c ../util/mtest.c)
   add_executable(gtranksperf gtranksperf.c ../util/mtest.c)
 
-
-
   target_link_libraries(groupcreate  simgrid)
   target_link_libraries(groupnullincl  simgrid)
   target_link_libraries(grouptest2  simgrid)
@@ -30,15 +26,6 @@ if(enable_smpi)
   target_link_libraries(gtranks  simgrid)
   target_link_libraries(gtranksperf  simgrid)
 
-
-
- set_target_properties(groupcreate PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(groupnullincl PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(grouptest2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(grouptest PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(gtranks PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(gtranksperf PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
index 4f24eea..c9696b3 100644 (file)
@@ -9,11 +9,9 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(attrself attrself.c ../util/mtest.c)
   add_executable(exitst1 exitst1.c ../util/mtest.c)
   add_executable(exitst2 exitst2.c ../util/mtest.c)
@@ -24,8 +22,6 @@ if(enable_smpi)
   add_executable(timeout timeout.c ../util/mtest.c)
   add_executable(version version.c ../util/mtest.c)
 
-
-
   target_link_libraries(attrself  simgrid)
   target_link_libraries(exitst1  simgrid)
   target_link_libraries(exitst2  simgrid)
@@ -36,18 +32,6 @@ if(enable_smpi)
   target_link_libraries(timeout  simgrid)
   target_link_libraries(version  simgrid)
 
-
-
- set_target_properties(attrself PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(exitst1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(exitst2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(exitst3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(finalized PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(initstat PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(library_version PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(timeout PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(version PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
index 9f68ce2..2339805 100644 (file)
@@ -92,7 +92,7 @@ int checkAttrs( MPI_Comm comm, int n, int lkey[], int attrval[] )
        }
        else if (val_p != &attrval[i]) {
            lerrs++;
-           fprintf( stderr, "Atribute value for key %d not correct\n",
+           fprintf( stderr, "Attribute value for key %d not correct\n",
                     i );
        }
     }
index 5d5d7d7..d00d710 100644 (file)
@@ -9,11 +9,9 @@ if(enable_smpi)
   endif()
 
   set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-  set(MPICH_FLAGS "-DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1  -Wno-error=unused-variable")
   include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
   include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../include/")
 
-
   add_executable(anyall anyall.c ../util/mtest.c)
   add_executable(bottom bottom.c ../util/mtest.c)
   add_executable(bsend1 bsend1.c ../util/mtest.c)
@@ -51,8 +49,6 @@ if(enable_smpi)
   add_executable(waitany-null waitany-null.c ../util/mtest.c)
   add_executable(waittestnull waittestnull.c ../util/mtest.c)
 
-
-
   target_link_libraries(anyall  simgrid)
   target_link_libraries(bottom  simgrid)
   target_link_libraries(bsend1  simgrid)
@@ -90,45 +86,6 @@ if(enable_smpi)
   target_link_libraries(waitany-null  simgrid)
   target_link_libraries(waittestnull  simgrid)
 
-
-
- set_target_properties(anyall PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bottom PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsend1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsend2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsend3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsend4 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsend5 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsendalign PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsendfrag PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(bsendpending PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(cancelrecv PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(eagerdt PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(greq1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(icsend PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(inactivereq PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(isendself PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(isendselfprobe PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(large_message PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(mprobe PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(pingping PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(probenull PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(probe-unexp PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(pscancel PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(rcancel PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(rqfreeb PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(rqstatus PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(scancel2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(scancel PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendall PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendflood PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendrecv1 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendrecv2 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendrecv3 PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(sendself PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(waitany-null PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
- set_target_properties(waittestnull PROPERTIES COMPILE_FLAGS "${MPICH_FLAGS}")
-
 endif()
 
 set(tesh_files
index 9b900e3..fdea000 100644 (file)
@@ -8,7 +8,7 @@
 #include "mpi.h"
 #include "mpitest.h"
 
-/* Test bsend with a buffer with arbitray alignment */
+/* Test bsend with a buffer with arbitrary alignment */
 #define BUFSIZE 2000*4
 int main( int argc, char *argv[] )
 {
index db3d275..b8a6d09 100644 (file)
@@ -13,7 +13,7 @@
 
 int main(int argc, char *argv[]) 
 {
-  int        ierr,i,size,rank;
+  int        /* ierr, */ i,size,rank;
   int        cnt = 270000000;
   MPI_Status status;
   long long  *cols;
@@ -29,8 +29,8 @@ int main(int argc, char *argv[])
       return 0;
   }
 
-  ierr = MPI_Comm_size(MPI_COMM_WORLD,&size);
-  ierr = MPI_Comm_rank(MPI_COMM_WORLD,&rank);
+  /* ierr = */ MPI_Comm_size(MPI_COMM_WORLD,&size);
+  /* ierr = */ MPI_Comm_rank(MPI_COMM_WORLD,&rank);
   if (size != 3) {
     fprintf(stderr,"[%d] usage: mpiexec -n 3 %s\n",rank,argv[0]);
     MPI_Abort(MPI_COMM_WORLD,1);
@@ -48,12 +48,12 @@ int main(int argc, char *argv[])
   if (rank == 0) {
     for (i=0; i<cnt; i++) cols[i] = i;
     /* printf("[%d] sending...\n",rank);*/
-    ierr = MPI_Send(cols,cnt,MPI_LONG_LONG_INT,1,0,MPI_COMM_WORLD);
-    ierr = MPI_Send(cols,cnt,MPI_LONG_LONG_INT,2,0,MPI_COMM_WORLD);
+    /* ierr = */ MPI_Send(cols,cnt,MPI_LONG_LONG_INT,1,0,MPI_COMM_WORLD);
+    /* ierr = */ MPI_Send(cols,cnt,MPI_LONG_LONG_INT,2,0,MPI_COMM_WORLD);
   } else {
       /* printf("[%d] receiving...\n",rank); */
     for (i=0; i<cnt; i++) cols[i] = -1;
-    ierr = MPI_Recv(cols,cnt,MPI_LONG_LONG_INT,0,0,MPI_COMM_WORLD,&status);
+    /* ierr = */ MPI_Recv(cols,cnt,MPI_LONG_LONG_INT,0,0,MPI_COMM_WORLD,&status);
     /* ierr = MPI_Get_count(&status,MPI_LONG_LONG_INT,&cnt);
        Get_count still fails because status.count is not 64 bit */
     for (i=0; i<cnt; i++) {
index b45834e..c48d871 100644 (file)
 int main(int argc, char **argv)
 {
     int errs = 0;
-    int found, completed;
     int rank, size;
+#ifdef TEST_MPROBE_ROUTINES
+    int found, completed;
     int sendbuf[8], recvbuf[8];
     int count;
-#ifdef TEST_MPROBE_ROUTINES
     MPI_Message msg;
-#endif
     MPI_Request rreq;
     MPI_Status s1, s2;
+#endif
 
     MPI_Init(&argc, &argv);
 
index 49714c9..e32e5f1 100644 (file)
@@ -15,7 +15,7 @@ static char MTEST_Descrip[] = "Test of various send cancel calls";
 int main( int argc, char *argv[] )
 {
     int errs = 0;
-    int rank, size, source, dest;
+    int rank, size, /* source, */ dest;
     MPI_Comm      comm;
     MPI_Status    status;
     MPI_Request   req;
@@ -33,7 +33,7 @@ int main( int argc, char *argv[] )
     MPI_Comm_rank( comm, &rank );
     MPI_Comm_size( comm, &size );
 
-    source = 0;
+    /* source = 0; */
     dest   = size - 1;
 
     for (cs=0; cs<4; cs++) {
index c78b122..7c8cf65 100644 (file)
@@ -15,7 +15,7 @@ static char MTEST_Descrip[] = "Test of various send cancel calls";
 int main( int argc, char *argv[] )
 {
     int errs = 0;
-    int rank, size, source, dest;
+    int rank, size, /* source, */ dest;
     MPI_Comm      comm;
     MPI_Status    status;
     MPI_Request   req;
@@ -33,7 +33,7 @@ int main( int argc, char *argv[] )
     MPI_Comm_rank( comm, &rank );
     MPI_Comm_size( comm, &size );
 
-    source = 0;
+    /* source = 0; */
     dest   = size - 1;
 
     MTestPrintfMsg( 1, "Starting scancel test\n" );
index 3c5a3c8..88188fe 100755 (executable)
@@ -83,7 +83,7 @@ $depth = 0;              # This is used to manage multiple open list files
 
 # Build flags
 $remove_this_pgm = 0;
-$clean_pgms      = 1;
+$clean_pgms      = 0;
 
 my $program_wrapper = '';
 
@@ -753,6 +753,11 @@ sub AddMPIProgram {
 # Return value is 0 on success, non zero on failure
 sub BuildMPIProgram {
     my $programname = shift;
+    if (! -x $programname) {
+        die "Could not find $programname. Aborting.\n";
+    }
+    return 0;
+    # THE FOLLOWING IS DISABLED.
     my $xfail = shift;
     my $rc = 0;
     if ($verbose) { print STDERR "making $programname\n"; }
index 4ded2ab..6112c8f 100644 (file)
@@ -8,8 +8,10 @@
 - Makefile
 - doc/html/.*
 
++ \.classpath
 + \.cproject
 + \.gitignore
++ \.project
 + README\.(coding|git)
 + mk_win-dist.sh
 
 + src/smpi/replace_globals\.cocci
 + src/smpi/replace_static\.cocci
 
-+ teshsuite/smpi/mpich-test/coll/bcast2\.f
-+ teshsuite/smpi/mpich-test/coll/nbcoll\.c
-+ teshsuite/smpi/mpich-test/coll/shortint\.c
-+ teshsuite/smpi/mpich-test/coll/temprun
-+ teshsuite/smpi/mpich-test/context/attrt\.c
-+ teshsuite/smpi/mpich-test/context/commnames\.c
-+ teshsuite/smpi/mpich-test/env/argstest\.c
-+ teshsuite/smpi/mpich-test/env/cmdline\.c
-+ teshsuite/smpi/mpich-test/env/errhand2\.c
-+ teshsuite/smpi/mpich-test/env/hang\.c
-+ teshsuite/smpi/mpich-test/pt2pt/fairness/README
-+ teshsuite/smpi/mpich-test/pt2pt/fairness/fairness-euih\.c
-+ teshsuite/smpi/mpich-test/pt2pt/fairness/fairness\.c
-+ teshsuite/smpi/mpich-test/pt2pt/fairness/fairness2\.c
-+ teshsuite/smpi/mpich-test/pt2pt/fairness/fairness2m\.c
-+ teshsuite/smpi/mpich-test/pt2pt/fairness/fairnessm\.c
-+ teshsuite/smpi/mpich-test/pt2pt/isndrcv2\.c
-+ teshsuite/smpi/mpich-test/pt2pt/mpitest\.h
-+ teshsuite/smpi/mpich-test/pt2pt/systest\.c
-+ teshsuite/smpi/mpich-test/pt2pt/systest1\.c
-+ teshsuite/smpi/mpich-test/pt2pt/testhetero
-+ teshsuite/smpi/mpich-test/topol/cart\.c
-+ teshsuite/smpi/mpich-test/topol/cart1f\.f
-+ teshsuite/smpi/mpich-test/topol/cart2\.c
-+ teshsuite/smpi/mpich-test/topol/cart2f\.f
-+ teshsuite/smpi/mpich-test/topol/cartc\.f90
-+ teshsuite/smpi/mpich-test/topol/cartf\.f
-+ teshsuite/smpi/mpich-test/topol/cartf\.std
-+ teshsuite/smpi/mpich-test/topol/cartmap\.c
-+ teshsuite/smpi/mpich-test/topol/cartmap\.std
-+ teshsuite/smpi/mpich-test/topol/cartorder\.c
-+ teshsuite/smpi/mpich-test/topol/dims\.c
-+ teshsuite/smpi/mpich-test/topol/graphtest\.c
-+ teshsuite/smpi/mpich-test/topol/graphtest\.std
-+ teshsuite/smpi/mpich-test/topol/test\.c
-+ teshsuite/smpi/mpich-test/topol/test\.h
-+ teshsuite/smpi/mpich-test/topol/twod\.f
-+ teshsuite/smpi/mpich-test/topol/twod2\.f
++ teshsuite/smpi/mpich3-test/f77/attr/.*
 
 + tools/check_dist_archive
 + tools/check_dist_archive\.exclude
+
++ tools/spell/.*
diff --git a/tools/spell/lspell.pl b/tools/spell/lspell.pl
new file mode 100644 (file)
index 0000000..ef09839
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/perl
+
+# C comment spell checker
+# For each given source file, print the filename, a colon, and the number
+# of misspelled words, then a list of misspelled words.
+# Words contained in the file stopwords.txt are not considered spelling errors.
+# Copyright 2003, Dan Kegel.  Licensed under GPL.  See the file ../COPYING for details.
+
+sub check_content($) {
+       my $content = shift;
+       $content =~ tr/*/ /;
+       print POUT "$content\n";
+}
+
+$TEMPFILE="/tmp/spell.tmp";
+$STOPFILE=shift(@ARGV);
+
+open(STOPFILE, $STOPFILE) || die "can't open stopword file $STOPFILE";
+while (<STOPFILE>) {
+       chomp;
+       $stopped{$_}++;
+}
+close(STOPFILE);
+
+foreach $file (@ARGV) {
+       open (FI, $file) || die $file;
+       $content = join ("", <FI>);
+       close (FI);
+
+       open(POUT, "> $TEMPFILE") || die;
+       $content =~ s!//(.+)$!check_content($1)!egm;
+       $content =~ s!/\*(.+?)\*/!check_content($1)!egs;
+       close(POUT);
+
+       open(PIN, "ispell -d american -l < $TEMPFILE | sort -uf |") || die;
+       undef @badwords;
+       while (<PIN>) {
+               chomp;
+               if ($stopped{$_} == 0) {
+                       push(@badwords, $_);
+               }
+       }
+       close(PIN) || die;
+
+       if (@badwords) {
+               print "$file: ".scalar(@badwords)."\n\n";
+               print join(" ",@badwords)."\n\n";
+       }
+}
diff --git a/tools/spell/lspell2.pl b/tools/spell/lspell2.pl
new file mode 100644 (file)
index 0000000..2532575
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/perl
+
+# C noncomment spell checker
+# For each given source file, print the filename, a colon, and the number
+# of misspelled words, then a list of misspelled words.
+# Words contained in the file stopwords.txt are not considered spelling errors.
+# Copyright 2003, Dan Kegel.  Licensed under GPL.  See the file ../COPYING for details.
+
+sub check_content($) {
+       my $content = shift;
+       $content =~ tr/*/ /;
+       print POUT "$content\n";
+}
+
+$TEMPFILE="/tmp/spell.tmp";
+$STOPFILE=shift(@ARGV);
+
+open(STOPFILE, $STOPFILE) || die "can't open stopword file $STOPFILE";
+while (<STOPFILE>) {
+       chomp;
+       $stopped{$_}++;
+}
+close(STOPFILE);
+
+foreach $file (@ARGV) {
+       open (FI, $file) || die $file;
+       $content = join ("", <FI>);
+       close (FI);
+
+       open(POUT, "> $TEMPFILE") || die;
+       $content =~ s!//(.+)$! !gm;
+       $content =~ s!/\*(.+?)\*/! !gs;
+       print POUT $content;
+       close(POUT);
+
+       open(PIN, "ispell -d american -l < $TEMPFILE | sort -uf |") || die;
+       undef @badwords;
+       while (<PIN>) {
+               chomp;
+               if ($stopped{$_} == 0) {
+                       push(@badwords, $_);
+               }
+       }
+       close(PIN) || die;
+
+       if (@badwords) {
+               print "$file: ".scalar(@badwords)."\n\n";
+               print join(" ",@badwords)."\n\n";
+       }
+}
diff --git a/tools/spell/sg_stopwords.txt b/tools/spell/sg_stopwords.txt
new file mode 100644 (file)
index 0000000..bbb97a5
--- /dev/null
@@ -0,0 +1,5408 @@
+aa
+aadb
+abcd
+abortMsg
+abs
+abstrusegoose
+ac
+Accessor
+accumbuf
+accure
+Acecpts
+actbuf
+actionA
+actionB
+actionC
+adag
+addem
+addl
+addlen
+addmult
+addq
+addr
+ADDR
+AddrBStore
+ADDRESSOFFSET
+AddrFrame
+addrline
+AddrMode
+AddrModeFlat
+AddrModeReal
+AddrPC
+AddrReturn
+addrs
+AddrStack
+addtest
+addtogroup
+addVariable
+AddVariable
+ADI
+adisp
+adispl
+adj
+ADJ
+adjsize
+Adrien
+ADSP
+ADSPBLACKFIN
+ADSPTS
+adst
+AdvanceState
+aend
+aext
+afc
+afd
+aff
+agclose
+Agdisc
+Agedge
+agfstin
+agfstnode
+agfstout
+agget
+aghead
+agnameof
+Agnode
+agnxtin
+agnxtnode
+agnxtout
+AGRAPH
+agread
+AGSEQ
+agtail
+aint
+Aint
+AINT
+aintv
+ainv
+AIX
+aka
+al
+alegrand
+algo
+algorihtm
+Algorithmica
+alice
+aliceTimes
+allContainers
+allgather
+Allgather
+ALLGATHER
+ALLGATHERS
+allgatherv
+Allgatherv
+ALLGATHERV
+ALLGATHERVS
+alloc
+Alloc
+AllocateGrid
+allocs
+Allocs
+allof
+allowSmaller
+allred
+allreduce
+allReduce
+Allreduce
+ALLREDUCE
+ALLREDUCES
+AllReqsValid
+alltoall
+allToAll
+Alltoall
+ALLTOALL
+ALLTOALLS
+alltoallv
+allToAllv
+allToAllV
+Alltoallv
+ALLTOALLV
+ALLTOALLVS
+alltoallw
+Alltoallw
+alltypes
+ALTIX
+amd
+AMDExtendedCpuFeatures
+amdahl
+Amdahl
+aName
+anl
+annuli
+aNode
+ans
+ansi
+antibcast
+anwser
+ap
+api
+app
+appender's
+appnum
+APPNUM
+apps
+ar
+archs
+arcId
+arcShow
+arctan
+arecv
+arg
+ARG
+argc
+ARGN
+args
+ARGS
+argsused
+argv
+ARGV
+ARGVS
+arity
+Arity
+armageddon
+Arnaud
+arr
+Arr
+ARR
+ARray
+ARRAYINDEXTYPEID
+arrShow
+ars
+asap
+ascii
+AsciiTraceHelperForDevice
+AsciiTraceUserHelperForDevice
+ASes
+asg
+asize
+asizev
+asm
+ASN
+asnprintf
+ASNPRINTF
+asprintf
+ASPRINTF
+aspx
+asr
+ASR
+asrc
+ASroute
+assoc
+astart
+async
+atan
+atexit
+atfork
+atof
+atoi
+atol
+att
+AttachArc
+AttachCurrentThread
+AttachNode
+ATTLIST
+attr
+Attr
+ATTR
+AttributeValue
+attrs
+ATTRS
+attrt
+attrval
+atype
+Auther
+autoconf
+autoheader
+automagically
+autorestart
+Autorestart
+autorestarting
+autoschedule
+autotest
+autotuning
+aux
+Aux
+AUX
+AVAILCPU
+aval
+avg
+Avg
+AvgCalc
+AvgFromIdleTime
+AvgFromNonIdleTime
+avpkt
+avval
+AXP
+@@@@@@@@@@@@@@@@@@@@@@@@@@@ STOPPED CHECKKING HERE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ba
+backboneNode
+BackingStoreBase
+BackingStoreEnd
+BackingStoreOffset
+backoff
+backsub
+backtrace
+Backtrace
+BACKTRACE
+backtraces
+Bailling
+barabasi
+Barabasi
+baseaddr
+BASEADDR
+basecount
+basegroup
+basename
+BaseOfImage
+basesize
+BASETYPE
+bb
+bbuf
+bc
+bcast
+Bcast
+BCAST
+bcasting
+BCASTS
+Bconnection
+bdebug
+bdw
+begining
+beginreceive
+behaviour
+benchs
+BeOS
+BEOS
+bestprac
+bewtween
+bf
+bfef
+bg
+Bg
+BH
+BIGENDIAN
+bigunsigned
+binimoal
+bintree
+bionomial
+bitcount
+Bitcount
+bitfield
+BITFIELD
+bithacks
+bitmask
+BITPOSITION
+bittorrent
+Bittorrent
+bitval
+bl
+Blackfin
+blankline
+blen
+blens
+blimit
+blk
+blkidx
+blklen
+blklens
+blks
+blksize
+blockcnt
+blockcount
+BLOCKCOUNT
+BLOCKIFY
+blockindex
+blockindexed
+blockinfo
+blocklen
+blocklength
+blocklengths
+blocklens
+BLOCKLOG
+blocksize
+BLOCKSIZE
+blocksizes
+BM
+bmname
+bmsk
+bmtree
+BMTREE
+bName
+bnext
+bNode
+bobTimes
+Boivin
+bol
+booktitle
+bool
+Bool
+BOOL
+BOOOOOUUUHHH
+BOR
+borken
+Borland
+BORLAND
+BORLANDC
+BORLANDDC
+Bourassa
+bp
+bprintf
+bps
+Bps
+bptr
+breakeven
+breakval
+breg
+bregister
+brillant
+brokenpipe
+bruck
+Bruck
+bs
+bsdos
+bsection
+bsend
+Bsend
+BSend
+BSEND
+bsendbuf
+bsendbufsize
+bsends
+bsize
+bss
+BSS
+bt
+BT
+btemp
+btio
+BTLs
+btype
+buchi
+bucklet
+bucklets
+buf
+BUF
+bufd
+buffbegin
+BUFFERDONE
+bufferedBytes
+BUFFERLIT
+BUFFERLITERAL
+BUFFERPUTC
+BUFFERSET
+buffersize
+BufferSize
+bufferstack
+BUFFERSTACKSIZE
+buffout
+BUFFSIZE
+buffstr
+bufin
+BUFLEN
+bufmem
+bufname
+bufout
+bufp
+bufs
+bufsize
+BUFSIZE
+bufsizes
+BUGREPORT
+buildBH
+BuildComm
+BuildNumber
+buildSH
+buildtools
+buildWH
+builtin
+BUILTIN
+builtins
+bupass
+bval
+bVerify
+bvprintf
+bw
+Bw
+Bwrite
+bx
+BXOR
+BYBANDWIDTH
+BYLATENCY
+bypassASroute
+BYPASSERROR
+bypassroute
+bypassRoute
+bypassRoutes
+bytesInQueue
+bytesread
+bzero
+ca
+cacc
+cairo
+calc
+calcule
+callback
+Callback
+CALLBACK
+CallbackParam
+CallbackRoutine
+callbacks
+Callbacks
+CallbackType
+CALLBACKW
+CallObjectMethod
+calloc
+callocation
+CallStaticObjectMethod
+CallStaticVoidMethod
+CallVoidMethod
+Caolan
+capa
+caract
+caracteristic
+cardA
+cardB
+carefuly
+carfull
+carole
+cartdim
+Cartdim
+cartesian
+cas
+Cas
+CAS
+casanova
+castless
+catched
+Catched
+catname
+catName
+catv
+cb
+CBA
+cbarg
+cblas
+CblasNoTrans
+CblasRowMajor
+cbrt
+cc
+CC
+ccgrid
+ccmake
+ccomm
+CCRITICAL
+CCRITICALn
+cd
+CDATA
+CDEBUG
+cdecl
+ce
+ceid
+ceil
+cerrcnt
+cerrhandler
+CERROR
+c'est
+cf
+cfg
+cfgelm
+cflags
+CFunction
+cg
+Cg
+CGRAPH
+cgroup
+ch
+Chaine
+CHAINE
+chainsend
+ChangeLog
+changeset
+channelFactory
+chartype
+chdir
+checkany
+checkAttrs
+checkB
+CheckBuf
+checkD
+CheckData
+checkint
+checkinteger
+checkNoAttrs
+checknumber
+checkParameters
+checkResult
+CheckSeed
+checkstring
+CheckSum
+CheckThresh
+checktype
+checkudata
+CheckVal
+childCount
+ChildId
+CHILDRENCOUNT
+childs
+childsize
+chk
+chksum
+choosed
+choosen
+chrono
+chunck
+cin
+cinbuf
+cinfo
+CINFO
+cinPtr
+ck
+classname
+ClassNotFoundException
+classp
+CLASSPARENTID
+ClassType
+Clauss
+clearerr
+ClientPointers
+clinkflags
+CLM
+cloest
+CloseHandle
+cls
+clust
+cmake
+Cmake
+CMake
+CMAKE
+cmd
+cmdline
+C'mon
+cmp
+cmpi
+cmpstringp
+cname
+cnamelen
+cnst
+cnsts
+cnt
+cnts
+co
+coccinelle
+coclass
+CODEGEARC
+coef
+coeficient
+coeur
+COFF
+CoffSymbols
+cojava
+COJAVA
+col
+coldim
+coll
+COLL
+collbuf
+colls
+COLLS
+colomn
+colori
+columntype
+colwise
+com
+CombineStreams
+comm
+Comm
+COMM
+commande
+commandline
+CommentStreamA
+CommentStreamW
+comming
+COMMITED
+commname
+commok
+commrev
+comms
+COMMS
+commslice
+Communic
+commutivity
+commuttive
+comp
+Comp
+COMP
+compar
+compiletime
+completedTasks
+CompleteInFiles
+comput
+computationAmount
+ComputeDuration
+computeDurations
+Comunication
+comz
+concat
+CONCAT
+cond
+COND
+conf
+CONF
+config
+Config
+CONFIG
+configurability
+conftestval
+congruential
+connexion
+consequetive
+consequtive
+const
+Const
+CONST
+consts
+constu
+cont
+ContainerType
+containg
+contening
+contextes
+ContextFlags
+contidion
+contig
+Contig
+contignous
+contiuing
+Contraintes
+controlflow
+convers
+convertable
+convertdouble
+conz
+coord
+COORD
+coords
+cOp
+copybomb
+CopyStream
+coreAmount
+CoroutineSupport
+corre
+correponding
+corresonding
+countelems
+courant
+cout
+coutbuf
+coutPtr
+cp
+cplusplus
+CPLUSPLUSCAST
+cpos
+cpp
+CPP
+CPPFLAGS
+CPS
+cpt
+cpu
+Cpu
+cpuA
+cpuB
+CpuInfo
+cpus
+cpusetsize
+CpuTI
+CPUTIME
+cputimer
+CPUTTIME
+CpuUsedTask
+CpuUsedVm
+cpvoid
+cpy
+cRank
+crashtest
+CRAYC
+CREAT
+Creata
+createContainer
+CreateContainer
+createDottyFile
+createEnvironment
+CreateEvent
+create'ing
+CreateSemaphore
+CreateStream
+CreateThread
+creationTime
+creq
+cReq
+crequest
+cRequest
+crosstraffic
+crt
+crypto
+c's
+CSDVersionRva
+cSize
+csma
+csn
+csum
+ctask
+Ctask
+ctg
+ction
+CTL
+ctn
+ctof
+CTOR
+ctr
+Ctrl
+CTRL
+ctx
+CTX
+ctxs
+ctype
+cuf
+cunit
+CUNIT
+curr
+currcell
+currentContainer
+currentHost
+currentProcess
+currentQueueLen
+currentThread
+currj
+currusecs
+cv
+CV
+cval
+CVData
+CVERB
+CVREC
+CvRecord
+CVSig
+cw
+CWARN
+CXX
+CYCLECNTR
+cycleval
+cygnus
+CYGWIN
+da
+Da
+dag
+Dalcin
+damnit
+Damnit
+DARG
+dargs
+darray
+DARRAY
+darrays
+darraytype
+darwin
+darwins
+dat
+dataext
+DATAKIND
+dataloop
+Dataloop
+datarep
+DATAREP
+datasize
+dataSize
+DataSize
+datastructure
+datastructures
+DATATOSENT
+datatype
+Datatype
+DATATYPE
+datatypes
+Datatypes
+DATATYPES
+dataype
+dax
+daxFile
+daxload
+daxparse
+db
+dbf
+dbg
+dbgflag
+dbghelp
+DBGHELP
+DbgUnmatched
+DBHHEADER
+DBHLPAPI
+DBL
+dc
+dcb
+dd
+DD
+ddfs
+DDFS
+de
+dealed
+debbugging
+DEBUGDIRS
+debuged
+DebugHelp
+debuging
+debugsynch
+DECC
+decl
+DECL
+declspec
+def
+DEF
+DEFFILE
+defgroup
+defineContainerType
+DefineContainerType
+defineEntityValue
+DefineEntityValue
+defineEventType
+DefineEventType
+defineLinkType
+DefineLinkType
+defineStateType
+DefineStateType
+defineVariableType
+DefineVariableType
+degub
+delect
+deletebomb
+deleteCalled
+DeleteCriticalSection
+DeleteGlobalRef
+DeleteLocalRef
+DeleteStream
+DELIM
+delm
+deltap
+deltat
+deltaTime
+Denable
+denom
+dep
+depafter
+depbefore
+depcnt
+deployApplication
+deployement
+deployer
+deploymentFile
+deref
+DEREGISTER
+derouted
+des
+desactivated
+desc
+DESC
+descp
+Descp
+descr
+descrip
+Descrip
+Descrp
+dest
+destArray
+destContainer
+DestContainer
+DestContainerType
+destroyContainer
+DestroyContainer
+Destroyes
+DetachCurrentThread
+DetailsLevel
+dev
+developper
+deviatinon
+deviceFactory
+DEVZERO
+Df
+dflt
+DFLT
+DFS
+dg
+DGArc
+dgemm
+DGNode
+DGraph
+DGRAPH
+Dichotomic
+dichotomyal
+dict
+DICT
+dictelm
+dicti
+dictionnaries
+dictionnary
+Dictionnary
+dicts
+diff
+differents
+diffmax
+diffmin
+dijkstra
+dijkstracache
+DijkstraCache
+DIJKSTRACACHE
+dinbuf
+dir
+DIR
+discret
+disemmination
+disp
+displ
+displs
+disponible
+disps
+dist
+DIST
+distrib
+distribs
+div
+djb
+DJB
+DL
+dlerror
+dlfcn
+DLFCN
+DLjava
+dll
+DLL
+dllexport
+dllimport
+DllMain
+dlsym
+dmesh
+dmp
+DMPICH
+DMTEST
+dn
+DNDEBUG
+DNLOG
+dnxm
+dnym
+dnzm
+DOCTYPE
+docummentation
+DoDequeue
+DoEnqueue
+doesnt
+doexception
+dogbone
+doit
+dolog
+Donahoo
+donc
+dont
+DONT
+dontinclude
+doOutput
+dopar
+DoPeek
+doTest
+dotload
+dotloader
+dotout
+dotparse
+doublecircle
+doubleint
+doublering
+doubleValue
+doule
+doutbuf
+doxygen
+DOXYGEN
+dp
+dpor
+DPOR
+dprintf
+dpx
+drand
+DRAND
+DropPacket
+DS
+dsend
+dsendBounded
+dsize
+dsp
+DSP
+DSPs
+dssp
+dst
+DST
+dsts
+dt
+DT
+dtd
+DTD
+dtdssp
+dth
+dttx
+dtty
+dttz
+dtype
+DTYPES
+dum
+DUMMYSTRUCTNAME
+DUMMYUNIONNAME
+d'un
+dup
+Dup
+DUP
+dupcomm
+dup'ed
+dup'ing
+dupplicates
+dupported
+dups
+dup's
+duptype
+dupWorld
+dur
+Duy
+dval
+dvfs
+dw
+DW
+dwHighDateTime
+dwLowDateTime
+dwNumberOfProcessors
+DWORD
+DWORDPTR
+dx
+DXBT
+dxmax
+dy
+dymax
+dyn
+DYNamic
+dynar
+Dynar
+DYNAR
+DynArr
+dynars
+Dynars
+dynar's
+dynat
+dynlib
+dynlinker
+dz
+dzmax
+EAGAIN
+EagerShort
+eash
+eax
+eb
+ebp
+Ebp
+EBUSY
+ebx
+ec
+Ecuyer
+ecx
+edi
+edu
+edwiny
+edx
+ee
+EEXIST
+Ef
+EFAIL
+EFT
+egcs
+EINPROGRESS
+EINTR
+EINVAL
+Eip
+elem
+ELEM
+elems
+elif
+elmi
+elmsize
+elmts
+elsewere
+eltext
+elts
+Emden
+EmptyAttributeValue
+en
+En
+EnableAsciiInternal
+EnablePcapInternal
+ename
+ENAMETOOLONG
+endcode
+EndContainer
+EndContainerType
+EndEventDef
+endhtmlonly
+endian
+ENDIAN
+EndIdlePeriod
+endif
+endLink
+EndLink
+endmark
+endptr
+endverbatim
+Engelschall
+englobing
+ENOBUFS
+ENOMEM
+ENOSYS
+ENT
+EnterCriticalSection
+ENTITYTEXT
+EntityType
+EntriesFilled
+EntriesMatched
+entrycpy
+enum
+ENUM
+EnumDirTree
+EnumDirTreeW
+EnumerateLoadedModules
+EnumerateLoadedModulesW
+ENUMERATESYMBOLS
+ENUMLINES
+ENUMMODULES
+ENUMSOURCEFILES
+ENUMSYMBOLS
+env
+ENV
+envFile
+environmentGetRoutingRoot
+envval
+EOB
+EOB's
+eof
+EOF's
+eol
+EOL
+EOS
+EOVERFLOW
+ep
+EP
+EPASS
+EPIO
+EPIPE
+eq
+equiv
+EQUIV
+erand
+ERANGE
+errcat
+errclass
+errcnt
+errcode
+errcodes
+ERRCODES
+errh
+errhand
+errhandler
+Errhandler
+ERRHANDLER
+errhandlers
+errlen
+ERRLIMIT
+errmsg
+ERRMSG
+errno
+ERRNO
+erro
+errorclass
+errorcode
+errorcodes
+erroreous
+esi
+esp
+Etag
+ETag
+ETIMEDOUT
+euclidean
+EuroMPI
+ev
+evalEwma
+evalIdleDamping
+evalP
+evalue
+EventDef
+EventType
+everyobne
+eviltype
+evp
+evt
+evtname
+ewma
+EWOULDBLOCK
+exaflops
+exc
+ExceptionAddress
+ExceptionClear
+ExceptionCode
+ExceptionFlags
+ExceptionInformation
+ExceptionOccurred
+ExceptionPointers
+ExceptionRecord
+ExceptionStream
+excl
+EXCL
+EXE
+execinfo
+EXECINFO
+execlp
+execve
+exemple
+Exemple
+exepeted
+exibitionist
+existant
+exitcode
+ExitThread
+exitTime
+exp
+Exp
+explicitely
+explicitFilename
+expon
+expr
+EXPR
+exptr
+exscal
+exscan
+Exscan
+ext
+exted
+externs
+extrastate
+fabs
+Factorise
+Fafard
+fallback
+FALLTHROUGH
+fap
+Faraj
+FATPIPE
+fb
+fBps
+fbreg
+fbregister
+fced
+fclose
+fcntl
+fcomm
+fct
+fd
+FD
+fdim
+fDOSImage
+FDs
+fdwReason
+feasability
+featnum
+featp
+FeatureInformation
+feeded
+feof
+ferrhandler
+ferror
+fflags
+fflush
+FFLUSH
+ffs
+FFT
+fftblock
+fftblockpad
+fftcopy
+fftlow
+ffts
+fftx
+ffty
+fftz
+fg
+fgetc
+fgets
+fgroup
+fh
+fhandle
+FI
+FIBO
+fibonacci
+fictiv
+fielddim
+fieldID
+fifo
+FIFOs
+fileCount
+FileHeader
+fileName
+FileName
+filenm
+fileno
+filepos
+FILETIME
+filtrage
+FIMXE
+finalizer
+finaltype
+finbuf
+FINDCHILDREN
+FindClass
+FindClose
+FindDebugInfoFile
+FindDebugInfoFileEx
+FindDebugInfoFileExW
+FINDENT
+FindExecutableImage
+FindExecutableImageEx
+FindExecutableImageExW
+FindFileInPath
+FindFirstFile
+finfo
+Fint
+firstChild
+firstChildIdx
+firstLayerNode
+firt
+fisrt
+FIXEDFILEINFO
+fixedsize
+Fixme
+FIXME
+fjac
+flatifier
+flattree
+FLEXINT
+flexml
+FleXML
+FLEXML
+flink
+flinkflags
+floatint
+floyd
+Floydâ
+fmpi
+fmt
+fn
+FN
+fname
+fnf
+FNV
+fo
+focusNode
+foffset
+FOLD's
+Fonction
+fonctions
+fontcolor
+fontsize
+foo
+FOO
+fopen
+forcedDrop
+forcedMark
+foreach
+Foreach
+FOREACH
+foreachInNeighbor
+foreachOutNeighbor
+forestgreen
+formated
+fortran
+forumula
+foundError
+foutbuf
+fp
+FP
+fpi
+fprintf
+fputs
+fr
+fraghead
+FrameOffset
+FramePointer
+FRAMEREL
+FRAMERELATIVE
+fread
+fReadOnly
+Freebsd
+FreeBSD
+FreeBuf
+free'd
+freehook
+freeitem
+FreeLibrary
+freing
+frequest
+Frgamented
+FromContainer
+fromPID
+Frumkin
+fs
+fscanf
+fsizeof
+fstat
+fSystemImage
+ftime
+ftnlen
+ftruncate
+ftype
+fucntion
+fucntions
+fuction
+FULLDUPLEX
+fullname
+FullPath
+func
+FUNC
+FUNCENTRY
+FuncTableEntry
+functionnality
+functionName
+functionning
+FunctionTableStream
+funs
+funtion
+futex
+FUTEX
+fwrite
+galt
+Gansner
+gantt
+Gantt
+garbageCollector
+gatherv
+Gatherv
+GATHERV
+Gaussain
+gaussian
+GBps
+Gbytes
+gc
+GCB
+gcc
+GCC
+GCH
+GCM
+gcov
+gd
+gdb
+GEF
+Geier
+Gemm
+gen
+Genaud
+genericity
+getaffinity
+getarg
+GetArrayLength
+GetAverageQueueSize
+Getb
+GetBooleanField
+getbound
+getByName
+getc
+getClock
+getComputeDuration
+getcontext
+getCoreNumber
+getCoroutineSupport
+getCount
+GetCurrentDirectory
+GetCurrentProcess
+GetCurrentThread
+GetDoubleArrayElements
+GetDoubleField
+getdtablesize
+GETDTABLESIZE
+Getelements
+getenv
+GetExitCodeThread
+GetFeatureNum
+getfield
+GetFieldID
+getfirst
+getFirst
+getFirstitem
+getFirstItem
+GetFNumDPar
+getglobal
+getHosts
+getHostVariablesName
+GetIntArrayRegion
+getinter
+GetIP
+getItemcontent
+GetJavaVM
+getkey
+getlast
+GetLastError
+getline
+getLinkVariablesName
+getLoad
+GetLongField
+getmetatable
+GetMethodID
+GetMode
+getModel
+getName
+getNext
+getNextitem
+getNextItem
+GetObjectArrayElement
+GetObjectField
+getopt
+getopts
+getpagesize
+getparam
+getpid
+getPrev
+getPrevitem
+getPrevItem
+GetProcAddress
+GetProcessTimes
+getProperty
+getRemainingDuration
+getrusage
+GETRUSAGE
+getSender
+GETSET
+getSons
+getSource
+getspecific
+getSpeed
+getstacksize
+GetState
+GetStaticMethodID
+GetStringUTFChars
+GetSystemInfo
+GetSystemTimeAsFileTime
+gettable
+GetThreadContext
+GetThreadTimes
+gettime
+GETTIME
+gettimeofday
+GETTIMEOFDAY
+GetTimestampForLoadedLibrary
+gettop
+GetTypeId
+getupvalue
+getvalue
+geven
+GEY
+Gf
+GFcs
+Gflop
+GFlops
+gforge
+ghigh
+GiB
+GiBps
+gigaflops
+gige
+Ginette
+github
+gl
+glibc
+globalcontext
+GLOBALSINDEX
+GLOBALSONLY
+GlobalSymbols
+globl
+Gloups
+gM
+gN
+gname
+gnuc
+GNUC
+gnuld
+gnuplot
+godd
+goodell
+goodval
+gos
+gotit
+gov
+GPL
+gpu
+GPU
+gr
+grank
+graphdims
+Graphdims
+graphicator
+GRAPHICATOR
+graphname
+GraphName
+graphShow
+graphviz
+GraphViz
+GRAPHVIZ
+graphvizFile
+graphxml
+GraphXML
+GRAPHXML
+gras
+GRAS
+grep
+grequest
+Grequest
+grev
+Grig
+growsdown
+grp
+gself
+gsize
+gsizes
+gtnets
+GTNets
+GTNetS
+GTNETS
+GTSim
+GUID
+GUIDPTR
+gurantee
+Gurer
+gw
+gworld
+gz
+hacc
+hackish
+Hadjidoukas
+Haertel
+hal
+halfing
+handbuilt
+handleA
+handleB
+HandleDataStream
+handside
+hardcoded
+hashtable
+havenots
+hd
+hdBase
+Hdd
+HDD
+hdf
+HDF
+hdMax
+hdrstop
+hdSrc
+hdSym
+headersize
+heapA
+heapbase
+heapify
+heapindex
+heapinfo
+heaplimit
+heapsize
+heapstats
+heavytailed
+HelloWorld
+HEREUNDER
+het
+hexa
+hFile
+hideinitializer
+hier
+highpc
+hindex
+hindexed
+Hindexed
+HINDEXED
+HINSTANCE
+hinstDLL
+hist
+hlp
+hlrs
+HMODULE
+hndl
+Hoekstra
+Hofmann
+hoser
+hostcount
+hostent
+HostFailureException
+hostgroup
+hostid
+hostlist
+HostNotFoundException
+hostPopState
+hostPushState
+hostSetState
+hostStateDeclare
+hostStateDeclareValue
+hostVariableAdd
+hostVariableAddWithTime
+hostVariableDeclare
+hostVariableDeclareWithColor
+hostVariableSet
+hostVariableSetWithTime
+hostVariableSub
+hostVariableSubWithTime
+hotpink
+hp
+HPC
+HPCASIA
+hppa
+hProcess
+hpua
+hpux
+HPUX
+hr
+href
+ht
+html
+htmlonly
+http
+https
+hval
+hvector
+HVECTOR
+HW
+HWND
+hy
+ia
+IA
+Iallgather
+Iallgatherv
+Iallreduce
+Ialltoall
+Ialltoallv
+Ialltoallw
+iam
+iar
+ib
+Ibarrier
+Ibcast
+ibm
+IBMC
+ibsend
+Ibsend
+ic
+iccreate
+icomms
+ICS
+i'dea
+idem
+IDENT
+Identificator
+idleStart
+idrss
+IDs
+idump
+idup
+IDUP
+idx
+Idx
+ie
+Ie
+IEC
+ieee
+ierr
+Iexscan
+ifdef
+iff
+ifndef
+Ig
+Igather
+Igatherv
+IGN
+iinbuf
+ijs
+ik
+iksemel
+ilimit
+IllegalArgumentException
+ilog
+im
+IM
+i'm
+imag
+IMAGEAPI
+ImageBase
+IMAGEDIR
+ImageDirectoryEntryToData
+ImageDirectoryEntryToDataEx
+ImageFileName
+ImageFilePath
+IMAGEHLP
+ImagehlpApiVersion
+ImagehlpApiVersionEx
+ImageName
+ImageNtHeader
+ImageRvaToSection
+ImageRvaToVa
+ImageSize
+imax
+IMAX
+IMAXP
+imediately
+immediatly
+immu
+impl
+implem
+implicitely
+impls
+improbe
+Improbe
+imrecv
+Imrecv
+imx
+inArc
+inbetween
+inbi
+inblock
+inbuf
+inc
+incl
+IncludeModule
+IncludeModuleCallback
+IncludeThread
+IncludeThreadCallback
+INCOMMENT
+incomming
+incount
+incp
+IncPrec
+incr
+INCR
+IncreasedPrecis
+ind
+inDegree
+independant
+indexstack
+INDEXSTACKSIZE
+indicacates
+indice
+indicies
+inducedLoad
+inet
+inext
+infomations
+infos
+InfoState
+INFOW
+infrastucture
+ingroup
+iniates
+init
+Init
+INIT
+InitBuf
+initDynamicThrottling
+inited
+initialisation
+Initialisation
+Initialise
+initialising
+InitializeCriticalSection
+InitializeRoutes
+initMat
+inlined
+inlining
+inode
+Inode
+inOptional
+inorm
+inout
+inoutbuf
+inoutvec
+INPI
+inplace
+Inproceedings
+InProceedings
+inria
+insize
+inspirated
+instanciate
+instr
+INSTR
+InstructionOffset
+InstrUserVariable
+int
+INT
+interate
+interation
+intercomm
+Intercomm
+interCommIdx
+interCommName
+intercomms
+intercommunicator
+intercommunicators
+interconnexion
+INTERFAC
+INTERMEDIAT
+intermidiate
+interoperation
+InterRedist
+inthandler
+intilialize
+intptr
+intraCommIdx
+intraCommName
+intracommunicator
+IntraRedist
+ints
+INTs
+INTS
+inttype
+inttypes
+INTTYPES
+InvA
+inVal
+invalide
+invec
+io
+IOLBF
+iosize
+iostream
+IOSTREAM
+iotimer
+iotype
+iotypes
+ioutbuf
+ip
+ipdps
+ipow
+ipowMod
+iprobe
+Iprobe
+IPROBE
+iptr
+ipv
+IPV
+ir
+irecv
+Irecv
+IRecv
+IRECV
+irecvBounded
+irecvs
+irecv's
+Ireduce
+ireqs
+IRGRP
+IRIX
+iro
+IROTH
+irsend
+Irsend
+IRSEND
+IRUSR
+isatty
+isAvail
+isBasic
+Iscan
+Iscatter
+Iscatterv
+iscfunction
+isdefault
+isdigit
+isDirected
+iseek
+isenabled
+ISENABLED
+ISENABLEDV
+isend
+Isend
+ISend
+ISEND
+isendBounded
+isends
+Isends
+isend's
+isfinite
+isfunction
+ish
+isi
+isIdentity
+IsIdling
+isiz
+isleft
+isLeft
+isLeftGroup
+isnil
+isnt
+isnumber
+isPermutedIdentity
+isqrt
+isrc
+isRoot
+isrss
+isRunning
+issend
+Issend
+isset
+isShiftLeft
+isspace
+isstring
+isSuspended
+istable
+isThreshInherited
+isum
+isused
+Itemcontent
+itemp
+iter
+ITER
+iters
+ith
+itmax
+ival
+ivalue
+iwannadie
+IWGRP
+IWUSR
+ixrss
+ja
+Jacquelin
+jalias
+jargs
+jas
+JAS
+jauto
+java
+JavaVM
+Jave
+jb
+jboolean
+jclass
+jclassname
+jcomm
+JCOMM
+jcomputeDuration
+jcomputeDurations
+jcoreamount
+jcoroutine
+jdeploymentFile
+jdouble
+jdoubleArray
+jed
+jedule
+Jedule
+JEDULE
+Jehoshua
+jenv
+jfield
+jfieldID
+jfile
+JFILE
+jhi
+jhost
+JHOST
+jhostname
+jhostName
+jhosts
+Jin
+jint
+jintArray
+jitted
+jj
+jkill
+jkilltime
+jlo
+jlong
+jmailbox
+JMAX
+JMAXP
+jmessageSize
+jmessageSizes
+jmethod
+jmethodID
+jmillis
+jmp
+jmsg
+jname
+jnanos
+jni
+JNI
+JNICALL
+JNIEnv
+JniException
+JNIEXPORT
+jobCount
+jobject
+jobjectArray
+joinable
+jpath
+JPG
+jplatformFile
+jprocess
+JPROCESS
+jproperty
+jreceiving
+jresetPID
+jrngstream
+js
+jseconds
+jseed
+jsize
+jstorage
+jstring
+jsut
+JSYNCHRO
+jsyncro
+jtable
+jtask
+Jtask
+JTASK
+jthread
+jthrowable
+jtimeout
+jtrace
+junkarea
+juste
+jval
+jvalue
+jvm
+JVM
+jxbt
+JXBT
+kademlia
+KADEMLIA
+KADEPLOY
+kBps
+KCCFLN
+KDHELP
+kernelTime
+KeUserCallbackDispatcher
+keyname
+keyorder
+keyval
+Keyval
+KEYVAL
+keyvals
+keyvalue
+kf
+kflop
+kgn
+Kib
+KiB
+KiBps
+KiCallUserMode
+kilkil
+killall
+killAll
+KILLALL
+killTime
+kiloflops
+kk
+kluges
+kmax
+KMAX
+kmin
+kn
+Ko
+kolay
+Kristoffer
+ktm
+Kuznetsov's
+Lâ
+Lacage
+Ladd
+lagrange
+LagrangeVelho
+lagrangian
+lang
+larr
+lastblocks
+LASTCODE
+lasti
+lastj
+LastReservedStream
+LastRvaSection
+LASTUSECODE
+LASTUSEDCODE
+lat
+Latham
+lauxlib
+lbl
+lc
+LC
+lchild
+lcoords
+lcs
+ld
+LD
+lda
+ldb
+ldc
+ldinbuf
+ldKB
+ldl
+ldoutbuf
+le
+LeaveCriticalSection
+lecuyer
+L'Ecuyer
+leechers
+leftGroup
+Legout
+LegrandVelho
+len
+leng
+lenght
+lenhi
+lenlo
+leq
+lerrclass
+lerrcnt
+lerrs
+les
+l'etter
+lexer
+LEXICALPARENT
+lf
+Lf
+lfields
+lg
+LG
+lgp
+LGPL
+lhs
+lhsa
+lhsb
+lhsc
+libc
+libcgraph
+libex
+libf
+libgen
+libs
+Libs
+libsimgrid
+libtool
+libunwind
+Lieber
+lightblue
+lightuserdata
+lin
+linbuf
+linecount
+linelen
+LINELEN
+lineno
+linenum
+lineNum
+LineNumber
+LineNumbers
+lineptr
+LINEW
+LinkA
+linkContainers
+linkid
+linkp
+linkSrcDstVariableAdd
+linkSrcdstVariableAddWithTime
+linkSrcDstVariableSet
+linkSrcDstVariableSetWithTime
+linkSrcDstVariableSub
+linkSrcDstVariableSubWithTime
+LinkType
+linkVariableAdd
+linkVariableAddWithTime
+linkVariableDeclare
+linkVariableDeclareWithColor
+linkVariableSet
+linkVariableSetWithTime
+linkVariableSub
+linkVariableSubWithTime
+linux
+Lisandro
+listenFrom
+listenFromHost
+listenning
+ListStream
+LITT
+Ljava
+lkey
+ll
+LL
+llb
+lld
+llinbuf
+LLONG
+lloutbuf
+llp
+llu
+LLx
+LLX
+lm
+lmlast
+lmm
+lmpi
+ln
+lnlast
+loadbuffer
+LoadedImageName
+LoadedPdbName
+LoadLibraryA
+LOADW
+loc
+localA
+localB
+localcomm
+Localcopy
+localrank
+localtime
+loclist
+logEvent
+LogEvent's
+Loggings
+LogOPSim
+logprocs
+LOGV
+longdesc
+longdoubleint
+longint
+longjmp
+LONGLONG
+loopback
+loopcount
+loopProgress
+LOR
+Lorg
+loria
+Loris
+loutbuf
+lowestCommonAncestor
+lowpc
+lp
+LPADDRESS
+LPAPI
+lpos
+LPSTACKFRAME
+LPTHREAD
+LPVOID
+lpvReserved
+lr
+lrank
+lranks
+lroot
+LSB
+lseek
+Lsimgrid
+lsit
+lsize
+lt
+ltl
+LTL
+ltrim
+LTriming
+ltype
+lu
+lua
+Lua
+LUA
+luaL
+lualib
+luaopen
+lua's
+lucas
+LV
+lvalue
+LVALUE
+lx
+Lx
+LXOR
+mac
+MACOS
+Macs
+madcat
+madre
+maestrotbs
+maetro
+MaintainerMode
+majflt
+MajorVersion
+majversion
+makecontext
+MAKECONTEXT
+makeHDF
+MakeSureDirectoryPathExists
+malloc
+Malloc
+MALLOC
+mallocated
+mallocator
+MALLOCATOR
+mallocators
+Mallocators
+malloced
+mallocex
+Mallocing
+mallocs
+Manber
+maner
+mapbytes
+MapDebugInformation
+MappedAddress
+mapsize
+mapto
+MarkProbability
+Martinec
+MASKOBJS
+masterargv
+masternames
+masterslave
+mathieu
+MatMatModM
+matmult
+MatPowModM
+matrics
+matSize
+MatTwoPowModM
+mattype
+MatVecModM
+maxArcs
+maxBytes
+maxcells
+maxchainlen
+MAXCOL
+maxcontent
+MAXDEPTH
+maxdim
+maxdims
+maxedges
+Maximiliano
+maxInDeg
+maxInDegree
+maxindex
+maxkey
+MAXL
+maxlen
+MAXLEN
+maxlevel
+maxloc
+MAXLOC
+maxmin
+Maxmin
+MAXMIN
+maxmsg
+MaxNameLen
+MaxNameLength
+maxneighbors
+maxNodes
+maxOutDegree
+maxP
+maxPackets
+MAXPES
+maxpid
+maxprocs
+maxrate
+maxrss
+maxsize
+maxTh
+maxtime
+MAXTREEFANOUT
+maxval
+maxWidth
+maya
+mbase
+mbname
+mbox
+Mbps
+MBps
+MBytes
+mc
+MC
+mca
+MCA
+mcalloc
+mcomm
+mcontext
+mcs
+MCSC
+mctx
+MCTX
+md
+mdesc
+mdescs
+mdict
+MDMP
+mdp
+MDP
+mdptemp
+mdptr
+meassage
+mecanism
+mecanisms
+megaflops
+mem
+memchr
+memcmp
+memcpy
+memleaks
+memmove
+MemoryBase
+MemoryCallback
+MemoryInfoListStream
+MemoryListStream
+MemoryRanges
+MemorySize
+memreg
+memset
+Memset
+memuse
+ment
+mergesort
+MERGESORT
+merr
+messageSize
+messageSizes
+mesure
+metacommand
+metadata
+metamethod
+Metamethods
+METASIMGRID
+metatable
+metaxml
+methodID
+methos
+Mf
+Mflop
+Mflops
+MFlops
+mfree
+mg
+mgmt
+mgr
+mheap
+MiB
+MiBps
+microsecondes
+microsoft
+Microsystems
+millitm
+min
+minflt
+MINGW
+MiniDUMP
+MINIDUMP
+MiniDumpFilterMemory
+MiniDumpFilterModulePaths
+MiniDumpNormal
+MiniDumpReadDumpStream
+MiniDumpScanMemory
+MiniDumpWithCodeSegs
+MiniDumpWithDataSegs
+MiniDumpWithFullMemory
+MiniDumpWithFullMemoryInfo
+MiniDumpWithHandleData
+MiniDumpWithIndirectlyReferencedMemory
+MiniDumpWithoutOptionalData
+MiniDumpWithPrivateReadWriteMemory
+MiniDumpWithProcessThreadData
+MiniDumpWithThreadInfo
+MiniDumpWithUnloadedModules
+MiniDumpWriteDump
+minimun
+minloc
+MINLOC
+MinorVersion
+mins
+minsize
+minTh
+MIPS
+MIPSpro
+misc
+MISC
+MiscInfoStream
+MiscRecord
+MissingKeyval
+mixins
+mk
+mkfile
+mmalloc
+MMALLOC
+mmalloced
+mman
+mmap
+MMAP
+mmap'd
+mmap'ed
+mmcheckf
+mmem
+Mmh
+Mmmh
+mmorecore
+mmprivate
+MMPRIVATE
+mmrpc
+mmstats
+mnt
+ModBase
+moddata
+modelcheck
+modelchecker
+MODELCHECKER
+modinter
+MODINTER
+MODLOAD
+ModuleCallback
+ModuleListStream
+ModuleName
+ModuleNameRva
+ModuleReferencedByMemory
+MODULEW
+ModuleWriteCodeSegs
+ModuleWriteCvRecord
+ModuleWriteDataSeg
+ModuleWriteFlags
+ModuleWriteMiscRecord
+ModuleWriteModule
+ModuleWriteTlsData
+Moffett
+mon
+morecore
+mov
+moveto
+movl
+movq
+MP
+MPE
+mpi
+MPI
+MPIC
+mpicc
+mpich
+MPICH
+MPICH's
+MPID
+MPIDU
+mpiexec
+mpif
+MPIH
+MPIO
+MPIR
+mpirun
+MPIs
+mpistuff
+mpitest
+MPITEST
+mpitestconf
+MPITESTCONF
+MPIU
+MPMD
+MPRAS
+mprobe
+MPROBE
+mq
+mquinson
+mrealloc
+mrecv
+Mrecv
+MRG
+mrtype
+MSC
+msdn
+MSDN
+msg
+Msg
+msgload
+MSGS
+msgsize
+msgSize
+msgsizes
+msmark
+mspx
+mstats
+mstorage
+mstype
+MSVC
+mt
+mtemp
+MTest
+MTEST
+MTestCheckRecv
+MTestDatatype
+MTestDescrip
+MTestError
+MTestFreeComm
+MTestFreeDatatype
+MTestFreeWin
+MTestGetComm
+MTestGetDatatypeIndex
+MTestGetDatatypeName
+MTestGetDatatypes
+MTestGetIntercomm
+MTestGetIntercommName
+MTestGetIntracomm
+MTestGetIntracommGeneral
+MTestGetIntracommName
+MTestGetWin
+MTestGetWinName
+MTestPrintError
+MTestPrintErrorMsg
+MTestPrintfMsg
+MTestResetDatatypes
+MTestResourceSummary
+MTestReturnValue
+MTestRMACleanup
+MTestSleep
+MTestTypeContigCheckbuf
+MTestTypeContigFree
+MTestTypeContigInit
+MTestTypeContigInitRecv
+MTestTypeIndexedCheckbuf
+MTestTypeIndexedFree
+MTestTypeIndexedInit
+MTestTypeIndexedInitRecv
+MTestTypeVectorFree
+MTestTypeVectorInit
+MTestTypeXXXCheckbuf
+MTestTypeXXXFree
+MTestTypeXXXInit
+MTestTypeXXXInitRecv
+mtype
+mul
+mult
+MULTICPUS
+multidict
+Multipoint
+Multiport
+MultModM
+munmap
+mupad
+mustBePassive
+mutex
+Mutex
+MUTEX
+mutexes
+mutex's
+MX
+mxm
+mxn
+MxN
+MXN
+myargc
+myargv
+MYBUFSIZE
+MyCat
+mycmp
+mycol
+mycount
+mydict
+myhost
+MyHost
+myid
+myindexed
+myjob
+mylogfile
+mymailbox
+myname
+myop
+myordering
+myorg
+MyPointToPointHelper
+myqueue
+myrank
+myreduce
+Myrinet
+myrow
+myset
+MySocket
+mystruct
+mysum
+mytask
+mytest
+mytrace
+mytype
+mytypename
+mytypenamelen
+mytypes
+myvector
+na
+nadds
+Nah
+nameCompareHosts
+namedspace
+namelen
+NameLen
+nameout
+nameR
+nan
+NaN
+nancy
+nanosleep
+NANOSLEEP
+nar
+nas
+NAS
+nasa
+nativaly
+NativeException
+nativeInit
+naud
+navarro
+NAVBAR
+nb
+nbAlice
+nbBob
+nbprocess
+nbr
+nbytes
+nc
+ncall
+ncells
+ncol
+NCOMM
+NCPU
+NDEBUG
+ndid
+ndim
+ndims
+ndir
+ndoff
+nds
+nedges
+neg
+negdisp
+negextent
+negstride
+negstrided
+neighborexchange
+neighborood
+NEIGHBOURS
+NELEM
+nelm
+NELM
+nelms
+NELT
+nEP
+nEtat
+NetBSD
+netcste
+NetDevice
+NetDeviceContainer
+nevermind
+Nevermind
+newact
+newArc
+newArr
+newbuf
+newcmd
+newcnt
+newcomm
+newdata
+newdatatype
+newDGraph
+newdst
+newenv
+neweq
+newEvent
+NewEvent
+newfile
+NewGlobalRef
+newgroup
+newid
+newinfo
+newitem
+NewLocalRef
+newmd
+newmetatable
+newNode
+newNumber
+NewObject
+NewObjectArray
+newoption
+NewProp
+newrank
+newreno
+NewReno
+newroot
+newset
+newsize
+newstate
+NewStringUTF
+newtable
+newtype
+newType
+newused
+newuserdata
+newval
+newValue
+NextCallback
+nextlevel
+nextSeed
+nextSibling
+nextsize
+nf
+nfg
+nflow
+nfree
+ngroup
+ni
+NIC
+nightlies
+nints
+nitems
+nivcsw
+njac
+nk
+nkeys
+NKEYS
+nlines
+nlink
+nListe
+NLOG
+nLong
+nLoop
+nmat
+nmemb
+nmsg
+NMSGS
+nn
+nname
+nneighbors
+nnode
+nnodes
+nnul
+nocheck
+NOCOPY
+NodeContainer
+nodeid
+nodeShow
+noexist
+NOK
+NOLIMIT
+nolocks
+noncomm
+noncommutative
+NONCOMMUTE
+noncummutative
+nonintegral
+nonoverlapping
+nonzer
+noop
+nop
+NOPRECEDE
+NoProp
+noramlized
+NORETURN
+NOsep
+notbound
+notinterested
+NOTINTERESTED
+NOTSET
+NotSuchFieldException
+NotSuchMethodException
+notverified
+nov
+novalidate
+noverify
+np
+NPB
+npbparams
+npbsize
+npbversion
+npes
+npm
+nProc
+NPROCESSORS
+nprocs
+NPROCS
+nprocsp
+nq
+nr
+nrank
+nranks
+nread
+nreqs
+nres
+nrow
+ns
+NS
+nsec
+NSGetEnviron
+nsize
+nsleeps
+nstime
+nt
+NT
+NTASKS
+ntdivnp
+nthkey
+nthreads
+ntimer
+ntotal
+NTS
+NTSB
+NTSL
+NTSLR
+ntype
+ntypes
+NTYPES
+nul
+NUL
+nulldata
+NullPointerException
+NUL's
+num
+NUM
+numArcs
+NumberOfDups
+NumberOfMemoryRanges
+NumberOfModules
+NumberOfProcessors
+NumberOfSections
+NumberOfStreams
+NumberOfThreads
+NumberParameters
+numchain
+numChildren
+numcores
+NumIds
+numLayerNodes
+numNodes
+numOfLayers
+numPrevLayerNodes
+numprocs
+numreqs
+NumReqs
+NumReqsValid
+numSources
+NumSyms
+NumSymTypes
+NUMTHREADS
+nUsage
+nuser
+nv
+nval
+nvcsw
+nw
+nworkstations
+nx
+Nx
+nxg
+nxt
+ny
+nyg
+nz
+nzg
+oaumage
+obj
+Obj
+OBJDIR
+objdump
+ObjectFactory
+objet
+objlen
+occured
+occurence
+occurences
+occures
+oct
+oerrno
+offsetof
+oin
+ois
+ok
+Ok
+ol
+oldact
+oldbuf
+oldcomm
+oldgroup
+OLDGUIDPTR
+oldinfo
+oldlimit
+oldrank
+oldranks
+oldsize
+oldtype
+oldtypes
+OMAP
+ommunication
+ompi
+Ompi
+onceandforall
+onehop
+onelink
+ONELINK
+onelinks
+oneslice
+onetimer
+onexit
+ONLN
+onstack
+OO
+OOP
+op
+Op
+OP
+OpenBSD
+opengroup
+openlib
+openlibs
+openmpi
+Openmpi
+openmpi's
+ops
+optarg
+optim
+optimisation
+optimizable
+optimizition
+optind
+optionlist
+optionnal
+optype
+org
+organisation
+orig
+os
+osf
+ossp
+OSSP
+OSX
+ot
+OtherCpuInfo
+otherqueue
+ouais
+oublock
+oucp
+oustanding
+outArc
+outbuf
+outcnt
+outcount
+outDegree
+outedge
+outedges
+outgroup
+outputfiles
+OutputStreamWrapper
+outter
+outtype
+outVal
+overflooding
+overriden
+oversubscribing
+Ozen
+packArray
+packbuf
+packsize
+PackUnpack
+paction
+padc
+pagebase
+pagemask
+pagesize
+pairtype
+pairtypes
+paje
+Paje
+PAJE
+pajeAddVariable
+PajeAddVariable
+pajeCreateContainer
+PajeCreateContainer
+pajeDefineContainerType
+PajeDefineContainerType
+pajeDefineEntityValue
+PajeDefineEntityValue
+pajeDefineEventType
+PajeDefineEventType
+pajeDefineLinkType
+PajeDefineLinkType
+pajeDefineStateType
+PajeDefineStateType
+pajeDefineVariableType
+PajeDefineVariableType
+pajeDestroyContainer
+PajeDestroyContainer
+pajeEndLink
+PajeEndLink
+pajeNewEvent
+PajeNewEvent
+pajeng
+PajeNG
+pajePopState
+PajePopState
+pajePushState
+PajePushState
+pajeResetState
+PajeResetState
+pajeSetState
+PajeSetState
+pajeSetVariable
+PajeSetVariable
+pajeStartLink
+PajeStartLink
+pajeSubVariable
+PajeSubVariable
+Panagiotis
+pangram
+paralle
+parallelCreate
+param
+PARAM
+paramater
+parametre
+params
+Params
+paramsâ
+PARAMTYPE
+ParComp
+parenrt
+ParentCat
+PARENTWIN
+pareto
+pariticipate
+parmap
+PARMAP
+parserPromela
+partask
+particulary
+pasbuf
+Patarasuk
+PATARASUK
+patchlevel
+PATCHLEVEL
+PATERN
+PATHCC
+PathScale
+PATHSCALE
+pb
+pc
+pcall
+pcap
+PcapHelperForDevice
+PcapUserHelperForDevice
+pcdata
+PCHAR
+pclose
+pcontext
+pcontrol
+Pcontrol
+pcount
+PCSTR
+PCWSTR
+pd
+PdbAge
+PdbSig
+PdbUnmatched
+PDF
+pdgemm
+pdrop
+PDWORD
+PEBKAC
+peername
+peerport
+pegasus
+PENUMDIRTREE
+PENUMLOADED
+perf
+perl
+perror
+petaflops
+PEXCEPTION
+pf
+Pf
+PF
+PFIND
+PFINDFILEINPATHCALLBACK
+PFINDFILEINPATHCALLBACKW
+pfn
+PFPO
+pfThreshold
+PFUNCTION
+pg
+PGET
+PGI
+PGIC
+phadjido
+phane
+phys
+pid
+PID
+PIDs
+PIMAGE
+PIMAGEHLP
+pingpong
+pipelength
+pipermail
+PIs
+PJ
+PKDHELP
+pkg
+pl
+Plaftorm
+platf
+PLATF
+platformFile
+PlatformId
+platfrom
+plib
+plist
+PLOADED
+pLog
+Plog
+PLONG
+PLS
+plt
+pm
+PMINIDUMP
+pml
+PML
+pmm
+PMODLOAD
+pmpi
+PMPI
+pof
+pogram
+POINTERINT
+pointn
+PointToPointChannel
+PointToPointNetDevice
+policyfor
+polimorfism
+pong
+pongs
+popbuffer
+poped
+popen
+POPEN
+popl
+poppack
+popq
+popState
+PopState
+pos
+posix
+Posix
+posr
+postexit
+postfini
+postition
+postparse
+postset
+posw
+pote
+Pouech
+pourcentage
+pown
+pp
+ppc
+ppf
+ppid
+PPID
+pprev
+ppvoid
+pqueue
+pr
+pragma
+PRAGMA
+pragram
+prcv
+pre
+Pre
+PREAD
+precv
+pred
+PRED
+predCS
+predecesor
+predicat
+predR
+prefered
+preinit
+preparse
+preposted
+preq
+prerm
+presolve
+prev
+prevblock
+prevcount
+prevsize
+pri
+printErrors
+printf
+PRINTF
+printRedOpt
+printStats
+PrintTable
+printTasks
+prio
+prioritarily
+PriorityClass
+PRIu
+priv
+PRN
+PRNG
+prob
+PROB
+proba
+probDrop
+probMark
+proc
+Proc
+PROC
+proccess
+procdata
+ProcessCreateTime
+ProcessHandle
+processid
+ProcessId
+ProcessKernelTime
+ProcessKilledError
+ProcessNodes
+ProcessNotFoundException
+ProcessorArchitecture
+ProcessorFeatures
+ProcessorLevel
+ProcessorRevision
+processt
+ProcessUserTime
+procgrid
+procmig
+procname
+procs
+PROCS
+proc's
+procstate
+PROCTREE
+ProductType
+prog
+Programatically
+promela
+proportionnal
+prot
+PROT
+protmoting
+PROTO
+protos
+ps
+pseed
+psend
+pseudorandom
+pshpack
+psize
+psizes
+psnd
+PSOURCEFILE
+PSOURCEFILEW
+PSRCCODEINFO
+PSRCCODEINFOW
+pstat
+pstate
+Pstate
+pstates
+PSTATES
+PSTR
+pSym
+PSYM
+PSYMBOL
+PSYMBOLSERVERCALLBACKPROC
+PSYMBOLSERVERCLOSEPROC
+PSYMBOLSERVERGETOPTIONSPROC
+PSYMBOLSERVEROPENPROC
+PSYMBOLSERVERPINGPROC
+PSYMBOLSERVERPINGPROCA
+PSYMBOLSERVERPINGPROCW
+PSYMBOLSERVERPROC
+PSYMBOLSERVERPROCA
+PSYMBOLSERVERPROCW
+PSYMBOLSERVERSETOPTIONSPROC
+pt
+ptask
+ptg
+PTG
+pth
+PTH
+pthread
+pthreads
+ptime
+ptmp
+PtoP
+PtoPComm
+ptp
+ptr
+Ptr
+PTR
+PTRANSLATE
+ptrdiff
+ptrs
+ptype
+PUCHAR
+PULONG
+PUs
+pushboolean
+pushbuffer
+pushcclosure
+pushcfunction
+pushfstring
+pushinteger
+pushl
+pushlightuserdata
+pushline
+pushliteral
+pushnil
+pushnumber
+pushq
+pushState
+PushState
+pushstring
+pushthread
+pushvalue
+Puta
+putc
+pvelho
+PVM
+pvoid
+PVOID
+pw
+PWCHAR
+PWSTR
+px
+py
+pyjamas
+qavg
+qMax
+qmin
+QNX
+QNXNTO
+qq
+qreq
+qs
+qsort
+QUERYCANCEL
+queueFactory
+quinson
+ra
+rab
+Rabenseifner's
+Radclif
+Ralf
+rall
+rand
+randdp
+randfile
+randInt
+RandInt
+randlc
+RANDLC
+randNum
+RandomFeatures
+randU
+RandU
+randval
+rankdir
+rankmap
+ranksep
+ranksin
+ranksout
+RAS
+rastro
+ratetimeparse
+rawctx
+RAWCTX
+rawequal
+rawget
+rawgeti
+rawset
+rax
+rb
+rbp
+rbuf
+rbuff
+rbx
+rc
+rchild
+rchksum
+rcond
+rcount
+rcounts
+rctx
+RCV
+rcvbuf
+rcvd
+rcvinc
+rcx
+rdb
+rdcount
+rdi
+rdir
+rdisp
+rdispls
+rdisps
+RDONLY
+rdtype
+rdv
+RDV
+RDWR
+rdx
+readed
+readv
+READV
+realloc
+realloced
+reallocing
+realmain
+realsegsize
+REALTIME
+reasking
+rec
+REC
+receieved
+receiveBounded
+receve
+recieve
+recieved
+Recieved
+recursiveDestroyContainer
+recursiveDestroyType
+recursivedoubling
+recursiveGraphExtraction
+recursivehalving
+recursiveNewUserStateType
+recursiveNewUserVariableType
+recursiveNewValueForUserStateType
+recursiveNewVariableType
+recursiveXBTGraphExtraction
+recv
+Recv
+RECV
+recvbuf
+recvcnts
+recvcontext
+recvcount
+recvcounts
+recvd
+recvdispl
+recvdispls
+recvdisps
+recv'ed
+recvext
+recvfrom
+recvlen
+recvMsg
+recvptr
+recvs
+recvstatus
+recvtag
+recvtype
+recvtypes
+redbcast
+redist
+Redistibution
+RedQueue
+REDQueue
+RedRandom
+reducescatter
+ReduceStreams
+reenable
+reenables
+refcount
+refcounter
+referene
+refernce
+reg
+Reg
+regex
+registred
+REGISTRYINDEX
+REGREL
+REGRELATIVE
+reinit
+reinited
+reinitialise
+reinitialization
+Reinits
+rel
+ReleaseDoubleArrayElements
+ReleaseSemaphore
+ReleaseStringUTFChars
+relink
+relm
+relock
+relrank
+relstderr
+rem
+remaint
+remalloc
+remaning
+remeber
+remoteChannelFactory
+removeChildContainer
+remsize
+rendez
+Rendez
+renitialize
+reorded
+Reparse
+representating
+req
+ReqKinds
+ReqOffsets
+reqq
+reqs
+ReqSizes
+ReqStride
+ReqsValid
+requets
+requiers
+resa
+Resample
+ReservedCharacteristics
+ReservedCheckSum
+ReservedCodeViewSymbols
+ReservedDebugDirectory
+ReservedDebugFilePath
+ReservedExportedNames
+ReservedExportedNamesSize
+ReservedFpoTableEntries
+ReservedFunctionTableEntries
+ReservedHighestFunctionEndingAddress
+ReservedLowestFunctionStartingAddress
+ReservedMachine
+ReservedMappedBase
+ReservedNumberOfDebugDirectories
+ReservedNumberOfFpoTableEntries
+ReservedNumberOfFunctionTableEntries
+ReservedNumberOfSections
+ReservedOriginalFunctionTableBaseAddress
+ReservedRomImage
+ReservedSections
+ReservedSize
+ReservedSizeOfCodeViewSymbols
+ReservedStream
+ReservedTimeDateStamp
+ResetEvent
+resetNextSubstream
+ResetNextSubstream
+resetStart
+ResetStartStream
+resetStartSubstream
+ResetStartSubstream
+resetState
+ResetState
+resfeat
+resid
+resizedtype
+resp
+responsability
+resultlen
+resultLen
+ret
+retask
+retcode
+rethrow
+RETHROW
+RETHROWF
+rethrown
+retl
+retq
+Retrive
+retrived
+Retrun
+ReturnOffset
+returnWithVal
+retv
+retval
+retvalue
+rexcl
+rext
+rextent
+RGB
+rhon
+rhoq
+rhos
+rhs
+rhv
+ric
+ridicullously
+rightsize
+rin
+rincl
+riscos
+rlb
+rleader
+rlen
+rm
+RM
+RMA
+Rmask
+RMGR
+rms
+rmsg
+rmsm
+rmutex
+rname
+rnd
+rndnum
+rndval
+rng
+RngSream
+rngstream
+RngStream
+RNGSTREAM
+rnm
+robl
+ROMIO
+rootContainer
+rootprocs
+rootType
+routearg
+routerNode
+RoutingManual
+rowwise
+rp
+rpc
+rpos
+rr
+RR
+rrank
+rreq
+rrequest
+rsag
+rse
+rsend
+Rsend
+rset
+rsi
+rsize
+rsp
+Rsp
+rsz
+rt
+rtfs
+rtime
+RTLD
+rtrim
+rtrue
+RTT
+rtype
+ru
+rulebased
+runall
+runfile
+rusage
+RUSAGE
+rv
+RVA
+rvp
+rvpoint
+rw
+rx
+ry
+sa
+sA
+SA
+sascha
+SavedReq
+saveKeyval
+sb
+sB
+sbrk
+sbuf
+sbuff
+sC
+Scalasca
+scancel
+SCANF
+scatterv
+Scatterv
+SCATTERV
+scdispls
+Scecific
+scellLog
+scellMax
+schar
+scharacter
+sched
+SCHED
+schedulable
+SCHEDULABLE
+scheduleDAX
+schedulel
+schedulev
+schemaLocation
+schild
+schnorr
+Schnorr
+scinbuf
+scm
+scname
+SCO
+scomm
+sconstant
+sCopied
+sCopying
+scount
+scounts
+scoutbuf
+sd
+SD
+sData
+sdcc
+SDCC
+sdisp
+sdispls
+sdisps
+SDK
+SDL
+sdouble
+sdsc
+sdterr
+sdtype
+seander
+searchsub
+SearchTreeForFile
+SearchTreeForFileW
+sec
+sedding
+seedf
+seedx
+seedz
+seg
+segcount
+SEGCOUNT
+segfault
+segfaults
+segindex
+segmenets
+segsize
+SEGSIZE
+SEGV
+seing
+sel
+SelectedSymbol
+selfgroup
+selfid
+sem
+SEM
+semanticaly
+sempahore
+sendBounded
+sendbuf
+sendcnts
+sendcount
+sendcounts
+senddispl
+senddispls
+senddisps
+sended
+sendext
+sendMsg
+sendpid
+sendptr
+Sendreceive
+sendrecv
+Sendrecv
+SendRecv
+SENDRECV
+sendrecvs
+SendResults
+sendsize
+sendtag
+sendtmpbuf
+sendtmpcount
+sendtmptype
+sendto
+sendtype
+sendtypes
+sentBytes
+Sentinal
+sep
+SEP
+seperates
+seq
+SEQ
+seqs
+seqtask
+serie
+SERVICABLE
+ses
+setA
+setaffinity
+setAntithetic
+SetAntithetic
+setAsyncMailbox
+setAutoRestart
+setB
+SetBooleanField
+setbuf
+SetChannelAttribute
+setComputationAmount
+setComputeDuration
+setcontext
+SETCONTEXT
+setCpuUsed
+SetData
+setDataSize
+setdefault
+SetDeviceAttribute
+SetDoubleField
+setenv
+SetEvent
+setfenv
+setfield
+setget
+SetIntField
+setItemcontent
+setjmp
+setjump
+setKillTime
+setlocale
+SetLongField
+setMemoryUsed
+setmetatable
+SetMode
+setName
+SetObjectArrayElement
+SetObjectField
+setPackageSeed
+SetPackageSeed
+setparams
+SetParams
+setPriority
+setProperty
+SetQueue
+setSeed
+SetSeed
+setset
+SETSET
+setspecific
+setstacksize
+setState
+SetState
+SetThreadContext
+settop
+setVariable
+SetVariable
+setvbuf
+sevAttn
+sevFatal
+sevInfo
+sevMax
+sevProblem
+sext
+sextent
+sfield
+sFinished
+sFirst
+sg
+SGI
+sglua
+SGU
+sha
+SHA
+SHARC
+SHell
+shiftA
+shiftB
+shiftC
+shiftD
+shiftE
+shiftedrank
+shiftS
+shiftW
+shl
+shm
+shmurtz
+shortint
+shoud
+shouldnt
+shriked
+SHRT
+SHx
+si
+sibuf
+sid
+sig
+SIG
+SIGABRT
+sigaction
+SIGALRM
+sigaltstack
+SIGBUS
+SIGCHLD
+SIGCONT
+sigemptyset
+SIGFPE
+sighandler
+SIGHUP
+SIGILL
+SIGINT
+SIGIO
+sigjmp
+SIGKILL
+siglongjmp
+sigmask
+signficant
+signum
+SIGPIPE
+SIGPROF
+SIGQUIT
+SIGSEGV
+sigset
+sigsetjmp
+sigstack
+SIGSTOP
+SIGSYS
+SIGTERM
+SIGTRAP
+SIGTSTP
+SIGTTIN
+SIGTTOU
+SIGURG
+SIGUSR
+SIGVTALRM
+sigwaiter
+SIGWINCH
+SIGXCPU
+SIGXFSZ
+sim
+SIM
+Simcal
+simcall
+SIMCALL
+simcalls
+Simcalls
+SIMCALLS
+simdag
+Simdag
+SimDag
+simdata
+simgrid
+Simgrid
+simgrid's
+Simgrid's
+SimGrid's
+simix
+Simix
+simplfy
+simplifyied
+simulacrum
+sinbuf
+sinix
+sint
+sinteger
+sizeof
+SIZEOF
+SizeOfCoffSymbols
+SizeOfContext
+SizeOfCvRecord
+SizeOfImage
+SizeOfInfo
+sizeofint
+SIZEOFKEY
+SizeOfMiscRecord
+SizeOfStruct
+sizeoftype
+SJLJ
+skaddr
+skbuf
+sKeeping
+skiped
+sksize
+skyblue
+slavename
+slavenames
+slb
+sleeptime
+slen
+slimit
+SLMFLAG
+slogical
+sM
+sMaestro
+SMALLAMOUNT
+sMetatable
+smethod
+smp
+SMP
+smpi
+smpicc
+smpif
+SMPIF
+smpiff
+SMPI's
+SMPs
+smsg
+smurf
+SMURF
+smx
+SMX
+smxhost
+smxprocess
+sn
+snapshooting
+snd
+SND
+sndbuf
+sndinc
+sNo
+sNothing
+snprintf
+SNPRINTF
+soe
+sofar
+solaris's
+somes
+somewhereelse
+sophia
+sould
+sourcearchive
+sourceContainer
+SourceContainer
+SourceContainerType
+SOURCEFILE
+SOURCEFILEW
+sourceforge
+SourceIndexed
+soutbuf
+sp
+SP
+sparameter
+sparc
+Sparc
+sparent
+sparsetype
+splitcomm
+splited
+Spliting
+splitted
+SplittedBinary
+SPMD
+sponding
+sprintf
+sr
+srand
+srandom
+Srandom
+srank
+src
+SRC
+srcArray
+SRCCODEINFO
+SRCCODEINFOW
+srcdst
+srcs
+SRCSPEW
+sreq
+srequest
+SRL
+ss
+sscanf
+ssend
+Ssend
+SSEND
+ssh
+ssig
+ssize
+SSJLJ
+ssr
+SSR
+SSRVACTION
+SSRVOPT
+sta
+sTable
+StackBase
+StackEnd
+STACKFRAME
+STACKGROWTH
+StackOffset
+stackoverflow
+stacksize
+StackWalk
+STag
+staic
+stanford
+STARMPI
+startall
+Startall
+STARTALL
+StartContainer
+StartContainerType
+StartIdlePeriod
+startLink
+StartLink
+StartOfMemoryRange
+startTime
+stat
+STAT
+stateActionA
+stateActionB
+stateActionC
+stateful
+statename
+statenames
+StateType
+StatusEmpty
+std
+Std
+STD
+stdarg
+STDARG
+stdbool
+STDC
+stdcall
+STDCALL
+stddef
+STDDEF
+stdDeviation
+stderr
+stdev
+stdin
+STDINIT
+stdint
+STDINT
+stdlib
+STDLIB
+stdout
+stime
+storageId
+storagelevel
+storagetype
+str
+STR
+strbuff
+STRBUFF
+strcasecmp
+strcat
+strchr
+strcmp
+strcpy
+strcspn
+strdup
+strdup'ed
+StreamDirectoryRva
+StreamType
+strerror
+strftime
+strided
+strideType
+STRIN
+stringify
+STRINGIFY
+strlen
+STRLEN
+strncmp
+strncpy
+strrchr
+strs
+strspn
+strstr
+strtod
+strtok
+strtol
+strtoul
+struct
+STRUCT
+structs
+structype
+strue
+studently
+stype
+subarray
+SUBARRAY
+subas
+subcat
+subcategories
+subcategory
+SUBCATEGORY
+subcmd
+subcommunicator
+subl
+submatrix
+SUBMINOR
+subpipe
+subq
+subrow
+subseq
+subsize
+subsizes
+subst
+substract
+Substract
+substruct
+subsubtype
+subtee
+subtypep
+subVariable
+SubVariable
+succ
+Succ
+succeded
+succefully
+sucess
+SuiteMask
+suitename
+sumcomm
+suming
+Summa
+sumval
+SunOS
+SUNPRO
+supassing
+sur
+surfxml
+SURFXML
+suseconds
+SuspendCount
+SUSv
+Suter
+SV
+sval
+svalue
+svn
+swapcontext
+sx
+sy
+sym
+SYM
+SymAddSymbol
+SymAddSymbolW
+symb
+SYMBOLW
+SymCleanup
+SymCoff
+SymCv
+SymDeferred
+SymDeleteSymbol
+SymDeleteSymbolW
+SymDia
+SymEnumerateModules
+SymEnumerateModulesW
+SymEnumerateSymbols
+SymEnumerateSymbolsW
+SymEnumLines
+SymEnumLinesW
+SymEnumSourceFiles
+SymEnumSourceFilesW
+SymEnumSourceLines
+SymEnumSourceLinesW
+SymEnumSymbols
+SymEnumSymbolsForAddr
+SymEnumSymbolsForAddrW
+SymEnumSymbolsW
+SymEnumTypes
+SymEnumTypesW
+SymExport
+SYMF
+SymFindDebugInfoFile
+SymFindDebugInfoFileW
+SymFindExecutableImage
+SymFindExecutableImageW
+SymFindFileInPath
+SymFindFileInPathW
+SYMFLAG
+SymFromAddr
+SymFromAddrW
+SymFromIndex
+SymFromIndexW
+SymFromName
+SymFromNameW
+SymFromToken
+SymFromTokenW
+SymFunctionTableAccess
+SymGetFileLineOffsets
+SymGetHomeDirectory
+SymGetHomeDirectoryW
+SymGetLineFromAddr
+SymGetLineFromAddrW
+SymGetLineFromName
+SymGetLineFromNameW
+SymGetLineNext
+SymGetLineNextW
+SymGetLinePrev
+SymGetLinePrevW
+SymGetModuleBase
+SymGetModuleInfo
+SymGetModuleInfoW
+SymGetOptions
+SymGetScope
+SymGetScopeW
+SymGetSearchPath
+SymGetSearchPathW
+SymGetSourceFile
+SymGetSourceFileFromToken
+SymGetSourceFileFromTokenW
+SymGetSourceFileToken
+SymGetSourceFileTokenW
+SymGetSourceFileW
+SymGetSourceVarFromToken
+SymGetSourceVarFromTokenW
+SymGetSymFromAddr
+SymGetSymFromName
+SymGetSymNext
+SymGetSymNextW
+SymGetSymPrev
+SymGetSymPrevW
+SymGetTypeFromName
+SymGetTypeFromNameW
+SymGetTypeInfo
+SymGetTypeInfoEx
+SYMINDEX
+SymInitialize
+SymInitializeW
+SymLoadModule
+SymLoadModuleEx
+SymLoadModuleExW
+SymMatchFileName
+SymMatchFileNameW
+SymMatchString
+SymMatchStringA
+SymMatchStringW
+symmertical
+SYMNAME
+SymNone
+SYMOPT
+SYMPATH
+SymPdb
+SymRegisterCallback
+SymRegisterCallbackW
+SymRegisterFunctionEntryCallback
+syms
+SYMS
+SYMSEARCH
+SymSearchW
+SymSetContext
+SymSetHomeDirectory
+SymSetHomeDirectoryW
+SymSetOptions
+SymSetParentWindow
+SymSetSearchPath
+SymSetSearchPathW
+SymSym
+SYMTAG
+SymType
+SymUnDName
+SymUnloadModule
+SymVirtual
+synchro
+Synchro
+SYNCHRO
+synchronisation
+Synchro's
+syntaxically
+syscall
+syscalls
+sysconf
+SYSCONF
+sysctl
+SYSCTL
+sysdep
+SYSDEP
+sysinfo
+syssgi
+SystemInfoStream
+SystemRangeStart
+sysv
+sz
+tableptr
+tagADDRESS
+TagFilter
+TAGL
+TagsFound
+tahoe
+taille
+tand
+TARNAME
+taskA
+taskB
+taskBind
+taskC
+TaskCancelledException
+taskD
+taskE
+taskFin
+taskFinal
+taskInit
+taskmax
+taskmin
+taskname
+tata
+tatu
+tavailability
+tAVG
+tbi
+TBOOLEAN
+TBps
+tBread
+tbw
+TCHAR
+tClose
+tConstraint
+tcontent
+tContent
+tcp
+TcpModel
+TcpProtocol
+tcpsend
+tcpserver
+TCPServer
+TCPTR
+tdispls
+TDOUBLE
+tdown
+Teb
+techreport
+tempbuf
+tempcol
+tempCol
+Tennesse
+teraflops
+Terascale
+terminaison
+terminason
+TerminateThread
+tError
+tesh
+TESH
+teshsuite
+TEst
+testall
+Testall
+testany
+Testany
+TESTANY
+testgraph
+TestIntercomm
+testname
+testnum
+TESTSIZE
+testsome
+Testsome
+testsuite
+Testsuite
+TESTSUITE
+testTask
+tex
+textent
+Tf
+tflag
+tFlag
+TFLOAT
+tFull
+TFUNCTION
+tGet
+tgmr
+tha
+Thakur
+tHave
+ThCallbackBStore
+ThCallbackStack
+thehost
+THISADJUST
+THISARCH
+thiskey
+thislen
+thislevel
+thissuite
+THISTYPE
+thisunit
+thr
+thre
+ThreadCallback
+ThreadContext
+threadCoroutine
+ThreadEx
+ThreadExCallback
+ThreadExListStream
+ThreadHandle
+ThreadId
+ThreadInfoListStream
+threadLevel
+THREADLEVEL
+ThreadListStream
+threadtimer
+ThreadWriteBackingStore
+ThreadWriteContext
+ThreadWriteFlags
+ThreadWriteInstructionWindow
+ThreadWriteStack
+ThreadWriteThread
+ThreadWriteThreadData
+ThreadWriteThreadInfo
+THREED
+threeslice
+thres
+thresho
+threshol
+thresholdN
+thresholdPriority
+throught
+throwable
+THROWF
+ThrowNew
+tialisation
+TiB
+TiBps
+tid
+TigerSHARC
+tigger
+tiletype
+tiletypes
+timeb
+timecounter
+timedacquire
+TimeDateStamp
+timedlock
+TIMEDLOCK
+timedwait
+TIMEDWAIT
+timeing
+timeouted
+TimeoutException
+timespec
+timeval
+timout
+TINYC
+TinyCC
+tl
+tlat
+TLIGHTUSERDATA
+tLink
+TLONG
+TLS
+TlsAlloc
+TlsFree
+TlsGetValue
+TLSREL
+TlsSetValue
+tm
+tmax
+tMAX
+tmgr
+TMGR
+tmin
+tmodel
+tMount
+tmp
+TMP
+tmpA
+tmpB
+tmpbuf
+tmpbufs
+tmpComm
+tmpl
+tmpnd
+tmprecv
+tmpS
+tmpsend
+tmpType
+tname
+TNIL
+tnlen
+tnode
+tNon
+tns
+tnstr
+TNUMBER
+toadd
+toboolean
+toc
+tocfunction
+tocopy
+todo
+Todo
+ToDo
+TODO
+TOFIX
+tointeger
+tok
+Tokenize
+tolower
+tonumber
+TOOBIG
+Toole
+tooshort
+TOpaqOverview
+tOpen
+topo
+Topo
+TOPO
+topointer
+ToPointer
+topollogy
+Topoloby
+topoloty
+Topoloty
+topush
+TOS
+tostr
+tostring
+totalBytes
+TotalBytes
+totalHosts
+totalLinks
+totComparators
+toterr
+toterrs
+toto
+totoXXXtatu
+totoXXXtutu
+totoXXXtutu'XXXtata
+totsize
+tounserialize
+toupper
+touserdata
+toutes
+TPDS
+tpower
+tproperties
+tProperty
+TPTR
+trac
+TraceContainer
+tracefile
+Tracefile
+tracefilename
+tran
+tranfert
+tRank
+trans
+transblock
+transblockpad
+transfered
+TransferFailureException
+transmition
+transtyping
+transxyfin
+transxyglo
+transxyloc
+transxzfin
+transxzglo
+transxzloc
+trashbin
+trbuf
+trecvcounts
+tRemaining
+Tremblay
+Treumann
+Triming
+tripleType
+triva
+Triva
+trivaEdgeTypes
+trivaNodeTypes
+trouting
+tru
+TRUC
+trylock
+TRYLOCK
+trywait
+tsbuf
+TSC
+tSee
+tsend
+tSend
+TSHORT
+tsize
+tSize
+TSIZE
+TSPEC
+tstart
+tstate
+tStorage
+tstr
+TSTRING
+tsum
+tt
+TTABLE
+tThere
+TTHREAD
+ttype
+tu
+TUCHAR
+TUINT
+TULONG
+tUnlink
+tup
+tUpdate
+tuser
+TUSERDATA
+TUSHORT
+tututu
+tutuXXXtata
+tv
+tValue
+tVector
+TVOID
+twincell
+TWOD
+twoint
+twoslice
+tWrite
+tx
+txt
+TxTime
+ty
+typebuf
+typebufsz
+typeclass
+TYPECLASS
+typeId
+TypeId
+TYPEID
+TypeIds
+typeidx
+TypeIndex
+TypeInfo
+typelng
+TYPELNG
+typemapstring
+typename
+typep
+typerror
+typesize
+tz
+uaddr
+ub
+UB
+uc
+uchar
+UCHAR
+ucinbuf
+ucomm
+uconst
+uconstant
+ucontext
+UCONTEXT
+ucontextes
+ucontexts
+Ucontexts
+ucoutbuf
+ucp
+ucsc
+uctx
+ud
+udata
+Udi
+UDT
+UDTKIND
+ue
+uelm
+ui
+UI
+uinbuf
+uint
+UINT
+uintptr
+uj
+ul
+UL
+ulinbuf
+ull
+ULL
+ulong
+ULONG
+uloutbuf
+ultraclean
+ultrix
+UMontreal
+un
+unavail
+unbench
+UNCACHED
+uncat
+UNCAT
+uncatched
+unchocked
+unchoke
+UNCHOKE
+unchoked
+UNCHOKED
+unchoking
+UnDecorateSymbolName
+UnDecorateSymbolNameW
+undef
+undefine
+Undefine
+UNDNAME
+unfreeze
+unhandled
+unimplememted
+uninited
+uninitialization
+Uninitializes
+UNINTERSTED
+uniq
+unistd
+UNISTD
+unitname
+unix
+UnknownProcessProp
+UnloadedModuleListStream
+unlocker
+unmap
+UnmapDebugInformation
+unmapping
+Unmapping
+UNPAREN
+unpropper
+unpublish
+Unpublish
+unput
+unref
+unschedule
+Unschedules
+unserialisation
+unserialization
+unserialize
+unshift
+Unshift
+Unsortable
+untimed
+unuse
+unusedAlignment
+UnusedStream
+unw
+unwatch
+uoi
+uop
+uoutbuf
+upate
+upatras
+upto
+uptodate
+upvalue
+upvalues
+URC
+url
+usageOutput
+USCORE
+usec
+useconds
+usecs
+usefull
+Usefull
+userdata
+username
+userop
+userparam
+UserStreamArray
+UserStreamCount
+userTime
+usgin
+USHORT
+usinbuf
+usize
+usleep
+usoutbuf
+usr
+UTC
+util
+utils
+UTILS
+UTK
+utm
+Uuuh
+ux
+UX
+va
+val
+valgrind
+Valgrind
+VALGRIND
+valin
+valist
+valout
+vals
+valuelen
+valueN
+VALUEPRESENT
+valuestr
+var
+vararg
+varargs
+VARGET
+vargs
+VariableType
+variadic
+VARINIT
+vars
+Vars
+varsize
+varsubst
+vasnprintf
+VASNPRINTF
+vasprintf
+VASPRINTF
+vaxc
+vb
+vcalc
+vcheck
+vec
+VEC
+vecin
+vecout
+vecs
+vect
+VectorInit
+vectorizable
+vectorized
+vectype
+vegas
+Velho
+VELHO
+Velho's
+veloce
+VendorId
+ver
+VER
+verif
+verifcation
+VersionInfo
+VersionInformation
+verson
+veryPicky
+vextent
+vfprintf
+virt
+virtu
+VIRTU
+VIRTUALBASECLASS
+VIRTUALBASEPOINTEROFFSET
+VIRTUALTABLESHAPEID
+VisualAge
+VISUALC
+VisualDSP
+VISUALDSPVERSION
+vitual
+vivaldi
+vizualization
+vkid
+vm
+VM
+vmName
+vms
+VMs
+vmVariableDeclare
+vmVariableSet
+vname
+voidp
+VOIDP
+vous
+Vous
+vp
+vprintf
+vrank
+vranlc
+Vranlc
+VRP
+VRR
+VRRP
+vsnprintf
+VSNPRINTF
+vsprintf
+VSS
+vtype
+vval
+vvalue
+VVRR
+VVRRPP
+VVRRPPPP
+VVRRPPPPP
+VVRRTPPPP
+VVVRRRPPP
+waitall
+Waitall
+WAITALL
+waitany
+Waitany
+WAITANY
+waitCompletion
+waitFor
+WaitForMultipleObjects
+WaitForSingleObject
+waitpid
+waitsome
+Waitsome
+WaitTimeout
+walltimer
+Warshall
+wasCalled
+watchpoint
+Watcom
+WATCOMC
+waxman
+Waxman
+WCE
+wchar
+WCHAR
+wcomm
+wd
+wdir
+webloria
+webpages
+weibull
+WEXITSTATUS
+wfd
+wgroup
+wGroup
+WH
+whdc
+wheather
+whereto
+whitespaces
+Wi
+wich
+widly
+WIFEXITED
+WIFSIGNALED
+wihtout
+wikipedia
+Willenson
+WINAPI
+WinDef
+WindowFilter
+WindowSize
+winName
+WINNT
+winsock
+wint
+Wipeout
+WKS
+wLog
+Wlog
+Wo
+wocomm
+WorkflowGenerator
+workqueue
+workstationA
+WorkstationAttribute
+workstationB
+workusecs
+worldrank
+wouldBlock
+wr
+wrank
+wRank
+writeback
+WriteState
+WriteStateFull
+wrt
+ws
+WSAEINPROGRESS
+WSAETIMEDOUT
+WSAEWOULDBLOCK
+wscale
+wsize
+wSize
+wsl
+wsL
+WTERMSIG
+WTF
+WTH
+wtick
+Wtick
+WTICK
+wtime
+Wtime
+WTIME
+www
+xargc
+xargv
+xbt
+XBT
+xbtdata
+xce
+xdiv
+xdoukas
+xend
+Xin
+xkcd
+XL
+xlC
+xml
+XMLfiles
+xmlns
+XMLSchema
+xmove
+xN
+XOPEN
+xor
+XPG
+xpose
+xRy
+xsd
+XSH
+xsi
+xstart
+xsubi
+xtype
+xxcon
+xxrss
+xxx
+XXX
+xxxx
+XXXX
+XXXXX
+xyz
+XYZ
+yay
+ydiv
+yend
+Yf
+yieldTo
+yottaflops
+ystart
+yxz
+yy
+YY
+yyalloc
+yybytes
+yycon
+yyconst
+yyfree
+yyin
+yyinput
+yyl
+yyleng
+yyless
+yylex
+yylineno
+yylval
+yymore
+yyout
+yyparse
+yyrealloc
+yyrestart
+YYSTATE
+yystr
+YYSTYPE
+YYTABLES
+yyterminate
+yytext
+yyunput
+yywrap
+YYY
+YYYY
+YYYYMMDD
+zd
+zegura
+Zegura
+zend
+zeroblock
+zerocounts
+zero'd
+zero'ing
+zerotype
+zettaflops
+Zf
+zOS
+zstart
+zu
+zxy
+zyx
+zzcon
diff --git a/tools/spell/spell.sh b/tools/spell/spell.sh
new file mode 100644 (file)
index 0000000..406d634
--- /dev/null
@@ -0,0 +1 @@
+(find ./ -name '*.[ch]' | xargs perl tools/spell/lspell2.pl tools/spell/sg_stopwords.txt ; find ./ -name '*.[ch]' | xargs perl tools/spell/lspell.pl tools/spell/sg_stopwords.txt ) | grep -v ':' | sort -f | uniq 
\ No newline at end of file
index c611336..b31a3fc 100644 (file)
@@ -85,7 +85,7 @@ void rctx_init(void)
   sigwaiter_mutex = xbt_os_mutex_init();
   sigwaiter_cond = xbt_os_cond_init();
   xbt_os_mutex_acquire(sigwaiter_mutex);
-  sigwaiter_thread = xbt_os_thread_create("Armaggedon request waiter",
+  sigwaiter_thread = xbt_os_thread_create("Armageddon request waiter",
                                           armageddon_sigwaiter, NULL, NULL);
   /* Wait for thread to start... */
   xbt_os_cond_wait(sigwaiter_cond, sigwaiter_mutex);