-
Notifications
You must be signed in to change notification settings - Fork 858
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
How do I use OpenMpi in AWS EFA #9858
Comments
[1641461840.238519] [c-96-4-worker0001:3595 :0] rc_iface.c:492 UCX ERROR ibv_create_srq() failed: Operation not supported |
Can you please post the commands you used to run your application? |
I added the following parameters via this link(#6795 ): |
#!/bin/bash |
#!/bin/bash |
what is the command which produces the original errors from pml_ucx? Can you please also post the whole log? |
Hi @chenshixinnb, I have a few questions:
|
thanks, |
sorry,I pasted it wrong, |
Those errors look like ucx errors, which wouldn't appear if the ofi mtl was properly selected. EFA is only supported with the ofi mtl. IIRC, specifying --mca pml cm doesn't fail if the cm pml cannot find a proper mtl. Try excluding the ucx pml --mca pml ^ucx. My suspicion is that the ofi mtl is not properly selecting the EFA provider and is causing a fallback to ucx. |
EDIT: My recollection was wrong, specifying --mca pml cm should force the cm pml to be selected or an error will be thrown if it cannot select an MTL. I misread and realized you added --mca pml cm later. |
Can you add |
slurm2-out.txt#!/bin/bash
|
Looks like the initialization of ofi (libfabric) failed.
Please add |
slurm3-out.txtmpirun -v gmx_mpi mdrun -v -cpi nvt_gpu -deffnm nvt_gpu --mca pml cm --mca mtl ofi --mca pml_base_verbose 10 --mca mtl_base_verbose 100 -x FI_LOG_LEVEL=warn
|
I did not see any information from libfabric printed, which makes me wonder whether openmpi was compiled correctly with libfabric. How did you obtain open mpi? Did you compile by yourself or got it from other source? |
This is the important section. The fi_getinfo call in Open MPI did not return a provider (efa) and the other available providers are in the exclude list, thus no MTL was returned and the PML CM could not progress. I feel like there's something missing here if fi_info returns an EFA provider but fi_getinfo isn't. Have you verified that all nodes in your slurm cluster return a provider when fi_info -p efa is called? I briefly took a look at the hints that were being provided, but unless MTL_OFI_PROG_AUTO is set, I don't think there's an issue with the hints. If you want to dig deeper, the section of the code is the function |
With just FI_LOG_LEVEL=warn, I don't think seeing a lack of logs is indicative. I'm pretty sure libfabric is responding as it looks like the fi_getinfo call is returning tcp;ofi_rxm, UDP;ofi_rxd, and shm providers. The problem is that the EFA provider isn't in the fi_getinfo call. |
thanks,I used EasyBuild OpenMpi tool chain default automatic compilation |
it is possible that open mpi was not configured or compiled with libfabric correctly. Because you have libfaric, I assume you used EFA installer to install it. Can you try to use the open mpi comes with EFA installer? It is under |
基于业务原因,我需要将openmpi安装到共享盘,并且需要通过共享盘的openmpi编译安装软件
|
I see. Can you run the command |
|
thanks |
Hi, I noticed that the open mpi you are using is not configured with libfabric.
You will need configure open mpi with libfabric, e.g. when you compile open mpi, you will need to add |
|
No, it always install open mpi to Note that to use EFA you will need to run EFA installer on each compute node any way, because using EFA requires you to install rdma-core and EFA kernel module, which is shipped as part of EFA installer and usually cannot be installed to a shared disk. |
slurm5-out.txt#!/bin/bash |
I recompiled OpenMPi-4.0.5,but there are still problems.Configure command line: '--prefix=/home/cloudam/OpenMpi-4.0.5' |
Hi, does the compute node (such as c-96-4-worker0002) has EFA installer installed on it? |
yes,This is the output of executing this command:
|
[c-96-4-worker0004:03574] select: component ofi selected [c-96-4-worker0003:03627] select: init returned priority 25 [c-96-4-worker0004:03561] check:select: modex not reqd |
Hi @chenshixinnb it looks like you made some progress, now EFA is being picked up but there is some issue with MPI_bcast. Can you provide your full command line and full log? Because the log is quite long, I recommend making it an attachment. |
Thanks, I have sent it to you by email
|
According to your log file, gromacs has started successfully, then encountered an error. Hence, I suspect the error might not be related to Open MPI, but is related to the application (gromacs) itself. Can you try to run some basic mpi benchmark to verify that Open MPI itself works? For example, the OSU micro benchmark https://mvapich.cse.ohio-state.edu/benchmarks/ |
Sorry, there is no problem with single nodes, but multiple nodes still report an error.I have sent the attachment to you. |
The same script,I run Gromacs with a single node,the output is normal,But I get an error when I use two nodes. Same,I use ./osu_alltoall,for the same script, the single node works well, but the two nodes fail. |
Hello, I run into the same issue when I run a MPI_Hello_World with OpenMPI. The output doesn't indicate that EFA is using. It looks like that you made some progress, now EFA is being picked up. Can you tell me what is the exact steps to let OpenMPI pick up EFA? Thanks a lot! |
I use a normal node and it works fine, but I use a node that supports EFA network and report the following error:
The text was updated successfully, but these errors were encountered: