Note that there are some explanatory texts on larger screens.

plurals
  1. POAborting execution of all processes in MPI
    primarykey
    data
    text
    <p>The problem is to search a password into a big file of size about 10GB using MPI. I divided the file between different processes of chunk size of <code>(Total number of bytes in file / P)</code> where p is the number of processes to create and applying my searching logic in each process through a loop parallely. I want to stop other processes when one process find a solution.</p> <p>So to abort all other processes i am using following two approaches.</p> <ol> <li>first approach is to call MPI_Abort() function from a process whenever its find solution.</li> <li>second approach is to use a flag and set it whenever any process find its solution. After setting this flag send it to all the other processes using non-blocking send/recv/Iprobe function. Then check this flag by each process using <code>if(flag == 1) break</code>; and do so..</li> </ol> <p>My first question is which of the above two approach is better and why?<br> and second one is when i used the second approach i got following msg after completing their execution successfully...</p> <p><strong>* An error occurred in MPI_Finalize *</strong> after MPI was finalized*** MPI_ERRORS_ARE_FATAL (goodbye) [abc:19150] Abort before MPI_INIT completed successfully; not able to guarantee that all other processes were killed!</p> <p><strong>* An error occurred in MPI_Finalize *</strong> after MPI was finalized <em>*</em> MPI_ERRORS_ARE_FATAL (goodbye) [abc:19151] Abort before MPI_INIT completed successfully; not able to guarantee that all other processes were killed!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload