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);
26 mm = task['matrix_res']
27 simgrid.info("Got the Multiplication result ...Bye");
28 --mprint(size,size,mm);
31 ------------------------------------------------------
32 function Receiver(...)
34 simgrid.info("Hello From Receiver")
35 sender = simgrid.Host.getByName(arg[1])
37 recv_alias = "Receiver";
38 simgrid.info("Receiving Task from "..simgrid.Host.name(sender));
39 task = simgrid.Task.recv(recv_alias);
40 mm = mmult(task['size'],task['size'],task['matrix_1'],task['matrix_2']);
41 --mprint(task['size'],task['size'],mm)
42 task['matrix_res'] = mm;
43 simgrid.info("Calcul is done ... Bye");
47 -----------------------------------------------------
49 local n = tonumber((arg and arg[1]) or 1)
53 function mkmatrix(rows, cols)
67 function mmult(rows, cols, m1, m2)
74 rowj = rowj + m1[i][k] * m2[k][j]
82 function mprint(rows,cols,m)
93 simgrid.platform("../ruby/quicksort_platform.xml")
94 simgrid.application("../ruby/quicksort_deployment.xml")
96 simgrid.info("Simulation's over.See you.")