Skip to content

Conversation

@hjelmn
Copy link
Member

@hjelmn hjelmn commented Sep 23, 2016

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

@hjelmn hjelmn added this to the v2.1.0 milestone Sep 23, 2016
Copy link
Contributor

@regrant regrant left a 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.

@ibm-ompi
Copy link

Build Failed with GNU compiler! Please review the log, and get in touch if you have questions.

Gist: https://gist.github.com/b08d47f159a623de14098e3b29566348

@ibm-ompi
Copy link

Build Failed with XL compiler! Please review the log, and get in touch if you have questions.

Gist: https://gist.github.com/593702189172332fa9a0c66a685ed3b9

@hjelmn
Copy link
Member Author

hjelmn commented Sep 26, 2016

@regrant Should be good now. Had to bring over some btl commits.

@ibm-ompi
Copy link

Build Failed with GNU compiler! Please review the log, and get in touch if you have questions.

Gist: https://gist.github.com/007a5a4db79f79a3808e4ad2077254b6

@ibm-ompi
Copy link

Build Failed with XL compiler! Please review the log, and get in touch if you have questions.

Gist: https://gist.github.com/6c06ec2b2b352617b59064d097666ca4

@ibm-ompi
Copy link

Build Failed with GNU compiler! Please review the log, and get in touch if you have questions.

Gist: https://gist.github.com/6a63053c59ff09d378bf42f95c59899b

@ibm-ompi
Copy link

Build Failed with XL compiler! Please review the log, and get in touch if you have questions.

Gist: https://gist.github.com/b3a0392cf91fb9bae3299a78bd4fc0cc

@hjelmn
Copy link
Member Author

hjelmn commented Sep 26, 2016

Hmm, this relies on the flag enumerator but that hasn't been merged yet. Will update this once that is in.

@jsquyres
Copy link
Member

As I understand it, this PR is waiting for #2149.

@hjelmn
Copy link
Member Author

hjelmn commented Oct 11, 2016

@jsquyres Yes.

@hjelmn
Copy link
Member Author

hjelmn commented Oct 12, 2016

I will rework this PR once #2149 is in.

@jsquyres
Copy link
Member

@hjelmn #2149 has been merged. Runway is now clear for this PR to be rebased, etc.

hjelmn and others added 6 commits October 17, 2016 16:22
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)
@hjelmn
Copy link
Member Author

hjelmn commented Oct 17, 2016

@regrant Ready to review I think. Recommend waiting on CI before review.

Copy link
Contributor

@regrant regrant left a 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 👍

@jsquyres
Copy link
Member

@hppritcha Good to go.

@hppritcha hppritcha merged commit eba780d into open-mpi:v2.x Oct 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants