I also forgot to add that one of the bonus requirements for my project is to be able to use it with whatever number of slave nodes, which i think makes the whole deal a lot more complicated.
On Fri, Jul 23, 2010 at 11:48 AM, Alexandru Blidaru <alexs...@gmail.com>wrote: > Hey guys, > > I need to write an implementation of a 4D array with a variable 4th > dimension based on where in 3D you are. So it's basically like a normal > rectangular prism, except for each unit it might have a variable number of > values. The program is also supposed to communicate by sending ghost nodes > between each slice, in order for the actual data-modifying code to work. The > data-modifying code is to be added by others depending on what they need to > do with this 4d array. > > So what I am really asking is how does MPI work when you have different > objects on different computers and you try sending stuff between the > objects? > > Just some explanations for my code, which is attached, in case you can give > some code-specific tips: > > - Nx2, Nz2, Ny2 are the lengths of the big prism > - DOFArr holds how many values there will be for each space in 3D, by > transforming the 3D coordinates into 1D this way: index of > DOFArr=i+Nx*j+Nx*Ny*k > - So the way i was thinking of doing is for the master to get the big > array, and split into relatively equal parts and send each part to a node. > The node would then do whatever it had to do, send ghost nodes to its > neighbors, maybe do whatever it had to do again and in the end it would > send > everything back to the master node, which would take the pieces of array > and > put them together. > > > I am also a bit confused with when do you have to call MPI_Finaliza(). I > mean, for it to run, the program required me to put it into the constructor, > and if I call print() at the and of the constructor, it would tell me this: > > job aborted: > > rank: node: exit code[: error message] > > 0: C7June2010: 123 > > 1: C7June2010: -1073740777: process 1 exited without calling finalize > > 2: C7June2010: -1073740777: process 2 exited without calling finalize > > > If i would place it after Finalize() nothing would show when i run the exe. > > > I just finished grade 12, and got a summer job at a research lab, and this > is my project. Thanks a lot for your help. > > Alex >