Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add wfformat json DAG loader and DAG doc
[simgrid.git] / docs / source / tuto_dag / dag_lab1.cpp
1 #include "simgrid/s4u.hpp"
2
3 XBT_LOG_NEW_DEFAULT_CATEGORY(main, "Messages specific for this s4u tutorial");
4
5 int main(int argc, char* argv[]) {
6     simgrid::s4u::Engine e(&argc, argv);
7     e.load_platform(argv[1]);
8
9     simgrid::s4u::Host* tremblay = e.host_by_name("Tremblay");
10     simgrid::s4u::Host* jupiter  = e.host_by_name("Jupiter");
11
12     simgrid::s4u::ExecPtr c1 = simgrid::s4u::Exec::init();
13     simgrid::s4u::ExecPtr c2 = simgrid::s4u::Exec::init();
14     simgrid::s4u::ExecPtr c3 = simgrid::s4u::Exec::init();
15     simgrid::s4u::CommPtr t1 = simgrid::s4u::Comm::sendto_init();
16
17     c1->set_name("c1");
18     c2->set_name("c2");
19     c3->set_name("c3");
20     t1->set_name("t1");
21
22     c1->set_flops_amount(1e9);
23     c2->set_flops_amount(5e9);
24     c3->set_flops_amount(2e9);
25     t1->set_payload_size(5e8);
26
27     c1->add_successor(t1);
28     t1->add_successor(c3);
29     c2->add_successor(c3);
30
31     c1->set_host(tremblay);
32     c2->set_host(jupiter);
33     c3->set_host(jupiter);
34     t1->set_source(tremblay);
35     t1->set_destination(jupiter);
36
37     c1->start();
38     c2->start();
39
40     simgrid::s4u::Activity::on_completion_cb([](simgrid::s4u::Activity const& activity) {
41     XBT_INFO("Activity '%s' is complete (start time: %f, finish time: %f)", activity.get_cname(), activity.get_start_time(),
42              activity.get_finish_time());
43     });
44
45     e.run();
46         return 0;
47 }
48