-
Notifications
You must be signed in to change notification settings - Fork 859
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
Open MPI appears to ignore the max_msg_size and related fields reported by OFI. #6976
Comments
Yes, output_401_mtl_ofi.txt contains: [node1.localdomain:09250] ../../../../../openmpi-4.0.1/ompi/mca/mtl/ofi/mtl_ofi_component.c:347: mtl:ofi:prov: psm2 |
This is likely a PSM2/OFI PSM2 provider issue. Works with OB1 PML for me and with CM PML if I use the gni provider. Did runs on the NERSC cori system.
|
On it. |
The actual issue is in the OFI transport, so I opened an issue there, ofiwg/libfabric#5287 - but the proposed patch doesn't generate the expected result. I posted my current patch and asked for advice. |
Okay, investigating the issue it now appears that the problem is unrelated to the PSM2 transport but may affect OFI in general. OFI reports to the client application the size of the largest message a selected transport can support but I haven't found any code in OMPI that uses that information. (I mean, I certainly could be wrong, but that's how it's looking right now.) |
Sample output: Verbs Run: Mon Sep 23 13:58:20 EDT 2019 NP=4, chunk_size=, nchunks= hdsmpriv02.hd.intel.com: is alive PSM2 Run: Mon Sep 23 13:58:27 EDT 2019 NP=4, chunk_size=, nchunks= hdsmpriv02.hd.intel.com: is alive |
I checked the UCX PML with this test and it passes. |
Per discussions at the 9/24/19 devel call, we decided to implement a short term fix for master and release branches: #7003, #7004, #7005,#7006 Longer term we need to either improve OFI providers' support for messages longer than the max_msg_size reported by a given provider, or somehow only select providers reporting a certain minimum size max_msg_size. The former will require some kind of method for fragmenting messages that are too long to be sent by the selected OFI provider. |
Thanks guys for handling this. |
Checking on this, is this a problem in OMPI not checking/using the reported max message size? If OMPI has a minimum required size, it could provide that in the hints to filter out providers that can't meet that minimum. That would likely result in providers being dropped that OMPI would ideally like to use, however. |
Correct. The OFI MTL wasn't checking the reported value at all. This patch will cause the MTL to report an error if the max message size is exceeded; we are discussing a longer term fix to allow the MTL to break up messages that would exceed the limit. |
@jsquyres - libfabric should have this support already. If you set the hints->ep_attr->max_msg_size = X, only those providers that support max_msg_size >= X should respond. |
This is now fixed on all release branches: v3.0.x, v3.1.x, v4.0.x. |
This issue tracks a discussion on the use mail list:
https://www.mail-archive.com/users@lists.open-mpi.org//msg33397.html
The test case works with the PML ob1, fails with a PSM2 error if using the PSM2 MTL, fails silently if using the OFI MTL (highly likely using the PSM2 provider).
Test case:
The text was updated successfully, but these errors were encountered: