Skip to content
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

Fix parallel build issues #788

Merged
merged 7 commits into from
Oct 11, 2024
Merged

Conversation

vehre
Copy link
Collaborator

@vehre vehre commented Oct 8, 2024

coverage on master
Codecov branch

Summary of changes

Fix build dependencies to enable parallel builds.

Rationale for changes

While figuring issues in OpenCoarrays fast builds are reQuired to reduce turn-around time when switching mpi-library. The build system was only allowing seQuential builds using make. The patches in this pr fix this for make -j N and ninja. Other build systems might benefit, too. This may allow for easier implementing #759, but will not fix it completely.

Additional info and certifications

This pull request (PR) is a:

  • Bug fix
  • Feature addition
  • Other, Please describe:

I certify that

  • I certify that:
    • I have reviewed and followed the contributing guidelines
    • I will wait at least 24 hours before self-approving the PR to give another
      OpenCoarrays developer a chance to review my proposed code
    • I have not introduced errant white space (no trailing white space or white space errors may
      be introduced)
    • I have added an explanation of what these changes do and why they should be included
    • I have checked to ensure there aren't other open Pull Requests for the same change
    • I have you written new tests for these changes
    • I have successfully tested these changes locally
    • I have commented any non-trivial, non-obvious code changes
    • The commits are logically atomic, self consistent and coherent
    • The commit messages follow best practices
    • Test coverage is maintained or increased after this is merged

Code coverage data

coverage on master

@vehre vehre requested review from zbeekman and rouson October 8, 2024 12:15
@vehre vehre changed the base branch from main to vehre/issue-783-fix-copy-self October 8, 2024 12:15
Copy link
Collaborator

@zbeekman zbeekman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I agree that these changes should prevent (at least some) parallel compilation failures. CMake is strange in how it names and generates .mod files and this should help to ensure that parallel builds aren't clobbering .mod files needed & in use by other targets. I want to double check what tests CI is running to ensure it includes the changed test cases.

src/script-templates/caf.in Show resolved Hide resolved
src/script-templates/caf.in Show resolved Hide resolved
@zbeekman
Copy link
Collaborator

zbeekman commented Oct 8, 2024

Looks good to me. I agree that these changes should prevent (at least some) parallel compilation failures. CMake is strange in how it names and generates .mod files and this should help to ensure that parallel builds aren't clobbering .mod files needed & in use by other targets. I want to double check what tests CI is running to ensure it includes the changed test cases.

I confirmed that this is running the tests that were changed in CI. Thanks for tackling this Andre! This is ready to merge AFAICT. Let me know if you want me to do the merge and whether or not to wait for @rouson to take a look.

@vehre
Copy link
Collaborator Author

vehre commented Oct 8, 2024 via email

vehre and others added 3 commits October 9, 2024 12:19
Mpich from 4.0 on seems to bug when there is a message dangling on
freeing the communicator.
Using just a variable to indicate openmpi did not work reliably with
all generators, i.e. at least with ninja the variable was not set
in the top-level CMakeLists.txt and therefore additional options
were not set leading to test failures.
…communicator-4-mpich

Fix test failures with mpich 4+.
Copy link
Member

@rouson rouson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Base automatically changed from vehre/issue-783-fix-copy-self to main October 11, 2024 15:11
@rouson rouson merged commit 4c24262 into main Oct 11, 2024
4 checks passed
@rouson rouson deleted the vehre/issue-759-fix-parallel-build-issues branch October 11, 2024 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants