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

dG Dependencies: iteration policy, edge accessor #436

Open
wants to merge 12 commits into
base: issue-517
Choose a base branch
from

Conversation

int-ptr-ptr
Copy link
Collaborator

@int-ptr-ptr int-ptr-ptr commented Jan 27, 2025

Description

Please describe the changes/features in this pull request.

Note: instead of merging to devel, consider a push to a different issue branch dedicated to dG dependencies

Adds the following to stage for merging dG into SPECFEM++:

  • chunk_edge team policy (each edge iterates ngll nodes along that edge)
    • complete
    • tests written
  • chunk_edge field accessor
    • complete
    • tests written
  • specfem::compute::load_on_... routines for chunk_edge
    • complete
    • tests written

We additionally create an accessor unit test directory, which could also be shared with point, chunk_element, etc. in the future. As for now, point fields are "tested" to validate the chunk_edge team policy.

Issue Number

If there is an issue created for these changes, link it here

Checklist

Please make sure to check developer documentation on specfem docs.

  • I ran the code through pre-commit to check style
  • My code passes all the integration tests
  • I have added sufficient unittests to test my changes
  • I have added/updated documentation for the changes I am proposing
  • I have updated CMakeLists to ensure my code builds
  • My code builds across all platforms

@buildbot-princeton
Copy link
Collaborator

Can one of the admins verify this patch?

2 similar comments
@buildbot-princeton
Copy link
Collaborator

Can one of the admins verify this patch?

@buildbot-princeton
Copy link
Collaborator

Can one of the admins verify this patch?

+ added specfem::edge::index to be similar to specfem::point::index
+ chunk_edge policy now uses View<specfem::edge::index> instead of two separate views for ispec and edge::type
= modified test accordingly
@lsawade
Copy link
Collaborator

lsawade commented Feb 6, 2025

test this please

@lsawade
Copy link
Collaborator

lsawade commented Feb 10, 2025

retest this please

Copy link
Collaborator

@lsawade lsawade left a comment

Choose a reason for hiding this comment

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

LGTM, minor comments

};
} // namespace iterator

// TODO all above this is same as chunk.hpp
Copy link
Collaborator

Choose a reason for hiding this comment

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

Remnant?

return iterator_type(my_indices, ngll);
}

private:
Copy link
Collaborator

Choose a reason for hiding this comment

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

protected?

@Rohit-Kakodkar Rohit-Kakodkar changed the base branch from devel to issue-517 February 26, 2025 20:55
Copy link
Collaborator

@Rohit-Kakodkar Rohit-Kakodkar left a comment

Choose a reason for hiding this comment

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

LGTM! But I'd like you to compile and test this with OpenMP enabled and on GPU before we merge.

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.

5 participants