From 69be1c2723a8ae01343cf1faba67091c49eff197 Mon Sep 17 00:00:00 2001 From: alegrand Date: Tue, 14 Aug 2007 09:01:31 +0000 Subject: [PATCH] Use tesh and add tests for simdag (thanks Fred). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@4084 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- examples/simdag/2clusters.xml | 119 ++++++++++++++++++++ examples/simdag/Makefile.am | 23 ++-- examples/simdag/Makefile.in | 91 +++++++++++---- examples/simdag/sd_test2.c | 180 ++++++++++++++++++++++++++++++ examples/simdag/test_simdag.tesh | 37 ++++++ examples/simdag/test_simdag2.tesh | 27 +++++ 6 files changed, 447 insertions(+), 30 deletions(-) create mode 100644 examples/simdag/2clusters.xml create mode 100644 examples/simdag/sd_test2.c create mode 100644 examples/simdag/test_simdag.tesh create mode 100644 examples/simdag/test_simdag2.tesh diff --git a/examples/simdag/2clusters.xml b/examples/simdag/2clusters.xml new file mode 100644 index 0000000000..29f173037e --- /dev/null +++ b/examples/simdag/2clusters.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/simdag/Makefile.am b/examples/simdag/Makefile.am index a65f7ac8b3..e10653813f 100644 --- a/examples/simdag/Makefile.am +++ b/examples/simdag/Makefile.am @@ -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 diff --git a/examples/simdag/Makefile.in b/examples/simdag/Makefile.in index 693e6fa51b..84492849d9 100644 --- a/examples/simdag/Makefile.in +++ b/examples/simdag/Makefile.in @@ -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 index 0000000000..5b0712e5f3 --- /dev/null +++ b/examples/simdag/sd_test2.c @@ -0,0 +1,180 @@ +#include +#include +#include + +#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 index 0000000000..6b38b4302b --- /dev/null +++ b/examples/simdag/test_simdag.tesh @@ -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 index 0000000000..abb7e8b996 --- /dev/null +++ b/examples/simdag/test_simdag2.tesh @@ -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 + -- 2.20.1