--- /dev/null
+<?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>
examples/msg/masterslave/simgrid.so
examples/simdag/simgrid.so
examples/lua/console/simgrid.so
+simgrid.jar
################################################
### Units and supernovae files
src/smpi/smpicc
src/smpi/smpirun
simgrid-*.tar.gz
+testprog
################################################
### Cmake files
################################################
### Specific of project
-.project
.settings/
+.csettings/
.anjuta
.anjuta_sym_db.db
simgrid.anjuta
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
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
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
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
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
teshsuite/smpi/pingpong
teshsuite/smpi/reduce
teshsuite/smpi/scatter
+teshsuite/smpi/shared
teshsuite/smpi/smpi_sendrecv
teshsuite/smpi/split
teshsuite/smpi/struct_test
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
--- /dev/null
+<?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>
--- /dev/null
+@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},
+}
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
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)
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>
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)
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()
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)
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)
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)
# 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)
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()
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()
# 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()
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
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
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
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
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
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)
# 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}
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
\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,
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.
<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
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>
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
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.
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
_________
\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,
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.
\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
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 :
\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:
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
\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
</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
</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 :
\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.
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">
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 :
\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.
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).
\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.
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
\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):
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
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) {
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) {
package bittorrent;
import java.util.Arrays;
-import org.simgrid.msg.Msg;
public class Connection {
/**
* Remote peer id
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.Map.Entry;
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
*/
peerChoosed = null;
}
j++;
- } while (peerChoosed == null && j <
- Common.MAXIMUM_PEERS);
+ } while (peerChoosed == null && j < Common.MAXIMUM_PEERS);
}
else {
Connection fastest = null;
*/
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.
*/
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) {
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;
/*
- * 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();
}
}
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 {
* 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;
* 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;
* 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
* 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;
* 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 {
}
* 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 {
<?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>
! 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
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 {
*/
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
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);
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.
> [ 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"
> [ 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"
> [ 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"
/* 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
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>
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, ...);
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);
*
* 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.
*
/* 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
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) {
(JNIEnv *, jclass, jint);
/*
* Class org_simgrid_msg_Process
- * Method waitFor
+ * Method getProperty
* Signature (D)V
*/
JNIEXPORT jobject JNICALL
(JNIEnv *, jobject, jdouble);
/**
* Class org_simgrid_msg_Task
- * Method setComputationAmount
+ * Method setComputeDuration
* Signature (D)V
*/
JNIEXPORT void JNICALL
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);
}
/**
- * Register applicaiton for MSG
+ * Register application for MSG
*/
static int msg_register_application(lua_State * L)
{
/* 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);
*/
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 *************************/
/*******************************************/
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
#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"
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;
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);
}
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);
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,
" 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);
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
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");
}
-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");
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");
fprintf(tracing_file, "%%EndEventDef\n");
}
-static void TRACE_header_PajeResetState (int basic)
+static void TRACE_header_PajeResetState (int basic, int size)
{
if (basic) return;
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");
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");
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");
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
container_t container;
type_t type;
val_t value;
+ int size;
}s_pushState_t;
typedef struct s_popState *popState_t;
container_t sourceContainer;
char *value;
char *key;
+ int size;
}s_startLink_t;
typedef struct s_endLink *endLink_t;
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);
}
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);
+ }
+
}
}
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);
+ }
}
}
((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);
((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);
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);
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);
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);
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 */
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
* 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)
/** @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,
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,
* 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's Law",
SD_task_get_name(task), task->workstation_nb,
task->computation_amount[0]);
xbt_dynar_foreach(task->tasks_before, cpt, dep) {
*
* \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)
* \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,
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();
}
/**
- * 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)
{
#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,
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);
}
/**
#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);
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();
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);
}
{
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;
}
}
- xbt_dynar_reset(SIMIX_host_priv(host)->auto_restart_processes);
+ xbt_dynar_reset(process_list);
}
void SIMIX_host_autorestart(smx_host_t host)
--- /dev/null
+#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;
+}
/* 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)
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;
}
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)
"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);
}
if (total_count == 0) {
+ xbt_free(disps);
return MPI_ERR_COUNT;
}
if (mpi_errno) return(mpi_errno);
}
-return MPI_SUCCESS;
+ xbt_free(disps);
+ xbt_free(tmp_recvbuf);
+
+ return MPI_SUCCESS;
}
}
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) {
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;\
}\
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");
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);
}
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;
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)
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;
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)
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;
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)
#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);
/* 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);
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
#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) {*/
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)
{
#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);
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);
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);
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);
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);
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);
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
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);
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) {
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
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;
}
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;
}
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)) ||
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;
}
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)) ||
} else if (recvcounts == NULL || displs == NULL) {
retval = MPI_ERR_ARG;
} else {
-
char* sendtmpbuf = (char*) sendbuf;
int sendtmpcount = sendcount;
MPI_Datatype sendtmptype = 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;
}
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)) ||
(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;
}
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)) ||
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;
}
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;
}
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) {
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;
}
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;
}
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) {
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 ) {
}
retval = MPI_SUCCESS;
-
- }
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
TRACE_smpi_computing_in(rank);
#endif
+ }
+
smpi_bench_begin();
return retval;
}
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) {
} 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;
}
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) {
} 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;
}
{
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) {
} 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;
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;
}
{
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) {
} 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;
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;
}
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;
}
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
|| 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;
}
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);
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);
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);
#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);
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
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);
#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
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);
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);
#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);
#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);
#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,
#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);
#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);
#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,
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";
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";
}
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,
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;
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;
}
/* 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
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;
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 */
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 */
lmm_variable_t var = NULL;
/*
- * Auxiliar variables.
+ * Auxiliary variables.
*/
int iteration = 0;
double tmp = 0;
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[] = {
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;
}
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",
/* 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);
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);
-}
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
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;
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;
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);
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;
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);
/** @brief Constructor
*
- * Initialise an config set
+ * Initialise a config set
*/
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);
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);
}
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];
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)
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);
}
}
#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");
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();
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(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)
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
}
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 );
}
}
}
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 );
}
}
}
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 );
}
}
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)
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)
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
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);
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");
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)
/* 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_) \
int main(int argc, char **argv)
{
int errs = 0;
- int i;
int rank, size;
int *sbuf = NULL;
int *rbuf = NULL;
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
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));
int main(int argc, char **argv)
{
- int i, j;
int rank, size;
int *buf = NULL;
int *recvbuf = NULL;
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);
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);
{
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);
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);
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;
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)
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)
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
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)
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)
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
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) {
#define TEST_HINDEXED_BLOCK 1
#endif
+#if defined(TEST_HINDEXED_BLOCK)
static int verbose = 0;
+#endif
/* tests */
int hindexed_block_contig_test(void);
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) */
} \
} 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;
{
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,
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);
}
/* set up type */
- err = MPI_Type_vector(10,
+ /* err = */ MPI_Type_vector(10,
2,
2,
MPI_INT,
buf = (char *) malloc(sizeoftype);
position = 0;
- err = MPI_Pack_external((char*)"external32",
+ /* err = */ MPI_Pack_external((char*)"external32",
array,
1,
parent_type,
memset(array, 0, 20 * sizeof(int));
position = 0;
- err = MPI_Unpack_external((char*)"external32",
+ /* err = */ MPI_Unpack_external((char*)"external32",
buf,
sizeoftype,
&position,
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);
}
/* set up type */
- err = MPI_Type_struct(10,
+ /* err = */ MPI_Type_struct(10,
blocks,
indices,
types,
buf = (char *) malloc(sizeoftype);
position = 0;
- err = MPI_Pack_external((char*)"external32",
+ /* err = */ MPI_Pack_external((char*)"external32",
array,
1,
parent_type,
memset(array, 0, 20 * sizeof(int));
position = 0;
- err = MPI_Unpack_external((char*)"external32",
+ /* err = */ MPI_Unpack_external((char*)"external32",
buf,
sizeoftype,
&position,
{
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,
char *buf;
int i, sizeofint, sizeoftype, position;
- int err, errs = 0;
+ int /* err, */ errs = 0;
MPI_Type_size(MPI_INT, &sizeofint);
}
/* set up type */
- err = MPI_Type_vector(10,
+ /* err = */ MPI_Type_vector(10,
2,
2,
MPI_INT,
buf = (char *) malloc(sizeoftype);
position = 0;
- err = MPI_Pack(array,
+ /* err = */ MPI_Pack(array,
1,
parent_type,
buf,
memset(array, 0, 20 * sizeof(int));
position = 0;
- err = MPI_Unpack(buf,
+ /* err = */ MPI_Unpack(buf,
sizeoftype,
&position,
array,
MPI_Datatype row, xpose;
MPI_Aint sizeofint;
- int err, errs = 0;
+ int /* err, */ errs = 0;
int bufsize, position = 0;
void *buffer;
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,
/* Unpack the buffer into b. */
position = 0;
- err = MPI_Unpack(buffer,
+ /* err = */ MPI_Unpack(buffer,
bufsize,
&position,
b,
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()
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/")
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
)
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
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()
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/")
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
)
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
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()
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
)
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
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()
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/")
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
)
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
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()
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)
# 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
)
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
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()
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()
)
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
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()
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)
#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
)
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
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()
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)
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()
)
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
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()
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)
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()
)
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
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()
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()
)
set(examples_src
${examples_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/baseenvf90.f90
+ ${CMAKE_CURRENT_SOURCE_DIR}/baseenvf90.f90
PARENT_SCOPE
)
set(bin_files
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()
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)
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()
)
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
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)
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)
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
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)
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)
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
}
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 );
}
}
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)
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)
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
#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[] )
{
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;
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);
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++) {
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);
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;
MPI_Comm_rank( comm, &rank );
MPI_Comm_size( comm, &size );
- source = 0;
+ /* source = 0; */
dest = size - 1;
for (cs=0; cs<4; cs++) {
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;
MPI_Comm_rank( comm, &rank );
MPI_Comm_size( comm, &size );
- source = 0;
+ /* source = 0; */
dest = size - 1;
MTestPrintfMsg( 1, "Starting scancel test\n" );
# Build flags
$remove_this_pgm = 0;
-$clean_pgms = 1;
+$clean_pgms = 0;
my $program_wrapper = '';
# 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"; }
- 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/.*
--- /dev/null
+#!/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";
+ }
+}
--- /dev/null
+#!/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";
+ }
+}
--- /dev/null
+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
--- /dev/null
+(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
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);