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 send_by_ref by modelling it like get_by_ref. #791

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

vehre
Copy link
Collaborator

@vehre vehre commented Oct 15, 2024

coverage on master
Codecov branch

Summary of changes

Send_by_ref was working as expected for static arrays and arrays of higher rank.

Rationale for changes

Make send_by_ref to work for static arrays and arrays of higher rank. This fixes #654.

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 15, 2024 13:01
@vehre
Copy link
Collaborator Author

vehre commented Oct 15, 2024

This fix also fixes the last open testsuite failure get_static_array.f90. It was tested with mpich 4.1.2, openmpi 4.1.5 and intel mpi 2021.13.

@vehre
Copy link
Collaborator Author

vehre commented Feb 10, 2025

@zbeekman or @rouson can you please review?

Base automatically changed from vehre/add-clang-format to main February 10, 2025 15:35
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.

@vehre a few questions, please see my comments. Sorry this sat for so long.

@zbeekman
Copy link
Collaborator

@vehre do you know what's going on with the build errors? I don't have time to take a look at what it will take to resolve them at the moment.

@vehre
Copy link
Collaborator Author

vehre commented Feb 10, 2025

I'll take a look tomorrow.

@vehre vehre force-pushed the vehre/issue-654-send_by_ref_for_rank_2 branch 8 times, most recently from 81b8891 to a8e1e17 Compare February 11, 2025 10:29
Make send_by_ref stable and its structure the same as get_by_ref.
Add a "dummy" component into the test's derived type to figure
incorrect offset computation.
@vehre vehre force-pushed the vehre/issue-654-send_by_ref_for_rank_2 branch 12 times, most recently from 8ad7fa0 to ce20c6e Compare February 11, 2025 14:47
@vehre vehre force-pushed the vehre/issue-654-send_by_ref_for_rank_2 branch from ce20c6e to 6e77eb8 Compare February 11, 2025 14:53
@vehre
Copy link
Collaborator Author

vehre commented Feb 11, 2025

@zbeekman Sorry for all the email noise, but I had to figure the CIs. I think, I got them as usable as possible now. Fact is:

  • mpich is b0rken on ubuntu-latest aka 24.04LTS and no other runners available
  • openmpi is b0rken on ubuntu-latest aka 24.04LTS and no other runners available

This means we are stuck with Intel's mpi on Linux and Windows. But both of these CIs run. With more recent mpi versions on Linux all tests pass on my system.

@zbeekman
Copy link
Collaborator

@vehre what an annoying set of bugs, thanks for fixing this!

I might test out reverting Ubuntu to 22.04 to see if it's possible to test with another mpi as well. If it doesn't work I will keep what you have here.

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 might try to convince CI to run using Ubuntu 22.04 on linux, but if I don't have success I will just merge what's here and call it good.

@vehre vehre force-pushed the vehre/issue-654-send_by_ref_for_rank_2 branch 2 times, most recently from 8ab1fff to 44678fd Compare February 12, 2025 08:04
@vehre vehre force-pushed the vehre/issue-654-send_by_ref_for_rank_2 branch from 44678fd to f8988a0 Compare February 12, 2025 08:10
@vehre
Copy link
Collaborator Author

vehre commented Feb 12, 2025

@zbeekman I have added a workflow for ubuntu-22.04 for mpich and impi. Openmpi is also b0rken on ubuntu 22.04.

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.

Defect: sendget_by_ref() incorrect assignment on LHS when rank == 2
2 participants