3 simgrid.info("Hello From Sender")
4 receiver = simgrid.Host.getByName(arg[1])
10 m1 = mkmatrix(size, size)
11 m2 = mkmatrix(size, size)
14 error("Argc should be 4");
16 simgrid.info("Argc="..(#arg).." (should be 4)")
19 task = simgrid.Task.new("matrix_task",task_comp,task_comm);
20 task['matrix_1'] = m1;
21 task['matrix_2'] = m2;
23 simgrid.info("Sending "..simgrid.Task.name(task).." to "..simgrid.Host.name(receiver));
24 simgrid.Task.send(task,rec_alias);
25 simgrid.info("Done Sending "..simgrid.Task.name(task));
26 mm = task['matrix_res']
27 simgrid.info("Receiving the Multiplication result of my two matrix :");
31 ------------------------------------------------------
32 function Receiver(...)
34 simgrid.info("Hello From Receiver")
35 sender = simgrid.Host.getByName(arg[1])
37 simgrid.info("Sending to alias "..send_alias)
38 recv_alias = "Receiver";
39 simgrid.info("Receiving The Matrix...");
40 task = simgrid.Task.recv(recv_alias);
41 mm = mmult(task['size'],task['size'],task['matrix_1'],task['matrix_2']);
42 --mprint(task['size'],task['size'],mm)
43 task['matrix_res'] = mm;
44 simgrid.info("Calcul is done ... Bye");
48 -----------------------------------------------------
50 local n = tonumber((arg and arg[1]) or 1)
54 function mkmatrix(rows, cols)
68 function mmult(rows, cols, m1, m2)
75 rowj = rowj + m1[i][k] * m2[k][j]
83 function mprint(rows,cols,m)
94 simgrid.platform("../ruby/quicksort_platform.xml")
95 simgrid.application("../ruby/quicksort_deployment.xml")
97 simgrid.info("Simulation's over.See you.")