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

Finding corresponding configurations from Intel MPI to open-mpi #12963

Open
amroakmal opened this issue Dec 4, 2024 · 2 comments
Open

Finding corresponding configurations from Intel MPI to open-mpi #12963

amroakmal opened this issue Dec 4, 2024 · 2 comments

Comments

@amroakmal
Copy link

amroakmal commented Dec 4, 2024

Background information

What version of Open MPI are you using? (e.g., v4.1.6, v5.0.1, git branch name and hash, etc.)

v4.1.6

  • Operating system/version: Linux

Details of the problem

We are having a system that runs Intel MPI where use some environment variables/configs with it, and we would like to get the corresponding configurations in open-mpi. We tried looking into the open-mpi docs to find them, but we couldn't find that.

  1. I_MPI_WAIT_MODE=1

Description: Control the Intel® MPI Library optimization for oversubscription mode.
Setting it to the value=1 for our program, we get:

Optimize MPI application to work in the oversubscription mode (multiple ranks on 1 CPU).
  1. I_MPI_THREAD_YIELD=2

Description: Control the Intel® MPI Library thread yield customization during MPI busy wait time.
Do the shied_yield() system call for thread yield during the busy wait.

By looking more into the shied_yield() system call, the closest match I can found was the sched_yield(), from man pages:

sched_yield() causes the calling thread to relinquish the CPU.
       The thread is moved to the end of the queue for its static
       priority and a new thread gets to run.

Last question, do you recommend upgrading to more recent stable version?

Thank you so much.

@amroakmal
Copy link
Author

amroakmal commented Dec 15, 2024

@jsquyres : Any help on this issue, please?
Really appreciate your precious time

@bosilca
Copy link
Member

bosilca commented Dec 16, 2024

The two MCA params you are looking for are mpi_yield_when_idle and, when using the pthread library, threads_pthreads_yield_strategy. The former controls if OMPI releases the core while during progress (oversubscription will automatically set this to true), and the latter which yield strategy shall be used, aka. sched_yield or nanosleep.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants