+++ /dev/null
-function Sender(...)
-
- simgrid.info("Hello From Sender")
- receiver = simgrid.host.get_by_name(arg[1])
- task_comp = arg[2]
- task_comm = arg[3]
- rec_alias = arg[4]
-
- size = 4
- m1 = mkmatrix(size, size)
- m2 = mkmatrix(size, size)
-
- if (#arg ~= 4) then
- error("Argc should be 4");
- end
- simgrid.info("Argc="..(#arg).." (should be 4)")
-
- -- Sending Task
- task = simgrid.task.new("matrix_task",task_comp,task_comm);
- task['matrix_1'] = m1;
- task['matrix_2'] = m2;
- task['size'] = size;
- simgrid.info("Sending "..simgrid.task.name(task).." to "..simgrid.host.name(receiver));
- simgrid.task.send(task,rec_alias);
- -- Read The Result
- mm = task['matrix_res']
- simgrid.info("Got the Multiplication result ...Bye");
- --mprint(size,size,mm);
-
-end
-------------------------------------------------------
-function Receiver(...)
-
- simgrid.info("Hello From Receiver")
- sender = simgrid.host.get_by_name(arg[1])
- send_alias = arg[2]
- recv_alias = "Receiver";
- simgrid.info("Receiving Task from "..simgrid.host.name(sender));
- task = simgrid.task.recv(recv_alias);
- mm = mmult(task['size'],task['size'],task['matrix_1'],task['matrix_2']);
- --mprint(task['size'],task['size'],mm)
- task['matrix_res'] = mm;
- simgrid.info("Calcul is done ... Bye");
-
-
-end
------------------------------------------------------
-
-local n = tonumber((arg and arg[1]) or 1)
-
-
-
-function mkmatrix(rows, cols)
- local count = 1
- local mx = {}
- for i=0,(rows - 1) do
- local row = {}
- for j=0,(cols - 1) do
- row[j] = count
- count = count + 1
- end
- mx[i] = row
- end
- return(mx)
-end
-
-function mmult(rows, cols, m1, m2)
- local m3 = {}
- for i=0,(rows-1) do
- m3[i] = {}
- for j=0,(cols-1) do
- local rowj = 0
- for k=0,(cols-1) do
- rowj = rowj + m1[i][k] * m2[k][j]
- end
- m3[i][j] = rowj
- end
- end
- return(m3)
-end
-
-function mprint(rows,cols,m)
- for i=0,(cols-1)do
- for j=0,(rows-1)do
- print (m[i][j])
- end
- end
-end
-
-
---end
-require "simgrid"
-simgrid.platform("quicksort_platform.xml")
-simgrid.application("quicksort_deployment.xml")
-simgrid.run()
-simgrid.info("Simulation's over.See you.")
-simgrid.clean()
-
-