Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rearrange lua example in separate simulation component files
[simgrid.git] / examples / lua / multi_matrix / sender.lua
diff --git a/examples/lua/multi_matrix/sender.lua b/examples/lua/multi_matrix/sender.lua
new file mode 100644 (file)
index 0000000..7dfe0f3
--- /dev/null
@@ -0,0 +1,30 @@
+function Sender(...) 
+
+       simgrid.info("Hello From Sender")
+       receiver = simgrid.Host.getByName(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