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

Update collectives #158

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Update collectives #158

wants to merge 1 commit into from

Conversation

everythingfunctional
Copy link
Member

@everythingfunctional everythingfunctional commented Dec 19, 2024

Updates the collective interfaces and implementations to match the new PRIF revision.

Some of the tests and implementations are currently commented out. This is because of the following compiler bugs:

  • gcc crashes when trying to execute co_reduce
  • flang does not support parameterized derived types yet
  • flang does not support comparison operations on characters

Fixes #69
Fixes #132
Fixes #153
Fixes #154
Fixes #155

@rouson
Copy link
Collaborator

rouson commented Dec 23, 2024

@everythingfunctional flang supports kind type parameters for derived types but not length type parameters. Does Caffeine use length type parameters?

@everythingfunctional
Copy link
Member Author

Does Caffeine use length type parameters?

One of the tests was trying to demonstrate how co_reduce could be used with derived types with length type parameters. Otherwise Caffeine does not use length type parameters.

@bonachea bonachea mentioned this pull request Dec 28, 2024
Copy link
Member

@bonachea bonachea 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 so far, although there's obviously still a ways to go before it reaches feature parity with PRIF 0.4 / main

test(collectives): outline simpler test suite

chore: remove old collective implementations

chore: update interfaces of collectives

feat(co_broadcast): use wrapper to make contiguous

feat: re-implement co_sum

feat: create implementation of co_reduce

feat: create co_min implementation

feat: create implementation for co_max
@bonachea
Copy link
Member

Brad's version at 171bf08 rebased onto main and conflicts resolved manually

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants