From 6fe803617ce4e98547bf1d8c040a9576cc8e4eac Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Fri, 25 Mar 2016 15:23:44 +0100 Subject: [PATCH] one cmake file less --- .gitignore | 9 +- examples/simdag/CMakeLists.txt | 19 +- examples/simdag/{dot => dag-dotload}/dag.dot | 0 .../{dot => dag-dotload}/dag_with_cycle.dot | 0 .../sd_dag-dotload.c} | 0 .../simdag/dag-dotload/sd_dag-dotload.tesh | 228 +++++++ .../simdag/dax/simple_dax_with_cycle.tesh | 12 - .../{dax/sd_dax.c => daxload/sd_daxload.c} | 0 .../sd_dax.tesh => daxload/sd_daxload.tesh} | 14 +- .../simple_dax_with_cycle.xml | 0 examples/simdag/{dax => daxload}/smalldax.xml | 0 examples/simdag/dot/CMakeLists.txt | 17 - examples/simdag/dot/test_simdag_dotload.tesh | 557 ------------------ examples/simdag/{dot => ptg-dotload}/ptg.dot | 0 .../sd_ptg-dotload.c} | 0 .../simdag/ptg-dotload/sd_ptg-dotload.tesh | 93 +++ .../{dot => schedule-dotload}/.gitignore | 0 .../dag_with_bad_schedule.dot | 0 .../dag_with_good_schedule.dot | 0 .../sd_schedule-dotload.c} | 0 .../schedule-dotload/sd_schedule-dotload.tesh | 241 ++++++++ .../sd_throttling.c} | 0 .../sd_throttling.tesh} | 2 +- tools/cmake/DefinePackages.cmake | 1 - 24 files changed, 592 insertions(+), 601 deletions(-) rename examples/simdag/{dot => dag-dotload}/dag.dot (100%) rename examples/simdag/{dot => dag-dotload}/dag_with_cycle.dot (100%) rename examples/simdag/{dot/dot_test.c => dag-dotload/sd_dag-dotload.c} (100%) create mode 100644 examples/simdag/dag-dotload/sd_dag-dotload.tesh delete mode 100644 examples/simdag/dax/simple_dax_with_cycle.tesh rename examples/simdag/{dax/sd_dax.c => daxload/sd_daxload.c} (100%) rename examples/simdag/{dax/sd_dax.tesh => daxload/sd_daxload.tesh} (87%) rename examples/simdag/{dax => daxload}/simple_dax_with_cycle.xml (100%) rename examples/simdag/{dax => daxload}/smalldax.xml (100%) delete mode 100644 examples/simdag/dot/CMakeLists.txt delete mode 100644 examples/simdag/dot/test_simdag_dotload.tesh rename examples/simdag/{dot => ptg-dotload}/ptg.dot (100%) rename examples/simdag/{dot/ptg_test.c => ptg-dotload/sd_ptg-dotload.c} (100%) create mode 100644 examples/simdag/ptg-dotload/sd_ptg-dotload.tesh rename examples/simdag/{dot => schedule-dotload}/.gitignore (100%) rename examples/simdag/{dot => schedule-dotload}/dag_with_bad_schedule.dot (100%) rename examples/simdag/{dot => schedule-dotload}/dag_with_good_schedule.dot (100%) rename examples/simdag/{dot/simulate_dot.c => schedule-dotload/sd_schedule-dotload.c} (100%) create mode 100644 examples/simdag/schedule-dotload/sd_schedule-dotload.tesh rename examples/simdag/{comm_throttling/sd_comm_throttling.c => throttling/sd_throttling.c} (100%) rename examples/simdag/{comm_throttling/sd_comm_throttling.tesh => throttling/sd_throttling.tesh} (88%) diff --git a/.gitignore b/.gitignore index 1ac9db628e..d11288719d 100644 --- a/.gitignore +++ b/.gitignore @@ -195,15 +195,16 @@ examples/msg/trace-platform/trace-platform examples/msg/tracing/user_variables examples/s4u/basic/s4u_basic examples/s4u/io/s4u_io -examples/simdag/dax/sd_dax -examples/simdag/dot/dot_test -examples/simdag/dot/simulate_dot +examples/simdag/daxload/sd_daxload +examples/simdag/dag-dotload/sd_dag-dotload +examples/simdag/ptg-dotload/sd_ptg-dotload +examples/simdag/schedule-dotload/sd_schedule-dotload examples/simdag/goal/goal_test examples/simdag/io/sd_io examples/simdag/properties/sd_properties examples/simdag/scheduling/sd_scheduling examples/simdag/availability/sd_availability -examples/simdag/comm_throttling/sd_comm_throttling +examples/simdag/throttling/sd_throttling examples/simdag/fail/sd_fail examples/simdag/test/sd_test examples/simdag/typed_tasks/sd_typed_tasks diff --git a/examples/simdag/CMakeLists.txt b/examples/simdag/CMakeLists.txt index f470387892..94a35c850f 100644 --- a/examples/simdag/CMakeLists.txt +++ b/examples/simdag/CMakeLists.txt @@ -1,4 +1,4 @@ -foreach(x availability dax fail typed_tasks io properties comm_throttling scheduling test) +foreach(x availability daxload fail typed_tasks io properties throttling dag-dotload ptg-dotload schedule-dotload scheduling test) add_executable (sd_${x} ${x}/sd_${x}.c) target_link_libraries(sd_${x} simgrid) set_target_properties(sd_${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) @@ -10,15 +10,18 @@ add_executable (goal_test goal/goal_test.c) target_link_libraries(goal_test simgrid) set_target_properties(goal_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/goal) -set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/goal/goal_test.c PARENT_SCOPE) -set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/dax/simple_dax_with_cycle.tesh PARENT_SCOPE) +set(tesh_files ${tesh_files} PARENT_SCOPE) +set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/goal/goal_test.c PARENT_SCOPE) set(xml_files ${xml_files} ${CMAKE_CURRENT_SOURCE_DIR}/scheduling/Montage_25.xml ${CMAKE_CURRENT_SOURCE_DIR}/dax/simple_dax_with_cycle.xml - ${CMAKE_CURRENT_SOURCE_DIR}/dax/smalldax.xml PARENT_SCOPE) -set(bin_files ${bin_files} ${CMAKE_CURRENT_SOURCE_DIR}/platform_script.lua PARENT_SCOPE) + ${CMAKE_CURRENT_SOURCE_DIR}/dax/smalldax.xml PARENT_SCOPE) +set(bin_files ${bin_files} ${CMAKE_CURRENT_SOURCE_DIR}/platform_script.lua PARENT_SCOPE) +set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/dag-dotload/dag_with_cycle.dot + ${CMAKE_CURRENT_SOURCE_DIR}/dag-dotload/dag.dot + ${CMAKE_CURRENT_SOURCE_DIR}/ptg-dotload/ptg.dot + ${CMAKE_CURRENT_SOURCE_DIR}/schedule-dotload/dag_with_bad_schedule.dot + ${CMAKE_CURRENT_SOURCE_DIR}/schedule-dotload/dag_with_good_schedule.dot PARENT_SCOPE) -foreach(x availability dax fail typed_tasks io properties comm_throttling scheduling test) +foreach(x availability daxload fail typed_tasks io properties throttling dag-dotload ptg-dotload schedule-dotload scheduling test) ADD_TESH(simdag-${x} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/simdag --cd ${CMAKE_BINARY_DIR}/examples/simdag ${CMAKE_HOME_DIRECTORY}/examples/simdag/${x}/sd_${x}.tesh) endforeach() - -ADD_TESH(simdag-dax-cycle --setenv bindir=${CMAKE_BINARY_DIR}/examples/simdag/dax --cd ${CMAKE_HOME_DIRECTORY}/examples/simdag/dax simple_dax_with_cycle.tesh) diff --git a/examples/simdag/dot/dag.dot b/examples/simdag/dag-dotload/dag.dot similarity index 100% rename from examples/simdag/dot/dag.dot rename to examples/simdag/dag-dotload/dag.dot diff --git a/examples/simdag/dot/dag_with_cycle.dot b/examples/simdag/dag-dotload/dag_with_cycle.dot similarity index 100% rename from examples/simdag/dot/dag_with_cycle.dot rename to examples/simdag/dag-dotload/dag_with_cycle.dot diff --git a/examples/simdag/dot/dot_test.c b/examples/simdag/dag-dotload/sd_dag-dotload.c similarity index 100% rename from examples/simdag/dot/dot_test.c rename to examples/simdag/dag-dotload/sd_dag-dotload.c diff --git a/examples/simdag/dag-dotload/sd_dag-dotload.tesh b/examples/simdag/dag-dotload/sd_dag-dotload.tesh new file mode 100644 index 0000000000..51a0029041 --- /dev/null +++ b/examples/simdag/dag-dotload/sd_dag-dotload.tesh @@ -0,0 +1,228 @@ +#! ./tesh +p Test the loader of DAG written in the DOT format + +$ $SG_TEST_EXENV ${bindir:=.}/dag-dotload/sd_dag-dotload --log=no_loc ${srcdir:=.}/../platforms/2clusters.xml ${srcdir:=.}/dag.dot +> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. +> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- +> [0.000000] [sd_task/INFO] Displaying task root +> [0.000000] [sd_task/INFO] - state: schedulable not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] Displaying task 0 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000129 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] Displaying task 1 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000131 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0->1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] Displaying task 2 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000121 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] Displaying task 3 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000231 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] Displaying task 4 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] Displaying task 5 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000046 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] Displaying task 6 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000092 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] Displaying task 7 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000041 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [sd_task/INFO] Displaying task 8 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000250 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] Displaying task 9 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000079 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 0->1 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10001 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] Displaying task 1->2 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10004 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] Displaying task 2->3 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10002 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] Displaying task 4->5 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10029 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 6->7 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] Displaying task 7->8 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] Displaying task 7->end +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task root->5 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task end +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000129 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [test/INFO] ------------------- Schedule tasks --------------------------- +> [0.000000] [test/INFO] ------------------- Run the schedule --------------------------- +> [62.002281] [test/INFO] ------------------- Produce the trace file--------------------------- +> [62.002281] [test/INFO] Producing the trace of the run into dag.trace + +$ cat ${srcdir:=.}/dag.trace +> [0.000000->0.000000] C2-05 compute 0.000000 flops # root +> [0.000000->2.000000] C2-06 compute 10000000129.452715 flops # 0 +> [2.000380->4.000380] C2-07 compute 10000000131.133657 flops # 1 +> [4.000760->6.000760] C2-08 compute 10000000121.124870 flops # 2 +> [6.001140->8.001140] C2-09 compute 10000000230.608025 flops # 3 +> [8.001140->18.001140] C1-00 compute 10000000004.994019 flops # 4 +> [18.001520->28.001520] C1-01 compute 10000000046.016401 flops # 5 +> [28.001520->38.001521] C1-02 compute 10000000091.598791 flops # 6 +> [38.001901->48.001901] C1-03 compute 10000000040.679438 flops # 7 +> [48.002281->58.002281] C1-04 compute 10000000250.490017 flops # 8 +> [58.002281->60.002281] C2-05 compute 10000000079.267649 flops # 9 +> [2.000000 -> 2.000380] C2-06 -> C2-07 transfer of 10001 bytes # 0->1 +> [4.000380 -> 4.000760] C2-07 -> C2-08 transfer of 10004 bytes # 1->2 +> [6.000760 -> 6.001140] C2-08 -> C2-09 transfer of 10002 bytes # 2->3 +> [18.001140 -> 18.001520] C1-00 -> C1-01 transfer of 10029 bytes # 4->5 +> [38.001521 -> 38.001901] C1-02 -> C1-03 transfer of 10005 bytes # 6->7 +> [48.001901 -> 48.002281] C1-03 -> C1-04 transfer of 10000 bytes # 7->8 +> [48.001901 -> 48.294118] C1-03 -> C2-05 transfer of 10014000 bytes # 7->end +> [0.000000 -> 0.292217] C2-05 -> C1-01 transfer of 10014000 bytes # root->5 +> [60.002281->62.002281] C2-05 compute 10000000129.452715 flops # end + +$ rm -f dag.trace dot.dot + +! expect return 2 +$ $SG_TEST_EXENV ${bindir:=.}/dag-dotload/sd_dag-dotload --log=no_loc ${srcdir:=.}/../platforms/2clusters.xml ${srcdir:=.}/dag_with_cycle.dot +> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. +> [0.000000] [sd_daxparse/WARNING] the task root is not marked +> [0.000000] [sd_daxparse/WARNING] the task 0 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 1 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 2 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 3 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 4 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 5 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 6 is in a cycle +> [0.000000] [sd_dotparse/ERROR] The DOT described in dag_with_cycle.dot is not a DAG. It contains a cycle. +> [0.000000] [test/CRITICAL] No dot loaded. Do you have a cycle in your graph? diff --git a/examples/simdag/dax/simple_dax_with_cycle.tesh b/examples/simdag/dax/simple_dax_with_cycle.tesh deleted file mode 100644 index 59cf02be65..0000000000 --- a/examples/simdag/dax/simple_dax_with_cycle.tesh +++ /dev/null @@ -1,12 +0,0 @@ -#! ./tesh -p Test the DAX loader with a DAX comprising a cycle. - -! expect return 255 -$ $SG_TEST_EXENV ${bindir:=.}/sd_dax --log=no_loc ${srcdir:=.}/../../platforms/2clusters.xml ./simple_dax_with_cycle.xml -> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. -> [0.000000] [sd_daxparse/WARNING] the task root is not marked -> [0.000000] [sd_daxparse/WARNING] the task 1@task1 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 2@task2 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 3@task3 is in a cycle -> [0.000000] [sd_daxparse/ERROR] The DAX described in simple_dax_with_cycle.xml is not a DAG. It contains a cycle. -> [0.000000] [test/ERROR] A problem occurred during DAX parsing (cycle or syntax). Do not continue this test diff --git a/examples/simdag/dax/sd_dax.c b/examples/simdag/daxload/sd_daxload.c similarity index 100% rename from examples/simdag/dax/sd_dax.c rename to examples/simdag/daxload/sd_daxload.c diff --git a/examples/simdag/dax/sd_dax.tesh b/examples/simdag/daxload/sd_daxload.tesh similarity index 87% rename from examples/simdag/dax/sd_dax.tesh rename to examples/simdag/daxload/sd_daxload.tesh index 7e33671be4..e458f06f3a 100644 --- a/examples/simdag/dax/sd_dax.tesh +++ b/examples/simdag/daxload/sd_daxload.tesh @@ -1,7 +1,7 @@ #! ./tesh p Test the DAX loader on a small DAX instance -$ $SG_TEST_EXENV ${bindir:=.}/dax/sd_dax --log=no_loc ${srcdir:=.}/../platforms/2clusters.xml ${srcdir:=.}/dax/smalldax.xml +$ $SG_TEST_EXENV ${bindir:=.}/daxload/sd_daxload --log=no_loc ${srcdir:=.}/../platforms/2clusters.xml ${srcdir:=.}/dax/smalldax.xml > [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. > [0.000000] [sd_daxparse/WARNING] Ignore file o1 size redefinition from 1000000 to 304 > [0.000000] [sd_daxparse/WARNING] Ignore file o2 size redefinition from 1000000 to 304 @@ -121,3 +121,15 @@ $ cat ${srcdir:=.}/dax/smalldax.trace > [84.066238] C1-00 compute 0.000000 # end $ cmake -E remove -f ${srcdir:=.}/dax.dot ${srcdir:=.}/dax/smalldax.trace + +p Test the DAX loader with a DAX comprising a cycle. + +! expect return 255 +$ $SG_TEST_EXENV ${bindir:=.}/daxload/sd_daxload --log=no_loc ${srcdir:=.}/../platforms/2clusters.xml ${srcdir:=.}/dax/simple_dax_with_cycle.xml +> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. +> [0.000000] [sd_daxparse/WARNING] the task root is not marked +> [0.000000] [sd_daxparse/WARNING] the task 1@task1 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 2@task2 is in a cycle +> [0.000000] [sd_daxparse/WARNING] the task 3@task3 is in a cycle +> [0.000000] [sd_daxparse/ERROR] The DAX described in simple_dax_with_cycle.xml is not a DAG. It contains a cycle. +> [0.000000] [test/ERROR] A problem occurred during DAX parsing (cycle or syntax). Do not continue this test diff --git a/examples/simdag/dax/simple_dax_with_cycle.xml b/examples/simdag/daxload/simple_dax_with_cycle.xml similarity index 100% rename from examples/simdag/dax/simple_dax_with_cycle.xml rename to examples/simdag/daxload/simple_dax_with_cycle.xml diff --git a/examples/simdag/dax/smalldax.xml b/examples/simdag/daxload/smalldax.xml similarity index 100% rename from examples/simdag/dax/smalldax.xml rename to examples/simdag/daxload/smalldax.xml diff --git a/examples/simdag/dot/CMakeLists.txt b/examples/simdag/dot/CMakeLists.txt deleted file mode 100644 index 5371f27070..0000000000 --- a/examples/simdag/dot/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -if(HAVE_GRAPHVIZ) - foreach(x dot_test ptg_test simulate_dot) - add_executable (${x} ${x}.c) - target_link_libraries(${x} simgrid) - set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}.c) - endforeach() - - ADD_TESH(simdag-dotload --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() - -set(examples_src ${examples_src} PARENT_SCOPE) -set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/test_simdag_dotload.tesh PARENT_SCOPE) -set(txt_files ${txt_files} ${CMAKE_CURRENT_SOURCE_DIR}/dag_with_bad_schedule.dot - ${CMAKE_CURRENT_SOURCE_DIR}/dag_with_cycle.dot - ${CMAKE_CURRENT_SOURCE_DIR}/dag_with_good_schedule.dot - ${CMAKE_CURRENT_SOURCE_DIR}/dag.dot - ${CMAKE_CURRENT_SOURCE_DIR}/ptg.dot PARENT_SCOPE) diff --git a/examples/simdag/dot/test_simdag_dotload.tesh b/examples/simdag/dot/test_simdag_dotload.tesh deleted file mode 100644 index e454ff820c..0000000000 --- a/examples/simdag/dot/test_simdag_dotload.tesh +++ /dev/null @@ -1,557 +0,0 @@ -#! ./tesh -p Test the loader of DAG written in the DOT format - -$ $SG_TEST_EXENV ./dot_test --log=no_loc ${srcdir:=.}/../../platforms/2clusters.xml ${srcdir:=.}/dag.dot -> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. -> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- -> [0.000000] [sd_task/INFO] Displaying task root -> [0.000000] [sd_task/INFO] - state: schedulable not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 0 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] root->5 -> [0.000000] [sd_task/INFO] 0 -> [0.000000] [sd_task/INFO] Displaying task 0 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000129 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 0->1 -> [0.000000] [sd_task/INFO] Displaying task 1 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000131 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 0->1 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 1->2 -> [0.000000] [sd_task/INFO] Displaying task 2 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000121 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 1->2 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 2->3 -> [0.000000] [sd_task/INFO] Displaying task 3 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000231 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 2->3 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 4 -> [0.000000] [sd_task/INFO] Displaying task 4 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000005 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 3 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 4->5 -> [0.000000] [sd_task/INFO] Displaying task 5 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000046 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 4->5 -> [0.000000] [sd_task/INFO] root->5 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 6 -> [0.000000] [sd_task/INFO] Displaying task 6 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000092 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 5 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 6->7 -> [0.000000] [sd_task/INFO] Displaying task 7 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000041 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 6->7 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 7->8 -> [0.000000] [sd_task/INFO] 7->end -> [0.000000] [sd_task/INFO] Displaying task 8 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000250 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7->8 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 9 -> [0.000000] [sd_task/INFO] Displaying task 9 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000079 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 8 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] end -> [0.000000] [sd_task/INFO] Displaying task 0->1 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10001 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 0 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 1 -> [0.000000] [sd_task/INFO] Displaying task 1->2 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10004 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 1 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 2 -> [0.000000] [sd_task/INFO] Displaying task 2->3 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10002 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 2 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 3 -> [0.000000] [sd_task/INFO] Displaying task 4->5 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10029 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 4 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 5 -> [0.000000] [sd_task/INFO] Displaying task 6->7 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10005 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 6 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [sd_task/INFO] Displaying task 7->8 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 8 -> [0.000000] [sd_task/INFO] Displaying task 7->end -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10014000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] end -> [0.000000] [sd_task/INFO] Displaying task root->5 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10014000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 5 -> [0.000000] [sd_task/INFO] Displaying task end -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000129 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7->end -> [0.000000] [sd_task/INFO] 9 -> [0.000000] [test/INFO] ------------------- Schedule tasks --------------------------- -> [0.000000] [test/INFO] ------------------- Run the schedule --------------------------- -> [62.002281] [test/INFO] ------------------- Produce the trace file--------------------------- -> [62.002281] [test/INFO] Producing the trace of the run into dag.trace - -$ cat ${srcdir:=.}/dag.trace -> [0.000000->0.000000] C2-05 compute 0.000000 flops # root -> [0.000000->2.000000] C2-06 compute 10000000129.452715 flops # 0 -> [2.000380->4.000380] C2-07 compute 10000000131.133657 flops # 1 -> [4.000760->6.000760] C2-08 compute 10000000121.124870 flops # 2 -> [6.001140->8.001140] C2-09 compute 10000000230.608025 flops # 3 -> [8.001140->18.001140] C1-00 compute 10000000004.994019 flops # 4 -> [18.001520->28.001520] C1-01 compute 10000000046.016401 flops # 5 -> [28.001520->38.001521] C1-02 compute 10000000091.598791 flops # 6 -> [38.001901->48.001901] C1-03 compute 10000000040.679438 flops # 7 -> [48.002281->58.002281] C1-04 compute 10000000250.490017 flops # 8 -> [58.002281->60.002281] C2-05 compute 10000000079.267649 flops # 9 -> [2.000000 -> 2.000380] C2-06 -> C2-07 transfer of 10001 bytes # 0->1 -> [4.000380 -> 4.000760] C2-07 -> C2-08 transfer of 10004 bytes # 1->2 -> [6.000760 -> 6.001140] C2-08 -> C2-09 transfer of 10002 bytes # 2->3 -> [18.001140 -> 18.001520] C1-00 -> C1-01 transfer of 10029 bytes # 4->5 -> [38.001521 -> 38.001901] C1-02 -> C1-03 transfer of 10005 bytes # 6->7 -> [48.001901 -> 48.002281] C1-03 -> C1-04 transfer of 10000 bytes # 7->8 -> [48.001901 -> 48.294118] C1-03 -> C2-05 transfer of 10014000 bytes # 7->end -> [0.000000 -> 0.292217] C2-05 -> C1-01 transfer of 10014000 bytes # root->5 -> [60.002281->62.002281] C2-05 compute 10000000129.452715 flops # end - -$ rm -f dag.trace - -! expect return 2 -$ $SG_TEST_EXENV ./simulate_dot --log=no_loc "--log=sd_dotparse.thres:verbose" ${srcdir:=.}/../../platforms/2clusters.xml ${srcdir:=.}/dag_with_bad_schedule.dot -> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. -> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task 'end' can not be scheduled on -1 hosts -> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task '1' can not be scheduled on 0 hosts -> [0.000000] [sd_dotparse/VERBOSE] Task '0' wants to start on performer '1' at the same position '1' as task '2' -> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task '3' can not be scheduled on -1 hosts -> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task 'root' can not be scheduled on -1 hosts -> [0.000000] [sd_dotparse/WARNING] The scheduling is ignored -> [0.000000] [test/CRITICAL] The dot file with the provided scheduling is wrong, more information with the option : --log=sd_dotparse.thres:verbose - -$ $SG_TEST_EXENV ./simulate_dot --log=no_loc ${srcdir:=.}/../../platforms/2clusters.xml ${srcdir:=.}/dag_with_good_schedule.dot -> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. -> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- -> [0.000000] [sd_task/INFO] Displaying task root -> [0.000000] [sd_task/INFO] - state: runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 0 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] root->5 -> [0.000000] [sd_task/INFO] 0 -> [0.000000] [sd_task/INFO] 1 -> [0.000000] [sd_task/INFO] Displaying task 0 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000129 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 0->2 -> [0.000000] [sd_task/INFO] 2 -> [0.000000] [sd_task/INFO] Displaying task 1 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000131 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 1->2 -> [0.000000] [sd_task/INFO] 4 -> [0.000000] [sd_task/INFO] Displaying task 2 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000121 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 3 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 0->2 -> [0.000000] [sd_task/INFO] 1->2 -> [0.000000] [sd_task/INFO] 0 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 2->3 -> [0.000000] [sd_task/INFO] 3 -> [0.000000] [sd_task/INFO] Displaying task 3 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000231 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 2->3 -> [0.000000] [sd_task/INFO] 2 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 4 -> [0.000000] [sd_task/INFO] 8 -> [0.000000] [sd_task/INFO] Displaying task 4 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000005 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 3 -> [0.000000] [sd_task/INFO] 1 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 4->5 -> [0.000000] [sd_task/INFO] 5 -> [0.000000] [sd_task/INFO] Displaying task 5 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000046 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 3 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root->5 -> [0.000000] [sd_task/INFO] 4->5 -> [0.000000] [sd_task/INFO] 4 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 6 -> [0.000000] [sd_task/INFO] Displaying task 6 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000092 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 5 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 6->7 -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [sd_task/INFO] Displaying task 7 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000041 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 6->7 -> [0.000000] [sd_task/INFO] 6 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 7->8 -> [0.000000] [sd_task/INFO] 7->end -> [0.000000] [sd_task/INFO] end -> [0.000000] [sd_task/INFO] Displaying task 8 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000250 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7->8 -> [0.000000] [sd_task/INFO] 3 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 9 -> [0.000000] [sd_task/INFO] Displaying task 9 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000079 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 8 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] end -> [0.000000] [sd_task/INFO] Displaying task root->5 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10014000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 5 -> [0.000000] [sd_task/INFO] Displaying task 0->2 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10001 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 0 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 2 -> [0.000000] [sd_task/INFO] Displaying task 1->2 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10004 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 1 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 2 -> [0.000000] [sd_task/INFO] Displaying task 2->3 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10002 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 2 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 3 -> [0.000000] [sd_task/INFO] Displaying task 4->5 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10029 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 4 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 5 -> [0.000000] [sd_task/INFO] Displaying task 6->7 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10005 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 6 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [sd_task/INFO] Displaying task 7->8 -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] 8 -> [0.000000] [sd_task/INFO] Displaying task 7->end -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: end-to-end communication -> [0.000000] [sd_task/INFO] - amount: 10014000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] end -> [0.000000] [sd_task/INFO] Displaying task end -> [0.000000] [sd_task/INFO] - state: scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: sequential computation -> [0.000000] [sd_task/INFO] - amount: 10000000129 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 3 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] 7->end -> [0.000000] [sd_task/INFO] 9 -> [0.000000] [sd_task/INFO] 7 -> [0.000000] [test/INFO] ------------------- Run the schedule --------------------------- -> [20.000866] [test/INFO] ------------------- Produce the trace file--------------------------- -> [20.000866] [test/INFO] Producing the trace of the run into dag_with_good_schedule.trace - -$ cat ${srcdir:=.}/dag_with_good_schedule.trace -> [0.000000->0.000000] C2-05 compute 0.000000 flops # root -> [0.000000->2.000000] C2-06 compute 10000000129.452715 flops # 0 -> [0.000000->2.000000] C2-05 compute 10000000131.133657 flops # 1 -> [2.000380->4.000380] C2-06 compute 10000000121.124870 flops # 2 -> [4.000415->6.000415] C2-06 compute 10000000230.608025 flops # 3 -> [6.000415->8.000415] C2-05 compute 10000000004.994019 flops # 4 -> [8.000450->10.000450] C2-05 compute 10000000046.016401 flops # 5 -> [10.000450->12.000450] C2-05 compute 10000000091.598791 flops # 6 -> [12.000485->14.000485] C2-05 compute 10000000040.679438 flops # 7 -> [14.000865->16.000866] C2-06 compute 10000000250.490017 flops # 8 -> [16.000866->18.000866] C2-06 compute 10000000079.267649 flops # 9 -> [0.000000 -> 0.020123] C2-05 -> C2-05 transfer of 10014000 bytes # root->5 -> [2.000000 -> 2.000035] C2-06 -> C2-06 transfer of 10001 bytes # 0->2 -> [2.000000 -> 2.000380] C2-05 -> C2-06 transfer of 10004 bytes # 1->2 -> [4.000380 -> 4.000415] C2-06 -> C2-06 transfer of 10002 bytes # 2->3 -> [8.000415 -> 8.000450] C2-05 -> C2-05 transfer of 10029 bytes # 4->5 -> [12.000450 -> 12.000485] C2-05 -> C2-05 transfer of 10005 bytes # 6->7 -> [14.000485 -> 14.000865] C2-05 -> C2-06 transfer of 10000 bytes # 7->8 -> [14.000485 -> 14.020609] C2-05 -> C2-05 transfer of 10014000 bytes # 7->end -> [18.000866->20.000866] C2-05 compute 10000000129.452715 flops # end - -$ rm -f ${srcdir:=.}/dag_with_good_schedule.trace - -! expect return 2 -$ $SG_TEST_EXENV ./dot_test --log=no_loc ${srcdir:=.}/../../platforms/2clusters.xml ${srcdir:=.}/dag_with_cycle.dot -> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. -> [0.000000] [sd_daxparse/WARNING] the task root is not marked -> [0.000000] [sd_daxparse/WARNING] the task 0 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 1 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 2 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 3 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 4 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 5 is in a cycle -> [0.000000] [sd_daxparse/WARNING] the task 6 is in a cycle -> [0.000000] [sd_dotparse/ERROR] The DOT described in dag_with_cycle.dot is not a DAG. It contains a cycle. -> [0.000000] [test/CRITICAL] No dot loaded. Do you have a cycle in your graph? - -$ $SG_TEST_EXENV ./ptg_test --log=no_loc ${srcdir:=.}/../../platforms/2clusters.xml ${srcdir:=.}/ptg.dot -> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. -> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- -> [0.000000] [sd_task/INFO] Displaying task root -> [0.000000] [sd_task/INFO] - state: schedulable not runnable -> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law -> [0.000000] [sd_task/INFO] - amount: 0 -> [0.000000] [sd_task/INFO] - alpha: 0.00 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] root->c1 -> [0.000000] [sd_task/INFO] root->c2 -> [0.000000] [sd_task/INFO] Displaying task c1 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law -> [0.000000] [sd_task/INFO] - amount: 1000000000 -> [0.000000] [sd_task/INFO] - alpha: 0.20 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root->c1 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] c1->c3 -> [0.000000] [sd_task/INFO] Displaying task c2 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law -> [0.000000] [sd_task/INFO] - amount: 5000000000 -> [0.000000] [sd_task/INFO] - alpha: 0.50 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root->c2 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] c3 -> [0.000000] [sd_task/INFO] Displaying task c3 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law -> [0.000000] [sd_task/INFO] - amount: 2000000000 -> [0.000000] [sd_task/INFO] - alpha: 0.00 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] c1->c3 -> [0.000000] [sd_task/INFO] c2 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] c3->end -> [0.000000] [sd_task/INFO] Displaying task c1->c3 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution -> [0.000000] [sd_task/INFO] - amount: 500000000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] c1 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] c3 -> [0.000000] [sd_task/INFO] Displaying task c3->end -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution -> [0.000000] [sd_task/INFO] - amount: 200000000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] c3 -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] end -> [0.000000] [sd_task/INFO] Displaying task root->c1 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution -> [0.000000] [sd_task/INFO] - amount: 200000000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] c1 -> [0.000000] [sd_task/INFO] Displaying task root->c2 -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution -> [0.000000] [sd_task/INFO] - amount: 100000000 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] root -> [0.000000] [sd_task/INFO] - post-dependencies: -> [0.000000] [sd_task/INFO] c2 -> [0.000000] [sd_task/INFO] Displaying task end -> [0.000000] [sd_task/INFO] - state: not scheduled not runnable -> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law -> [0.000000] [sd_task/INFO] - amount: 0 -> [0.000000] [sd_task/INFO] - alpha: 0.00 -> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 -> [0.000000] [sd_task/INFO] - pre-dependencies: -> [0.000000] [sd_task/INFO] c3->end -> [0.000000] [test/INFO] ------------------- Schedule tasks --------------------------- -> [0.000000] [test/INFO] ------------------- Run the schedule --------------------------- -> [3.290271] [test/INFO] Makespan: 3.290271 diff --git a/examples/simdag/dot/ptg.dot b/examples/simdag/ptg-dotload/ptg.dot similarity index 100% rename from examples/simdag/dot/ptg.dot rename to examples/simdag/ptg-dotload/ptg.dot diff --git a/examples/simdag/dot/ptg_test.c b/examples/simdag/ptg-dotload/sd_ptg-dotload.c similarity index 100% rename from examples/simdag/dot/ptg_test.c rename to examples/simdag/ptg-dotload/sd_ptg-dotload.c diff --git a/examples/simdag/ptg-dotload/sd_ptg-dotload.tesh b/examples/simdag/ptg-dotload/sd_ptg-dotload.tesh new file mode 100644 index 0000000000..f2f6d90a7f --- /dev/null +++ b/examples/simdag/ptg-dotload/sd_ptg-dotload.tesh @@ -0,0 +1,93 @@ +#! ./tesh +p Test the loader of PTG (Parallel Task Graph) written in the DOT format + +$ $SG_TEST_EXENV ${bindir:=.}/ptg-dotload/sd_ptg-dotload ${srcdir:=.}/../platforms/2clusters.xml ${srcdir:=.}/ptg.dot +> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. +> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- +> [0.000000] [sd_task/INFO] Displaying task root +> [0.000000] [sd_task/INFO] - state: schedulable not runnable +> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - alpha: 0.00 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] root->c1 +> [0.000000] [sd_task/INFO] root->c2 +> [0.000000] [sd_task/INFO] Displaying task c1 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law +> [0.000000] [sd_task/INFO] - amount: 1000000000 +> [0.000000] [sd_task/INFO] - alpha: 0.20 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root->c1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] c1->c3 +> [0.000000] [sd_task/INFO] Displaying task c2 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law +> [0.000000] [sd_task/INFO] - amount: 5000000000 +> [0.000000] [sd_task/INFO] - alpha: 0.50 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root->c2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] c3 +> [0.000000] [sd_task/INFO] Displaying task c3 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law +> [0.000000] [sd_task/INFO] - amount: 2000000000 +> [0.000000] [sd_task/INFO] - alpha: 0.00 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] c1->c3 +> [0.000000] [sd_task/INFO] c2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] c3->end +> [0.000000] [sd_task/INFO] Displaying task c1->c3 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution +> [0.000000] [sd_task/INFO] - amount: 500000000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] c1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] c3 +> [0.000000] [sd_task/INFO] Displaying task c3->end +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution +> [0.000000] [sd_task/INFO] - amount: 200000000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] c3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task root->c1 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution +> [0.000000] [sd_task/INFO] - amount: 200000000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] c1 +> [0.000000] [sd_task/INFO] Displaying task root->c2 +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: MxN data redistribution assuming 1D block distribution +> [0.000000] [sd_task/INFO] - amount: 100000000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] c2 +> [0.000000] [sd_task/INFO] Displaying task end +> [0.000000] [sd_task/INFO] - state: not scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: parallel computation following Amdahl's law +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - alpha: 0.00 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] c3->end +> [0.000000] [test/INFO] ------------------- Schedule tasks --------------------------- +> [0.000000] [test/INFO] ------------------- Run the schedule --------------------------- +> [3.290271] [test/INFO] Makespan: 3.290271 diff --git a/examples/simdag/dot/.gitignore b/examples/simdag/schedule-dotload/.gitignore similarity index 100% rename from examples/simdag/dot/.gitignore rename to examples/simdag/schedule-dotload/.gitignore diff --git a/examples/simdag/dot/dag_with_bad_schedule.dot b/examples/simdag/schedule-dotload/dag_with_bad_schedule.dot similarity index 100% rename from examples/simdag/dot/dag_with_bad_schedule.dot rename to examples/simdag/schedule-dotload/dag_with_bad_schedule.dot diff --git a/examples/simdag/dot/dag_with_good_schedule.dot b/examples/simdag/schedule-dotload/dag_with_good_schedule.dot similarity index 100% rename from examples/simdag/dot/dag_with_good_schedule.dot rename to examples/simdag/schedule-dotload/dag_with_good_schedule.dot diff --git a/examples/simdag/dot/simulate_dot.c b/examples/simdag/schedule-dotload/sd_schedule-dotload.c similarity index 100% rename from examples/simdag/dot/simulate_dot.c rename to examples/simdag/schedule-dotload/sd_schedule-dotload.c diff --git a/examples/simdag/schedule-dotload/sd_schedule-dotload.tesh b/examples/simdag/schedule-dotload/sd_schedule-dotload.tesh new file mode 100644 index 0000000000..6db0b7830e --- /dev/null +++ b/examples/simdag/schedule-dotload/sd_schedule-dotload.tesh @@ -0,0 +1,241 @@ +#! ./tesh +p Test the loader of DAG written in the DOT format + +! expect return 2 +$ $SG_TEST_EXENV ./simulate_dot --log=no_loc "--log=sd_dotparse.thres:verbose" ${srcdir:=.}/../../platforms/2clusters.xml ${srcdir:=.}/dag_with_bad_schedule.dot +> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. +> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task 'end' can not be scheduled on -1 hosts +> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task '1' can not be scheduled on 0 hosts +> [0.000000] [sd_dotparse/VERBOSE] Task '0' wants to start on performer '1' at the same position '1' as task '2' +> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task '3' can not be scheduled on -1 hosts +> [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task 'root' can not be scheduled on -1 hosts +> [0.000000] [sd_dotparse/WARNING] The scheduling is ignored +> [0.000000] [test/CRITICAL] The dot file with the provided scheduling is wrong, more information with the option : --log=sd_dotparse.thres:verbose + +$ $SG_TEST_EXENV ./simulate_dot --log=no_loc ${srcdir:=.}/../../platforms/2clusters.xml ${srcdir:=.}/dag_with_good_schedule.dot +> [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. +> [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG --------------------------- +> [0.000000] [sd_task/INFO] Displaying task root +> [0.000000] [sd_task/INFO] - state: runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 0 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] Displaying task 0 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000129 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 0->2 +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] Displaying task 1 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000131 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] Displaying task 2 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000121 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 3 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0->2 +> [0.000000] [sd_task/INFO] 1->2 +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] Displaying task 3 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000231 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2->3 +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] Displaying task 4 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 5 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000046 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 3 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root->5 +> [0.000000] [sd_task/INFO] 4->5 +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] Displaying task 6 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000092 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] Displaying task 7 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000041 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6->7 +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task 8 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000250 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 2 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7->8 +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] Displaying task 9 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000079 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task root->5 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] root +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 0->2 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10001 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 0 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] Displaying task 1->2 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10004 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 1 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] Displaying task 2->3 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10002 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 2 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 3 +> [0.000000] [sd_task/INFO] Displaying task 4->5 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10029 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 4 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 5 +> [0.000000] [sd_task/INFO] Displaying task 6->7 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10005 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 6 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] Displaying task 7->8 +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] 8 +> [0.000000] [sd_task/INFO] Displaying task 7->end +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: end-to-end communication +> [0.000000] [sd_task/INFO] - amount: 10014000 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 1 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [sd_task/INFO] - post-dependencies: +> [0.000000] [sd_task/INFO] end +> [0.000000] [sd_task/INFO] Displaying task end +> [0.000000] [sd_task/INFO] - state: scheduled not runnable +> [0.000000] [sd_task/INFO] - kind: sequential computation +> [0.000000] [sd_task/INFO] - amount: 10000000129 +> [0.000000] [sd_task/INFO] - Dependencies to satisfy: 3 +> [0.000000] [sd_task/INFO] - pre-dependencies: +> [0.000000] [sd_task/INFO] 7->end +> [0.000000] [sd_task/INFO] 9 +> [0.000000] [sd_task/INFO] 7 +> [0.000000] [test/INFO] ------------------- Run the schedule --------------------------- +> [20.000866] [test/INFO] ------------------- Produce the trace file--------------------------- +> [20.000866] [test/INFO] Producing the trace of the run into dag_with_good_schedule.trace + +$ cat ${srcdir:=.}/dag_with_good_schedule.trace +> [0.000000->0.000000] C2-05 compute 0.000000 flops # root +> [0.000000->2.000000] C2-06 compute 10000000129.452715 flops # 0 +> [0.000000->2.000000] C2-05 compute 10000000131.133657 flops # 1 +> [2.000380->4.000380] C2-06 compute 10000000121.124870 flops # 2 +> [4.000415->6.000415] C2-06 compute 10000000230.608025 flops # 3 +> [6.000415->8.000415] C2-05 compute 10000000004.994019 flops # 4 +> [8.000450->10.000450] C2-05 compute 10000000046.016401 flops # 5 +> [10.000450->12.000450] C2-05 compute 10000000091.598791 flops # 6 +> [12.000485->14.000485] C2-05 compute 10000000040.679438 flops # 7 +> [14.000865->16.000866] C2-06 compute 10000000250.490017 flops # 8 +> [16.000866->18.000866] C2-06 compute 10000000079.267649 flops # 9 +> [0.000000 -> 0.020123] C2-05 -> C2-05 transfer of 10014000 bytes # root->5 +> [2.000000 -> 2.000035] C2-06 -> C2-06 transfer of 10001 bytes # 0->2 +> [2.000000 -> 2.000380] C2-05 -> C2-06 transfer of 10004 bytes # 1->2 +> [4.000380 -> 4.000415] C2-06 -> C2-06 transfer of 10002 bytes # 2->3 +> [8.000415 -> 8.000450] C2-05 -> C2-05 transfer of 10029 bytes # 4->5 +> [12.000450 -> 12.000485] C2-05 -> C2-05 transfer of 10005 bytes # 6->7 +> [14.000485 -> 14.000865] C2-05 -> C2-06 transfer of 10000 bytes # 7->8 +> [14.000485 -> 14.020609] C2-05 -> C2-05 transfer of 10014000 bytes # 7->end +> [18.000866->20.000866] C2-05 compute 10000000129.452715 flops # end + +$ rm -f ${srcdir:=.}/dag_with_good_schedule.trace + diff --git a/examples/simdag/comm_throttling/sd_comm_throttling.c b/examples/simdag/throttling/sd_throttling.c similarity index 100% rename from examples/simdag/comm_throttling/sd_comm_throttling.c rename to examples/simdag/throttling/sd_throttling.c diff --git a/examples/simdag/comm_throttling/sd_comm_throttling.tesh b/examples/simdag/throttling/sd_throttling.tesh similarity index 88% rename from examples/simdag/comm_throttling/sd_comm_throttling.tesh rename to examples/simdag/throttling/sd_throttling.tesh index 74b6b8bb0a..a9de46fc3a 100644 --- a/examples/simdag/comm_throttling/sd_comm_throttling.tesh +++ b/examples/simdag/throttling/sd_throttling.tesh @@ -1,7 +1,7 @@ #! ./tesh p Modify the rate of communication tasks even when they are auto-scheduled -$ $SG_TEST_EXENV ./comm_throttling/sd_comm_throttling --cfg=network/TCP_gamma:4194304 ${srcdir:=.}/../platforms/2clusters.xml +$ $SG_TEST_EXENV ./throttling/sd_throttling --cfg=network/TCP_gamma:4194304 ${srcdir:=.}/../platforms/2clusters.xml > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304' > [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks. > [1.000000] [sd_comm_throttling/INFO] Simulation stopped after 1.0000 seconds diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index 0a7a01b1f4..619a9a9fc1 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -957,7 +957,6 @@ set(CMAKEFILES_TXT examples/msg/tracing/CMakeLists.txt examples/s4u/CMakeLists.txt examples/simdag/CMakeLists.txt - examples/simdag/dot/CMakeLists.txt examples/smpi/CMakeLists.txt examples/smpi/NAS/CMakeLists.txt examples/smpi/smpi_msg_masterslave/CMakeLists.txt -- 2.20.1