5 print("Hello from lua, I'm the master")
6 for i,v in ipairs(arg) do
17 print("Argc="..argc.." (should be 4)")
22 tk = Msg.Task.new("Task "..i,comp_size,comm_size);
23 alias = "slave "..(i%slave_count);
24 print("Master sending '" .. Msg.Task.name(tk) .."' To '" .. alias .."'");
25 Msg.Task.send(tk,alias); -- C user data set to NULL
26 print("Master done sending '".. Msg.Task.name(tk) .."' To '" .. alias .."'");
30 Sending Finalize Message To Others
33 print("Master: All tasks have been dispatched. Let's tell everybody the computation is over.");
34 for i=0,slave_count-1 do
36 print("Master: sending finalize to "..alias);
37 Msg.Task.send(Msg.Task.new("finalize",0,0),alias);
39 print("Master: Everything's done.");
44 --Slave Function ---------------------------------------------------------
47 my_mailbox="slave "..arg[1]
48 print("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
52 -- tk = Msg.Task.new("",0,0); --??
53 -- Msg.Task.recv2(tk,my_mailbox);
54 tk = Msg.Task.recv(my_mailbox);
56 tk_name = Msg.Task.name(tk)
58 if (tk_name == "finalize") then
59 print("Slave '" ..my_mailbox.."' got finalize msg");
63 print("Slave '" ..my_mailbox.."' processing "..Msg.Task.name(tk))
66 print("Slave '" ..my_mailbox.."': task "..Msg.Task.name(tk) .. " done")
69 print("Slave '" ..my_mailbox.."': I'm Done . See You !!");
71 end -- function ----------------------------------------------------------