I am parallelizing code to numerically solve a 5 Dimensional population balance model. Currently I have a very good MPICH2 parallelized code in FORTRAN but as we increase parameter values the arrays become to large to run in distributed memory mode.
I have access to a cluster with 15 nodes, each node has two 8 core CPUs and 128GB of RAM. I want to write run a program with MPI3.0 in shared memory mode so that each process does not generate its own copy of each array.
Before I can run anything on the cluster I have to test it in a desktop running Ubuntu. It is essentially one blade of the cluster in that it has two 8 core CPUs and 128 GBs of RAM. I will be writing in testing my code on it so please gear your responses towards running programs on the Ubuntu computer.
I have read there is away to run MPI3.0 in shared memory mode like openMP instead of its default distributed memory mode.
How will I have to alter my code? Do I need to add in calls to other MPI functions like
How do I compile my code to run MPI3.0 in shared memory mode. Even if its over several nodes?
Please give sample compilation scripts if you can. I also only have GNU compilers the cluster I use does not support Intel compilers.