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

TagBoxArray on GPU #1258

Merged
merged 1 commit into from
Aug 18, 2020
Merged

Conversation

WeiqunZhang
Copy link
Member

@WeiqunZhang WeiqunZhang commented Aug 12, 2020

Summary

TagBoxArray functions can now run on GPU now. We no longer rely on unified memory for TagBoxArray functions.

Additional background

Checklist

The proposed changes:

  • fix a bug or incorrect behavior in AMReX
  • add new capabilities to AMReX
  • changes answers in the test suite to more than roundoff level
  • are likely to significantly affect the results of downstream AMReX users
  • are described in the proposed changes to the AMReX documentation, if appropriate

@WeiqunZhang WeiqunZhang force-pushed the tagbox_gpu branch 9 times, most recently from 9f33e26 to 22e5729 Compare August 15, 2020 21:00
@WeiqunZhang WeiqunZhang marked this pull request as ready for review August 15, 2020 21:07
@WeiqunZhang
Copy link
Member Author

@atmyers and @kngott This is ready for review now.

TagBoxArray functions can now run on GPU now.  We no longer rely on unified
memory for TagBoxArray functions.
@WeiqunZhang WeiqunZhang merged commit 6478336 into AMReX-Codes:development Aug 18, 2020
@WeiqunZhang WeiqunZhang deleted the tagbox_gpu branch August 18, 2020 04:19
WeiqunZhang added a commit to WeiqunZhang/amrex that referenced this pull request Aug 18, 2020
In AMReX-Codes#1258, TagBoxArray::numtags was removed.  However, IAMR still needs it.
So a new function, hasTags, is added for IAMR.
@WeiqunZhang WeiqunZhang mentioned this pull request Aug 18, 2020
5 tasks
drummerdoc pushed a commit that referenced this pull request Aug 18, 2020
In #1258, TagBoxArray::numtags was removed.  However, IAMR still needs it.
So a new function, hasTags, is added for IAMR.
dwillcox pushed a commit to dwillcox/amrex that referenced this pull request Oct 3, 2020
# Summary

TagBoxArray functions can now run on GPU now.  We no longer rely on unified memory for TagBoxArray functions.

## Additional background

## Checklist

The proposed changes:
- [ ] fix a bug or incorrect behavior in AMReX
- [x] add new capabilities to AMReX
- [ ] changes answers in the test suite to more than roundoff level
- [ ] are likely to significantly affect the results of downstream AMReX users
- [ ] are described in the proposed changes to the AMReX documentation, if appropriate
dwillcox pushed a commit to dwillcox/amrex that referenced this pull request Oct 3, 2020
In AMReX-Codes#1258, TagBoxArray::numtags was removed.  However, IAMR still needs it.
So a new function, hasTags, is added for IAMR.
WeiqunZhang added a commit to WeiqunZhang/amrex that referenced this pull request Apr 19, 2021
Add a CPU version of TagBox::buffer.  @MSABuschman reported in AMReX-Codes#1951 that
TagBox::buffer has been very slow since commit AMReX-Codes#1258 if the error buffer
size is large.  The function was rewritten in AMReX-Codes#1258 to do the work on GPU.
In this PR, the old version is reintroduced for CPU.

Note that the current implementation is expected to have poor performance on
GPU if it has a very large error buffer.  It's still not clear how we should
implement this function for GPU if a large error buffer is used.
@WeiqunZhang WeiqunZhang mentioned this pull request Apr 19, 2021
5 tasks
WeiqunZhang added a commit to WeiqunZhang/amrex that referenced this pull request Apr 19, 2021
Add a CPU version of TagBox::buffer.  @MSABuschman reported in AMReX-Codes#1951 that
TagBox::buffer has been very slow since commit AMReX-Codes#1258 if the error buffer
size is large.  The function was rewritten in AMReX-Codes#1258 to do the work on GPU.
In this PR, the old version is reintroduced for CPU.

Note that the current implementation is expected to have poor performance on
GPU if it has a very large error buffer.  It's still not clear how we should
implement this function for GPU if a large error buffer is used.
WeiqunZhang added a commit to WeiqunZhang/amrex that referenced this pull request Apr 19, 2021
Add a CPU version of TagBox::buffer.  @MSABuschman reported in AMReX-Codes#1951 that
TagBox::buffer has been very slow since commit AMReX-Codes#1258 if the error buffer
size is large.  The function was rewritten in AMReX-Codes#1258 to do the work on GPU.
In this PR, the old version is reintroduced for CPU.

Note that the current implementation is expected to have poor performance on
GPU if it has a very large error buffer.  It's still not clear how we should
implement this function for GPU if a large error buffer is used.
WeiqunZhang added a commit that referenced this pull request Apr 19, 2021
Add a CPU version of TagBox::buffer.  @MSABuschman reported in #1951 that
TagBox::buffer has been very slow since commit #1258 if the error buffer
size is large.  The function was rewritten in #1258 to do the work on GPU.
In this PR, the old version is reintroduced for CPU.

Note that the current implementation is expected to have poor performance on
GPU if it has a very large error buffer.  It's still not clear how we should
implement this function for GPU if a large error buffer is used.
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.

None yet

2 participants