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. Question: How will I have to alter my code? Do I need to add in calls to other MPI functions like MPI_WIN_ALLOCATE? 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. 
How to Run MPI-3.0 in shared memory mode like OpenMP
numerical analysis;parallel computing;fortran;mpi;compiling