[Beowulf] parallelization problem
Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.
Peter Faber peterffaber at web.deSat Aug 15 08:31:17 PDT 2009
- Previous message: [Beowulf] METIS Partitioning within program
- Next message: [Beowulf] MAGMA feedback
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
amjad ali wrote: > I am parallelizing a CFD 2D code in FORTRAN+OPENMPI. Suppose that the grid > (all triangles) is partitioned among 8 processes using METIS. Each process > has different number of neighboring processes. Suppose each process has n > elements/faces whose data it needs to sends to corresponding neighboring > processes, and it has m number of elements/faces on which it needs to get > data from corresponding neighboring processes. Values of n and m are > different for each process. Another aim is to hide the communication behind > computation. For this I do the following for each process: > DO j = 1 to n > > CALL MPI_ISEND (send_data, num, type, dest(j), tag, MPI_COMM_WORLD, ireq(j), > ierr) > > ENDDO > > DO k = 1 to m > > CALL MPI_RECV(recv_data, num, type, source(k), tag, MPI_COMM_WORLD, status, > ierr) > > ENDDO You may want to place the MPI_WAIT somewhere below the MPI_RECV in order to ensure that all receives can be executed and thus all sends be completed. If your program does not work with an MPI_WAIT in place, there may be something wrong with your values for n, m, dest(j) and/or source(k), which may also explain the memory "leak". Perhaps you can check these values with a smaller number of processes? Just my 2 cents... PFF
- Previous message: [Beowulf] METIS Partitioning within program
- Next message: [Beowulf] MAGMA feedback
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Beowulf mailing list
