Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use tesh and add tests for simdag (thanks Fred).
authoralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 14 Aug 2007 09:01:31 +0000 (09:01 +0000)
committeralegrand <alegrand@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 14 Aug 2007 09:01:31 +0000 (09:01 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@4084 48e7efb5-ca39-0410-a469-dd3cf9ba447f

examples/simdag/2clusters.xml [new file with mode: 0644]
examples/simdag/Makefile.am
examples/simdag/Makefile.in
examples/simdag/sd_test2.c [new file with mode: 0644]
examples/simdag/test_simdag.tesh [new file with mode: 0644]
examples/simdag/test_simdag2.tesh [new file with mode: 0644]

diff --git a/examples/simdag/2clusters.xml b/examples/simdag/2clusters.xml
new file mode 100644 (file)
index 0000000..29f1730
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version='1.0'?>
+<!DOCTYPE platform_description SYSTEM "surfxml.dtd">
+<platform_description version="1">
+  <cpu name="C2-06" power="5000000000"/>
+  <cpu name="C1-03" power="1000000000"/>
+  <cpu name="C2-07" power="5000000000"/>
+  <cpu name="C2-09" power="5000000000"/>
+  <cpu name="C1-02" power="1000000000"/>
+  <cpu name="C2-08" power="5000000000"/>
+  <cpu name="C1-01" power="1000000000"/>
+  <cpu name="C1-04" power="1000000000"/>
+  <cpu name="C1-00" power="1000000000"/>
+  <cpu name="C2-05" power="5000000000"/>
+  <network_link name="6" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="11" bandwidth="125000000" latency="0.000100" sharing_policy="FATPIPE" />
+  <network_link name="3" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="7" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="9" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="12" bandwidth="1250000000" latency="0.000100"/>
+  <network_link name="2" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="14" bandwidth="1250000000" latency="0.050000"/>
+  <network_link name="8" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="1" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="4" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="0" bandwidth="125000000" latency="0.000100"/>
+  <network_link name="13" bandwidth="1250000000" latency="0.000100"/>
+  <network_link name="10" bandwidth="125000000" latency="0.000100" sharing_policy="FATPIPE" />
+  <network_link name="5" bandwidth="125000000" latency="0.000100"/>
+  <route src="C2-06" dst="C1-03"><route_element name="6"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C2-06" dst="C2-07"><route_element name="6"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C2-06" dst="C2-09"><route_element name="6"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C2-06" dst="C1-02"><route_element name="6"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C2-06" dst="C2-08"><route_element name="6"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C2-06" dst="C1-01"><route_element name="6"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C2-06" dst="C1-04"><route_element name="6"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C2-06" dst="C1-00"><route_element name="6"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C2-06" dst="C2-05"><route_element name="6"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C1-03" dst="C2-06"><route_element name="3"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C1-03" dst="C2-07"><route_element name="3"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C1-03" dst="C2-09"><route_element name="3"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C1-03" dst="C1-02"><route_element name="3"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C1-03" dst="C2-08"><route_element name="3"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C1-03" dst="C1-01"><route_element name="3"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C1-03" dst="C1-04"><route_element name="3"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C1-03" dst="C1-00"><route_element name="3"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C1-03" dst="C2-05"><route_element name="3"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C2-07" dst="C2-06"><route_element name="7"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C2-07" dst="C1-03"><route_element name="7"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C2-07" dst="C2-09"><route_element name="7"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C2-07" dst="C1-02"><route_element name="7"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C2-07" dst="C2-08"><route_element name="7"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C2-07" dst="C1-01"><route_element name="7"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C2-07" dst="C1-04"><route_element name="7"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C2-07" dst="C1-00"><route_element name="7"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C2-07" dst="C2-05"><route_element name="7"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C2-09" dst="C2-06"><route_element name="9"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C2-09" dst="C1-03"><route_element name="9"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C2-09" dst="C2-07"><route_element name="9"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C2-09" dst="C1-02"><route_element name="9"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C2-09" dst="C2-08"><route_element name="9"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C2-09" dst="C1-01"><route_element name="9"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C2-09" dst="C1-04"><route_element name="9"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C2-09" dst="C1-00"><route_element name="9"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C2-09" dst="C2-05"><route_element name="9"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C1-02" dst="C2-06"><route_element name="2"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C1-02" dst="C1-03"><route_element name="2"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C1-02" dst="C2-07"><route_element name="2"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C1-02" dst="C2-09"><route_element name="2"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C1-02" dst="C2-08"><route_element name="2"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C1-02" dst="C1-01"><route_element name="2"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C1-02" dst="C1-04"><route_element name="2"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C1-02" dst="C1-00"><route_element name="2"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C1-02" dst="C2-05"><route_element name="2"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C2-08" dst="C2-06"><route_element name="8"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C2-08" dst="C1-03"><route_element name="8"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C2-08" dst="C2-07"><route_element name="8"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C2-08" dst="C2-09"><route_element name="8"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C2-08" dst="C1-02"><route_element name="8"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C2-08" dst="C1-01"><route_element name="8"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C2-08" dst="C1-04"><route_element name="8"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C2-08" dst="C1-00"><route_element name="8"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C2-08" dst="C2-05"><route_element name="8"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C1-01" dst="C2-06"><route_element name="1"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C1-01" dst="C1-03"><route_element name="1"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C1-01" dst="C2-07"><route_element name="1"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C1-01" dst="C2-09"><route_element name="1"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C1-01" dst="C1-02"><route_element name="1"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C1-01" dst="C2-08"><route_element name="1"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C1-01" dst="C1-04"><route_element name="1"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C1-01" dst="C1-00"><route_element name="1"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C1-01" dst="C2-05"><route_element name="1"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C1-04" dst="C2-06"><route_element name="4"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C1-04" dst="C1-03"><route_element name="4"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C1-04" dst="C2-07"><route_element name="4"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C1-04" dst="C2-09"><route_element name="4"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C1-04" dst="C1-02"><route_element name="4"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C1-04" dst="C2-08"><route_element name="4"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C1-04" dst="C1-01"><route_element name="4"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C1-04" dst="C1-00"><route_element name="4"/><route_element name="10"/><route_element name="0"/>  </route>
+  <route src="C1-04" dst="C2-05"><route_element name="4"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C1-00" dst="C2-06"><route_element name="0"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C1-00" dst="C1-03"><route_element name="0"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C1-00" dst="C2-07"><route_element name="0"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C1-00" dst="C2-09"><route_element name="0"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C1-00" dst="C1-02"><route_element name="0"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C1-00" dst="C2-08"><route_element name="0"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C1-00" dst="C1-01"><route_element name="0"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C1-00" dst="C1-04"><route_element name="0"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C1-00" dst="C2-05"><route_element name="0"/><route_element name="10"/><route_element name="12"/><route_element name="14"/><route_element name="13"/><route_element name="11"/><route_element name="5"/>  </route>
+  <route src="C2-05" dst="C2-06"><route_element name="5"/><route_element name="11"/><route_element name="6"/>  </route>
+  <route src="C2-05" dst="C1-03"><route_element name="5"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="3"/>  </route>
+  <route src="C2-05" dst="C2-07"><route_element name="5"/><route_element name="11"/><route_element name="7"/>  </route>
+  <route src="C2-05" dst="C2-09"><route_element name="5"/><route_element name="11"/><route_element name="9"/>  </route>
+  <route src="C2-05" dst="C1-02"><route_element name="5"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="2"/>  </route>
+  <route src="C2-05" dst="C2-08"><route_element name="5"/><route_element name="11"/><route_element name="8"/>  </route>
+  <route src="C2-05" dst="C1-01"><route_element name="5"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="1"/>  </route>
+  <route src="C2-05" dst="C1-04"><route_element name="5"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="4"/>  </route>
+  <route src="C2-05" dst="C1-00"><route_element name="5"/><route_element name="11"/><route_element name="13"/><route_element name="14"/><route_element name="12"/><route_element name="10"/><route_element name="0"/>  </route>
+</platform_description>
index a65f7ac..e106538 100644 (file)
@@ -1,13 +1,20 @@
-INCLUDES= -I$(top_srcdir)/include
-AM_CFLAGS=-g
-EXTRA_DIST= small_platform.xml
+INCLUDES = -I$(top_srcdir)/include
+AM_CFLAGS = -g
+EXTRA_DIST = 2clusters.xml
 
-CLEANFILES=sd_test.trace
+CLEANFILES = sd_test.trace
 
-TESTS=test_simdag
-check_PROGRAMS=sd_test
+TESTS_ENVIRONMENT = $(top_builddir)/tools/tesh/tesh
 
-sd_test_SOURCES= sd_test.c
-sd_test_LDADD= $(top_builddir)/src/libsimgrid.la
+TESTS = test_simdag.tesh test_simdag2.tesh 
+check_PROGRAMS = sd_test sd_test2
+
+bin_PROGRAMS = 
+
+sd_test_SOURCES = sd_test.c
+sd_test_LDADD =        $(top_builddir)/src/libsimgrid.la
+
+sd_test2_SOURCES = sd_test2.c
+sd_test2_LDADD = $(top_builddir)/src/libsimgrid.la
 
 include $(top_srcdir)/acmacro/dist-files.mk
index 693e6fa..8449284 100644 (file)
@@ -18,6 +18,7 @@
 # into the distribution.
 
 # It is intended to be included in all Makefile.am 
+
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -37,7 +38,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-check_PROGRAMS = sd_test$(EXEEXT)
+check_PROGRAMS = sd_test$(EXEEXT) sd_test2$(EXEEXT)
+bin_PROGRAMS =
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(srcdir)/test_simdag.in $(top_srcdir)/acmacro/dist-files.mk
 subdir = examples/simdag
@@ -55,9 +57,15 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/src/gras_config.h
 CONFIG_CLEAN_FILES = test_simdag
+am__installdirs = "$(DESTDIR)$(bindir)"
+binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS)
 am_sd_test_OBJECTS = sd_test.$(OBJEXT)
 sd_test_OBJECTS = $(am_sd_test_OBJECTS)
 sd_test_DEPENDENCIES = $(top_builddir)/src/libsimgrid.la
+am_sd_test2_OBJECTS = sd_test2.$(OBJEXT)
+sd_test2_OBJECTS = $(am_sd_test2_OBJECTS)
+sd_test2_DEPENDENCIES = $(top_builddir)/src/libsimgrid.la
 DEFAULT_INCLUDES = -I. -I$(top_builddir)/src@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -70,8 +78,8 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
        --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
        $(LDFLAGS) -o $@
-SOURCES = $(sd_test_SOURCES)
-DIST_SOURCES = $(sd_test_SOURCES)
+SOURCES = $(sd_test_SOURCES) $(sd_test2_SOURCES)
+DIST_SOURCES = $(sd_test_SOURCES) $(sd_test2_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -212,11 +220,14 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 INCLUDES = -I$(top_srcdir)/include
 AM_CFLAGS = -g
-EXTRA_DIST = small_platform.xml
+EXTRA_DIST = 2clusters.xml
 CLEANFILES = sd_test.trace
-TESTS = test_simdag
+TESTS_ENVIRONMENT = $(top_builddir)/tools/tesh/tesh
+TESTS = test_simdag.tesh test_simdag2.tesh 
 sd_test_SOURCES = sd_test.c
 sd_test_LDADD = $(top_builddir)/src/libsimgrid.la
+sd_test2_SOURCES = sd_test2.c
+sd_test2_LDADD = $(top_builddir)/src/libsimgrid.la
 all: all-am
 
 .SUFFIXES:
@@ -252,6 +263,34 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
        cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 test_simdag: $(top_builddir)/config.status $(srcdir)/test_simdag.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+install-binPROGRAMS: $(bin_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         if test -f $$p \
+            || test -f $$p1 \
+         ; then \
+           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+          echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+          $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+         else :; fi; \
+       done
+
+uninstall-binPROGRAMS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+         echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+         rm -f "$(DESTDIR)$(bindir)/$$f"; \
+       done
+
+clean-binPROGRAMS:
+       @list='$(bin_PROGRAMS)'; for p in $$list; do \
+         f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+         echo " rm -f $$p $$f"; \
+         rm -f $$p $$f ; \
+       done
 
 clean-checkPROGRAMS:
        @list='$(check_PROGRAMS)'; for p in $$list; do \
@@ -262,6 +301,9 @@ clean-checkPROGRAMS:
 sd_test$(EXEEXT): $(sd_test_OBJECTS) $(sd_test_DEPENDENCIES) 
        @rm -f sd_test$(EXEEXT)
        $(LINK) $(sd_test_OBJECTS) $(sd_test_LDADD) $(LIBS)
+sd_test2$(EXEEXT): $(sd_test2_OBJECTS) $(sd_test2_DEPENDENCIES) 
+       @rm -f sd_test2$(EXEEXT)
+       $(LINK) $(sd_test2_OBJECTS) $(sd_test2_LDADD) $(LIBS)
 
 mostlyclean-compile:
        -rm -f *.$(OBJEXT)
@@ -270,6 +312,7 @@ distclean-compile:
        -rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sd_test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sd_test2.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -449,8 +492,11 @@ check-am: all-am
        $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
        $(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: check-am
-all-am: Makefile
+all-am: Makefile $(PROGRAMS)
 installdirs:
+       for dir in "$(DESTDIR)$(bindir)"; do \
+         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+       done
 install: install-am
 install-exec: install-exec-am
 install-data: install-data-am
@@ -478,8 +524,8 @@ maintainer-clean-generic:
        @echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
-       mostlyclean-am
+clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+       clean-libtool mostlyclean-am
 
 distclean: distclean-am
        -rm -rf ./$(DEPDIR)
@@ -501,7 +547,7 @@ install-data-am:
 
 install-dvi: install-dvi-am
 
-install-exec-am:
+install-exec-am: install-binPROGRAMS
 
 install-html: install-html-am
 
@@ -533,23 +579,24 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am:
+uninstall-am: uninstall-binPROGRAMS
 
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
-       clean-checkPROGRAMS clean-generic clean-libtool ctags \
-       distclean distclean-compile distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am
+       clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+       clean-libtool ctags distclean distclean-compile \
+       distclean-generic distclean-libtool distclean-tags distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-binPROGRAMS install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+       pdf pdf-am ps ps-am tags uninstall uninstall-am \
+       uninstall-binPROGRAMS
 
 
 dist-files:
diff --git a/examples/simdag/sd_test2.c b/examples/simdag/sd_test2.c
new file mode 100644 (file)
index 0000000..5b0712e
--- /dev/null
@@ -0,0 +1,180 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "simdag/simdag.h"
+#include "xbt/log.h"
+
+XBT_LOG_NEW_DEFAULT_CATEGORY(sd_test,
+                            "Logging specific to this SimDag example");
+
+static int nameCompareHosts(const void *n1, const void *n2)
+{
+  return strcmp(SD_workstation_get_name(*((SD_workstation_t *)n1)),
+               SD_workstation_get_name(*((SD_workstation_t *)n2)));
+}
+
+int main(int argc, char **argv) {
+  int i,j;
+  SD_task_t *changed_tasks;
+  /* initialisation of SD */
+  SD_init(&argc, argv);
+
+  /* creation of the environment */
+  SD_create_environment(argv[1]);
+
+  /* getting platform infos */
+  int n_hosts = SD_workstation_get_number();
+  const SD_workstation_t * hosts= SD_workstation_get_list();
+
+  /* sorting hosts by hostname */
+  qsort((void *)hosts,n_hosts,
+       sizeof(SD_workstation_t),nameCompareHosts);
+
+  /* creation of the tasks */
+  SD_task_t taskInit = SD_task_create("Initial",NULL,1.0);
+  SD_task_t PtoPComm1 = SD_task_create("PtoP Comm 1", NULL, 1.0);
+  SD_task_t PtoPComm2 = SD_task_create("PtoP Comm 2", NULL, 1.0);
+  SD_task_t ParComp_wocomm =  SD_task_create("Par Comp without comm", NULL, 1.0);
+  SD_task_t IntraRedist =  SD_task_create("intra redist", NULL, 1.0);
+  SD_task_t ParComp_wcomm1 =  SD_task_create("Par Comp with comm 1", NULL, 1.0);
+  SD_task_t InterRedist =  SD_task_create("inter redist", NULL, 1.0);
+  SD_task_t taskFinal = SD_task_create("Final",NULL,1.0);
+  SD_task_t ParComp_wcomm2 =  SD_task_create("Par Comp with comm 2", NULL, 1.0);
+  
+  /* creation of the dependencies */
+  SD_task_dependency_add(NULL, NULL, taskInit, PtoPComm1);
+  SD_task_dependency_add(NULL, NULL, taskInit, PtoPComm2);
+  SD_task_dependency_add(NULL, NULL, PtoPComm1, ParComp_wocomm);
+  SD_task_dependency_add(NULL, NULL, ParComp_wocomm, IntraRedist);
+  SD_task_dependency_add(NULL, NULL, IntraRedist, ParComp_wcomm1);
+  SD_task_dependency_add(NULL, NULL, ParComp_wcomm1, InterRedist);
+  SD_task_dependency_add(NULL, NULL, InterRedist, ParComp_wcomm2);
+  SD_task_dependency_add(NULL, NULL, ParComp_wcomm2, taskFinal);
+  SD_task_dependency_add(NULL, NULL, PtoPComm2, taskFinal);
+  
+  /* scheduling parameters */
+  
+  const double no_cost[] = {1.0, 1.0};
+  
+  /* large point-to-point communication (0.1 sec duration) */ 
+  double PtoPcomm1_table[] = { 0, 12500000, 0, 0 }; /* 100Mb */
+  SD_workstation_t PtoPcomm1_hosts[] = {hosts[0],hosts[1]};
+
+  /* small point-to-point communication (0.01 sec duration) */ 
+  double PtoPcomm2_table[] = { 0, 1250000, 0, 0 }; /* 10Mb */
+  SD_workstation_t PtoPcomm2_hosts[] = {hosts[0],hosts[2]};
+  /* parallel task without intra communications (1 sec duration) */
+  double ParComp_wocomm_cost[] = {1e+9,1e+9,1e+9,1e+9,1e+9}; /* 1 Gflop per Proc */
+  double *ParComp_wocomm_table = (double*) calloc (25, sizeof(double));
+  SD_workstation_t ParComp_wocomm_hosts[5];
+  for (i=0; i<5;i++){
+    ParComp_wocomm_hosts[i]=hosts[i];
+  }
+  
+  /* redistribution within a cluster (small latencies) */
+  /* each host send (4*2.5Mb =) 10Mb */
+  /* bandwidth is shared between 5 flows (0.05sec duration) */
+  double *IntraRedist_cost = (double*) calloc (5, sizeof(double));
+  double *IntraRedist_table = (double*) calloc (25, sizeof(double));
+  for (i=0;i<5;i++){
+    for (j=0;j<5;j++){
+      if (i==j) 
+       IntraRedist_table[i*5+j] = 0.;
+      else
+       IntraRedist_table[i*5+j] = 312500.; /* 2.5Mb */
+    }
+  }
+
+  SD_workstation_t IntraRedist_hosts[5];
+  for (i=0; i<5;i++){
+    IntraRedist_hosts[i]=hosts[i];
+  }
+  
+  /* parallel task with intra communications */
+  /* Computation domination (1 sec duration) */
+  double ParComp_wcomm1_cost[] = {1e+9,1e+9,1e+9,1e+9,1e+9}; /* 1 Gflop per Proc */
+  double *ParComp_wcomm1_table = (double*) calloc (25, sizeof(double));
+  SD_workstation_t ParComp_wcomm1_hosts[5];
+  for (i=0; i<5;i++){
+    ParComp_wcomm1_hosts[i]=hosts[i];
+  }
+
+  for (i=0;i<5;i++){
+    for (j=0;j<5;j++){
+      if (i==j) 
+       ParComp_wcomm1_table[i*5+j] = 0.;
+      else
+       ParComp_wcomm1_table[i*5+j] = 312500.; /* 2.5Mb */
+    }
+  }
+  
+  /* inter cluster redistribution (big latency on the backbone) */
+  /* (0.5sec duration without latency impact)*/
+  double *InterRedist_cost = (double*) calloc (10, sizeof(double));
+  double *InterRedist_table = (double*) calloc (100, sizeof(double));
+  for (i=0;i<5;i++){
+    InterRedist_table[i*10+i+5] = 1250000.; /* 10Mb */
+  }
+
+  /* parallel task with intra communications */
+  /* Communication domination (0.1 sec duration) */
+  double ParComp_wcomm2_cost[] = {1e+8,1e+8,1e+8,1e+8,1e+8}; /* 1 Gflop per Proc (0.02sec duration) */
+  double *ParComp_wcomm2_table = (double*) calloc (25, sizeof(double));
+  SD_workstation_t ParComp_wcomm2_hosts[5];
+  for (i=0; i<5;i++){
+    ParComp_wcomm2_hosts[i]=hosts[i+5];
+  }
+
+  for (i=0;i<5;i++){
+    for (j=0;j<5;j++){
+      if (i==j) 
+       ParComp_wcomm2_table[i*5+j] = 0.;
+      else
+       ParComp_wcomm2_table[i*5+j] = 625000.; /* 5Mb */
+    }
+  }
+  
+  /* Sequential task */
+  double final_cost = 5e+9;
+
+  /* scheduling the tasks */
+  SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0);
+  SD_task_schedule(PtoPComm1, 2, PtoPcomm1_hosts, no_cost, PtoPcomm1_table, -1.0);
+  SD_task_schedule(PtoPComm2, 2, PtoPcomm2_hosts, no_cost, PtoPcomm2_table, -1.0);
+  SD_task_schedule(ParComp_wocomm, 5, ParComp_wocomm_hosts, ParComp_wocomm_cost, ParComp_wocomm_table, -1.0);
+  SD_task_schedule(IntraRedist, 5, IntraRedist_hosts, IntraRedist_cost, IntraRedist_table, -1.0);
+  SD_task_schedule(ParComp_wcomm1, 5, ParComp_wcomm1_hosts, ParComp_wcomm1_cost, ParComp_wcomm1_table, -1.0);
+  SD_task_schedule(InterRedist, 10, hosts, InterRedist_cost, InterRedist_table, -1.0);
+  SD_task_schedule(ParComp_wcomm2, 5, ParComp_wcomm2_hosts, ParComp_wcomm2_cost, ParComp_wcomm2_table, -1.0);
+  SD_task_schedule(taskFinal, 1, &(hosts[9]), &final_cost, no_cost, -1.0);
+  
+  /* let's launch the simulation! */
+  changed_tasks = SD_simulate(-1.0);
+
+  free(changed_tasks);
+
+  free(ParComp_wocomm_table);
+  free(IntraRedist_cost);
+  free(IntraRedist_table);
+  free(ParComp_wcomm1_table);
+  free(InterRedist_cost);
+  free(InterRedist_table);
+  free(ParComp_wcomm2_table);
+  
+  SD_task_destroy(taskInit);
+  SD_task_destroy(PtoPComm1);
+  SD_task_destroy(PtoPComm2);
+  SD_task_destroy(ParComp_wocomm);
+  SD_task_destroy(IntraRedist);
+  SD_task_destroy(ParComp_wcomm1);
+  SD_task_destroy(InterRedist);
+  SD_task_destroy(ParComp_wcomm2);
+  SD_task_destroy(taskFinal);
+
+  SD_exit();
+  return 0;
+}
+
diff --git a/examples/simdag/test_simdag.tesh b/examples/simdag/test_simdag.tesh
new file mode 100644 (file)
index 0000000..6b38b43
--- /dev/null
@@ -0,0 +1,37 @@
+#! ./tesh
+
+p Simple test of simdag
+
+$ $SG_TEST_EXENV sd_test ${srcdir:=.}/../msg/msg_platform.xml
+> [0.000000] surf/workstation_ptask_L07.c:917: [surf_workstation/WARNING] This model does not take latency into account.
+> [0.000000] [sd_test/INFO] Computation time for 2000000.000000 flops on Fernand: 0.090289
+> [0.000000] [sd_test/INFO] Computation time for 1000000.000000 flops on Ethernet: 0.010194
+> [0.000000] [sd_test/INFO] Route between Fernand and Ethernet:
+> [0.000000] surf/workstation_ptask_L07.c:553: [surf_workstation/WARNING] This model does not take latency into account.
+> [0.000000] [sd_test/INFO]    Link 109: latency = 0.000000, bandwidth = 1858000.000000
+> [0.000000] [sd_test/INFO]    Link 33: latency = 0.000000, bandwidth = 34285625.000000
+> [0.000000] [sd_test/INFO]    Link 32: latency = 0.000000, bandwidth = 11618875.000000
+> [0.000000] [sd_test/INFO]    Link 30: latency = 0.000000, bandwidth = 10099625.000000
+> [0.000000] [sd_test/INFO]    Link 27: latency = 0.000000, bandwidth = 8015125.000000
+> [0.000000] [sd_test/INFO]    Link 28: latency = 0.000000, bandwidth = 15376875.000000
+> [0.000000] [sd_test/INFO]    Link 19: latency = 0.000000, bandwidth = 34285625.000000
+> [0.000000] [sd_test/INFO]    Link 7: latency = 0.000000, bandwidth = 34285625.000000
+> [0.000000] [sd_test/INFO]    Link 6: latency = 0.000000, bandwidth = 34285625.000000
+> [0.000000] [sd_test/INFO]    Link 11: latency = 0.000000, bandwidth = 118682500.000000
+> [0.000000] [sd_test/INFO]    Link 44: latency = 0.000000, bandwidth = 10314625.000000
+> [0.000000] [sd_test/INFO]    Link 47: latency = 0.000000, bandwidth = 10314625.000000
+> [0.000000] [sd_test/INFO]    Link 118: latency = 0.000000, bandwidth = 1467625.000000
+> [0.000000] [sd_test/INFO] Route latency = 0.000000, route bandwidth = 1467625.000000
+> [0.000000] [sd_test/INFO] Communication time for 2000000.000000 bytes between Fernand and Ethernet: 1.362746
+> [0.000000] [sd_test/INFO] Communication time for 3000000.000000 bytes between Ethernet and Fernand: 2.044119
+> [0.000000] [sd_test/INFO] Estimated time for 'Task D': 123.258786
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task 'Task D'
+> [204.411890] [sd_kernel/INFO] Task 'Task D' done
+> [204.411890] [sd_kernel/INFO] Executing task 'Task B'
+> [204.411890] [sd_kernel/INFO] Executing task 'Task C'
+> [340.686483] [sd_kernel/INFO] Task 'Task B' done
+> [340.686483] [sd_task/INFO] Watch point reached with task 'Task B'!
+> [340.686483] [sd_kernel/INFO] Simulation finished
+> [340.686483] [sd_test/INFO] Task 'Task D' start time: -1.000000, finish time: 204.411890
+> [340.686483] [sd_test/INFO] Task 'Task B' start time: -1.000000, finish time: 340.686483
diff --git a/examples/simdag/test_simdag2.tesh b/examples/simdag/test_simdag2.tesh
new file mode 100644 (file)
index 0000000..abb7e8b
--- /dev/null
@@ -0,0 +1,27 @@
+#! ./tesh
+
+p Simple test of simdag
+
+$ $SG_TEST_EXENV sd_test2 ${srcdir:=.}/2clusters.xml
+> [0.000000] surf/workstation_ptask_L07.c:917: [surf_workstation/WARNING] This model does not take latency into account.
+> [0.000000] [sd_kernel/INFO] Starting simulation...
+> [0.000000] [sd_kernel/INFO] Executing task 'Initial'
+> [0.000000] [sd_kernel/INFO] Task 'Initial' done
+> [0.000000] [sd_kernel/INFO] Executing task 'PtoP Comm 1'
+> [0.000000] [sd_kernel/INFO] Executing task 'PtoP Comm 2'
+> [0.020000] [sd_kernel/INFO] Task 'PtoP Comm 2' done
+> [0.115000] [sd_kernel/INFO] Task 'PtoP Comm 1' done
+> [0.115000] [sd_kernel/INFO] Executing task 'Par Comp without comm'
+> [1.115000] [sd_kernel/INFO] Task 'Par Comp without comm' done
+> [1.115000] [sd_kernel/INFO] Executing task 'intra redist'
+> [1.165000] [sd_kernel/INFO] Task 'intra redist' done
+> [1.165000] [sd_kernel/INFO] Executing task 'Par Comp with comm 1'
+> [2.165000] [sd_kernel/INFO] Task 'Par Comp with comm 1' done
+> [2.165000] [sd_kernel/INFO] Executing task 'inter redist'
+> [2.215000] [sd_kernel/INFO] Task 'inter redist' done
+> [2.215000] [sd_kernel/INFO] Executing task 'Par Comp with comm 2'
+> [2.315000] [sd_kernel/INFO] Task 'Par Comp with comm 2' done
+> [2.315000] [sd_kernel/INFO] Executing task 'Final'
+> [3.315000] [sd_kernel/INFO] Task 'Final' done
+> [3.315000] [sd_kernel/INFO] Simulation finished
+