2 if type(t.n) == "number" then return t.n end
5 if type(i) == "number" and i>max then max=i end
14 print("Hello from lua, I'm the master")
15 for i,v in ipairs(arg) do
18 t_tasks={} --tasks table
19 t_slaves={} --slaves table
25 -- Let's Create the tasks to dispatch
27 t_tasks[i] = Task.new("Task "..i,comp_size,comm_size); --data set to NULL
31 -- Process Organisation
34 print("Argc="..argc.." (should be 8)")
36 slave_count = getn(arg) -3;
40 t_slaves[i - 3] = Host.new(slv_name);
41 -- do not do directly that : t_slaves[i - 4] = Host.new(argv[i]);
47 -- Print List Of Tasks / Slaves
50 todo = Task.name(t_tasks[i]);
51 print(i % slave_count+1);
52 slv = Host.name(t_slaves[i % slave_count+1]);
53 print ( "Sending : " .. todo .. " To : " .. slv);
60 tk_name = Task.name(t_tasks[i]);
61 ht_name = Host.name(t_slaves[i]);
62 print("Sending " .. tk_name .." To " .. ht_name);
63 Task.send(t_task[i],"slave "..(i%slave_count));
69 --Slave Function ---------------------------------------------------------
72 my_mailbox="slave "..arg[1]
73 print("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
76 tk = Task.recv(my_mailbox);
77 print("Got something");
79 tk_name = Task.name(tk)
81 if (tk_name == "finalize") then
85 print("Processing "..Task.name(tk))
88 print(Task.name(tk) .. "Done")
92 print("I'm Done . See You !!");
94 end -- function ----------------------------------------------------------