I'm trying to write a program in C using Unix commands that will perform parallel processing of matrices for subtraction, multiplication, and transpose purposes. It will look like this when called:
matrix_proc rp cp <pathname1> <a/s/m/T> [pathname2] <pathename3>
pathname 2 is only optional if the operation is transposing. The operation to be performed will end as such:
T: m3= transpose of m1
The program should spawn rp*cp processes to calculate the elements of the resulting matrix. rcp and cp indicate the number of processes working in parallel on the rows and columns of the resulting matrix respecitvely. The elements of the resulting matrix should be evenly split among the rp*cp processes with no less than one element being assigned to each process. (Assume that the matrices will have valid sizes for the operation being preformed, as I already made the error checking for this part.)
Also, passing of information from parents to child processes should be done through shared memory variables, whereas passing from child to parents processes should be done through pipes.