-
-
Notifications
You must be signed in to change notification settings - Fork 438
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
openshmem parcelport #6376
base: master
Are you sure you want to change the base?
openshmem parcelport #6376
Conversation
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
|
@Pansysk75 @hkaiser : sorted out the header issue. Looks like openmpi has both an
so there's a conflict between openmpi and openshmem. will check for openmpi, and a specific version that includes openshmem - these are all issues cmake can resolve. |
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
@hkaiser @Pansysk75 I'm not able to replicate the build error that's happening. I've copied the build command used by the builder script and it works in my test environment with both cmake and ninja. Any advice on how to proceed would be appreciated! |
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
@hkaiser @Pansysk75 the previous issues were caused by OpenMPI. OpenSHMEM is distributed as part of OpenMPI. Additional cmake scripting is necessary to determine if OpenMPI is installed and if OpenMPI's OpenSHMEM is installed. The cmake scripting prevents dual inclusion errors. OpenMPI's OpenSHMEM also has a different library name than Sandia-OpenSHMEM and OSSS-UCX. The cmake scripting handles this particular situation. OpenMPI's OpenSHMEM has inconsistent feature parity with respect to the current OpenSHMEM specification which both Sandia-OpenSHMEM and OSSS-UCX OpenSHMEM implement. Compile time macros are used to determine if The LSU builders pass now for clang and gcc. Also, the documentation has been updated to explain how to use this new parcelport. |
@hkaiser gcc-12-release and gcc-13-release are failing from issues not related to the openshmem parcelport. clang-12-debug is failing due to an issue with |
I'm afraid that the tests aren't actually running until #6377 is finished and merged. The tests are built though, so I'm glad you got things working. |
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesYou may notice some variations in coverage metrics with the latest Coverage engine update. For more details, visit the documentation |
retest lsu |
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
retest lsu |
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesYou may notice some variations in coverage metrics with the latest Coverage engine update. For more details, visit the documentation |
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesCodacy will stop sending the deprecated coverage status from June 5th, 2024. Learn more |
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
98f65d8
to
d26b61d
Compare
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Performance test reportHPX PerformanceComparison
Info
Comparison
Info
Comparison
Info
Explanation of Symbols
|
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesCodacy stopped sending the deprecated coverage status on June 5th, 2024. Learn more |
Implements an OpenSHMEM parcelport. Updated version of #6308 .
This PR adds cmake-based (via pkg-config) OpenSHMEM configuration for the sandia-openshmem and the ucx-openshmem.
OpenSHMEM creates a distributed shared segment on each locality. The following flags were added to cmake.
-DHPX_WITH_PARCELPORT_OPENSHMEM=ON
-DHPX_WITH_FETCH_OPENSHMEM=ON
-DHPX_WITH_PARCELPORT_OPENSHMEM_CONDUIT={sos, ucx,mpi}
The sos option is for Sandia-OpenSHMEM. The ucx option is for the UCX-OpenSHMEM.
Both Sandia OpenSHMEM and UCX-OpenSHMEM should be compiled with --enable-shared to make sure their OpenSHMEM builds are shared libraries. The GASNet-parcelport established the foundation for this implementation. Each locality gets a page of symmetric memory, equal to what is provided in GASNet, for communication.
Users are required to supply this flag as part of the fetch build process for openshmem:
-DCMAKE_C_COMPILER={clang, gcc}
Checklist
Not all points below apply to all pull requests.
I have added a new feature and have added tests to go along with it.