-
Notifications
You must be signed in to change notification settings - Fork 931
osc/rdma: add support for network AMOs #2113
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is failing out because the MCA_BTL_ATOMIC* is not being found, needs more work before a merge.
|
Build Failed with GNU compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/b08d47f159a623de14098e3b29566348 |
|
Build Failed with XL compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/593702189172332fa9a0c66a685ed3b9 |
|
@regrant Should be good now. Had to bring over some btl commits. |
|
Build Failed with GNU compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/007a5a4db79f79a3808e4ad2077254b6 |
|
Build Failed with XL compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/6c06ec2b2b352617b59064d097666ca4 |
|
Build Failed with GNU compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/6a63053c59ff09d378bf42f95c59899b |
|
Build Failed with XL compiler! Please review the log, and get in touch if you have questions. Gist: https://gist.github.com/b3a0392cf91fb9bae3299a78bd4fc0cc |
|
Hmm, this relies on the flag enumerator but that hasn't been merged yet. Will update this once that is in. |
|
As I understand it, this PR is waiting for #2149. |
|
@jsquyres Yes. |
|
I will rework this PR once #2149 is in. |
This commit add support for more atomic operations and type. The operations added are logical and, logical or, logical xor, swap, min, and max. New types are 32-bit int by using the MCA_BTL_ATOMIC_FLAG_32BIT flag, 64-bit float by using the MCA_BTL_ATOMIC_FLAG_FLOAT flag, and 32-bit float by using both flags. Floating point numbers are supported by packing the number in as an int64_t or int32_t. We will update the btl interface in the future to make this less confusing. Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov> (cherry picked from commit 23fe19a)
Signed-off-by: Nathan Hjelm <hjelmn@me.com> (cherry picked from commit 6169d03)
This commit adds support for using network AMOs for MPI_Accumulate, MPI_Fetch_and_op, and MPI_Compare_and_swap. This support is only enabled if the ompi_single_intrinsic info key is specified or the acc_single_interinsic MCA variable is set. This configuration indicates to this implementation that no long accumulates will be performed since these do not currently mix with the AMO implementation. This commit also cleans up the code somwhat. This includes removing unnecessary struct keywords where the type is also typedef'd. Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov> (cherry picked from commit 1ce5847)
Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov> (cherry picked from commit e8ef503)
declare a local variable volatile and silence CID 1372692 (cherry picked from commit 958e29f)
This commit adds support for Cray Aries atomic operations. This includes 32-bit and floating point support. Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov> (cherry picked from commit c19426a)
|
@regrant Ready to review I think. Recommend waiting on CI before review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good now 👍
|
@hppritcha Good to go. |
This commit adds support for using network AMOs for MPI_Accumulate,
MPI_Fetch_and_op, and MPI_Compare_and_swap. This support is only
enabled if the ompi_single_intrinsic info key is specified or the
acc_single_interinsic MCA variable is set. This configuration
indicates to this implementation that no long accumulates will be
performed since these do not currently mix with the AMO
implementation.
This commit also cleans up the code somwhat. This includes removing
unnecessary struct keywords where the type is also typedef'd.
Signed-off-by: Nathan Hjelm hjelmn@lanl.gov