I'm working on a project that involves performing matrix multiplication in Azure and am looking to optimize its performance by parallelizing the task (MatrixC = MatrixA * MatrixB). I would greatly appreciate any feedback on how to split a matrix multiplication job into parallel tasks within the Azure environment and to understand if how I think this would work is correct.
For reference, I am writing in C# using .NET framework.
My understanding is that I need to upload my initial matrices (MatrixA.txt, MatrixB.txt) to Azure blob store. From there I need a batch file to verify credentials, create pools, jobs, tasks which isn't a problem. Things get a bit shaky when I try to understand how to break MatrixA and MatrixB into individual tasks to execute each operation in parallel and then bring the resulting operations together to form MatrixC. I can't quite understand the logic behind how this works with the file uploads going in and out of file storage.
I also understand that I need a program application (.exe) loaded onto the VMs which does the matrix multiplication for each of the individual tasks.
Is this the correct way to think about how this would work? If so, am I right in thinking that the output from each individual operation would be uploaded to the blob storage and from there I'd need to bring the files together to get the resulting MatrixC?
All the documentation examples are for file conversion so I'm having trouble relating it to what I am trying to do. Thanks in advance for any feedback!