It’s hard to tell for certain without looking at the code, but I believe you want to use two different MPI communicators, one for each of the programs, see http://mpitutorial.com/tutorials/introduction-to-groups-and-communicators/
charlie > On May 6, 2018, at 01:10, Navid Shervani-Tabar <nshe...@gmail.com> wrote: > > Dear All, > > I have a question which is more on the software side, and I was advised that > I might find people with related expertise here. > > I have two programs Main and Solver, each of which uses MPI for parallel > processing. I am keeping Main as the main code and am modifying Solver as a > subroutine which is being called by Main. > > The problem arises when both codes initiate the MPI (since both were > originally standalone programs) and then each have their own parallel > structure, which leads the code to crash as MPI_init can only be called once > in the now combined program. > > I thought this must have been a common problem and there should be > discussions on how to approach this; However, to my surprise, I couldn't find > anything with this setting on common websites like stackoverflow and the > archives of this mailing list. > > > > Thanks, > > Navid > > PS1: When connecting the two codes, I decided to call Solver by Main rather > than running the Solver as an executable by Main to have a more optimized and > robust setting and also avoid the overhead. > > PS2: Code Main is written in c++ and code Solver is written in Fortran. > > _______________________________________________ > Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing > To change your subscription (digest mode or unsubscribe) visit > http://www.beowulf.org/mailman/listinfo/beowulf _______________________________________________ Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf