Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improving MPI_ANY_SOURCE algo #34

Open
upperwal opened this issue May 25, 2018 · 0 comments
Open

Improving MPI_ANY_SOURCE algo #34

upperwal opened this issue May 25, 2018 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed TODO Plan to do in the immediate future

Comments

@upperwal
Copy link
Owner

EntangledMPI/src/mpi/init.c

Lines 1090 to 1097 in 11bf509

if(source == MPI_ANY_SOURCE) {
// Very tricky to set.
// If less and user sends more MPI_Send it will block the program.
// TODO: Find a better solution for MPI_ANY_SOURCE
worker_count = 2;
} else {
worker_count = job_list[source].worker_count;
}

Not a good implementation. Will only support 2 nodes (1 compute and 1 replica). Should be more generic.

One way of making it generic it to do one PMPI_Irecv with MPI_ANY_SOURCE and spawn a new thread to PMPI_Wait for this request to complete. Once its complete this thread can check for number of nodes in this job ("n") using status.MPI_SOURCE and rank2job array and do "n - 1" PMPI_Irecv and exit. Rest will be taken care in MPI_Wait implementation.

@upperwal upperwal added enhancement New feature or request help wanted Extra attention is needed TODO Plan to do in the immediate future labels May 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed TODO Plan to do in the immediate future
Projects
None yet
Development

No branches or pull requests

1 participant