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

Optimization of TagBoxArray::collate #1156

Merged
merged 1 commit into from
Jul 20, 2020

Conversation

WeiqunZhang
Copy link
Member

Use a new way to remove duplicated tags. Instead of removing duplicated from vector, we remove
duplicates when tags are still stored in FabArray. Because they are in FabArray with a BoxArray
that has no overlapped valid cells, we can use ParallelAdd to remove duplicates due to the overlap
of valid cells with ghost cells.

Assertion in AmrCore on blocking factor to make sure that there are no overlapped valid cells in
TagBoxArray after coarsening.

Use int version of Gatherv. The long version is not scalable.

Broadcast pre-maxsized BoxList instead of tags. In most cases, this should reduce the amount of
data to be broadcasted.

Use a new way to remove duplicated tags.  Instead of removing duplicated from vector, we remove
duplicates when tags are still stored in FabArray.  Because they are in FabArray with a BoxArray
that has no overlapped valid cells, we can use ParallelAdd to remove duplicates due to the overlap
of valid cells with ghost cells.

Assertion in AmrCore on blocking factor to make sure that there are no overlapped valid cells in
TagBoxArray after coarsening.

Use int version of Gatherv.  The long version is not scalable.

Broadcast pre-maxsized BoxList instead of tags.  In most cases, this should reduce the amount of
data to be broadcasted.
@WeiqunZhang WeiqunZhang requested review from asalmgren and atmyers July 20, 2020 19:20
@WeiqunZhang WeiqunZhang merged commit 27ac069 into AMReX-Codes:development Jul 20, 2020
@WeiqunZhang WeiqunZhang deleted the tagbox_collate branch July 20, 2020 20:02
WeiqunZhang added a commit to WeiqunZhang/amrex that referenced this pull request Jul 26, 2020
In AMReX-Codes#1156, newly generated grids were not always properly nested because the tags in ghost cells were
discarded.  This is fixed and an assertion is added.
@WeiqunZhang WeiqunZhang mentioned this pull request Jul 26, 2020
WeiqunZhang added a commit to WeiqunZhang/amrex that referenced this pull request Jul 26, 2020
In AMReX-Codes#1156, newly generated grids were not always properly nested because the tags in ghost cells were
discarded.  This is fixed and an assertion is added.
WeiqunZhang added a commit that referenced this pull request Jul 26, 2020
In #1156, newly generated grids were not always properly nested because the tags in ghost cells were
discarded.  This is fixed and an assertion is added.
dwillcox pushed a commit to dwillcox/amrex that referenced this pull request Oct 3, 2020
Use a new way to remove duplicated tags.  Instead of removing duplicated from vector, we remove
duplicates when tags are still stored in FabArray.  Because they are in FabArray with a BoxArray
that has no overlapped valid cells, we can use ParallelAdd to remove duplicates due to the overlap
of valid cells with ghost cells.

Assertion in AmrCore on blocking factor to make sure that there are no overlapped valid cells in
TagBoxArray after coarsening.

Use int version of Gatherv.  The long version is not scalable.

Broadcast pre-maxsized BoxList instead of tags.  In most cases, this should reduce the amount of
data to be broadcasted.
dwillcox pushed a commit to dwillcox/amrex that referenced this pull request Oct 3, 2020
In AMReX-Codes#1156, newly generated grids were not always properly nested because the tags in ghost cells were
discarded.  This is fixed and an assertion is added.
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.

2 participants