3 simgrid.info("Hello from lua, I'm the master")
4 for i, v in ipairs(arg) do
5 simgrid.info("Got "..v)
9 local comp_size = arg[2]
10 local comm_size = arg[3]
11 local slave_count = arg[4]
14 error("Argc should be 4")
16 simgrid.info("Argc=" .. (#arg) .. " (should be 4)")
21 local tk = simgrid.Task.new("Task "..i, comp_size, comm_size)
22 local task_name = simgrid.Task.name(tk)
23 local alias = "slave " .. (i % slave_count)
24 simgrid.info("Master sending '" .. task_name .. "' To '" .. alias .."'")
25 simgrid.Task.send(tk,alias) -- C user data set to NULL
26 simgrid.info("Master done sending '".. task_name .. "' To '" .. alias .."'")
29 -- Sending Finalize Message To Others
31 simgrid.info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.")
32 for i = 0, slave_count - 1 do
33 local alias = "slave " .. i
34 simgrid.info("Master: sending finalize to " .. alias)
35 local finalize = simgrid.Task.new("finalize", comp_size, comm_size)
36 simgrid.Task.send(finalize, alias)
38 simgrid.info("Master: Everything's done.")