5 error("Wrong number of arguments (got " .. #arg ..
6 ", expected 4: nb_tasks comp_size comm_size slave_count)")
9 simgrid.info("Hello from lua, I'm the master")
10 for i,v in ipairs(arg) do
11 simgrid.info("Got " .. v)
14 local nb_task, comp_size, comm_size, slave_count = unpack(arg)
16 simgrid.info("Argc=" .. (#arg) .. " (should be 4)")
21 task = simgrid.task.new("Task " .. i, comp_size, comm_size);
22 local task_name = simgrid.task.get_name(task)
23 alias = "slave " .. (i%slave_count);
24 simgrid.info("Master sending '" .. task_name .. "' To '" .. alias .. "'");
25 simgrid.task.send(task, 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 alias = "slave " .. i;
34 simgrid.info("Master: sending finalize to " .. alias);
35 finalize = simgrid.task.new("finalize", comp_size, comm_size);
36 simgrid.task.send(finalize, alias)
38 simgrid.info("Master: Everything's done.");