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

Tpetra: improve performance of unpackAndCombineWithOwningPIDsCount #11694

Closed
jhux2 opened this issue Mar 17, 2023 · 2 comments
Closed

Tpetra: improve performance of unpackAndCombineWithOwningPIDsCount #11694

jhux2 opened this issue Mar 17, 2023 · 2 comments
Assignees
Labels
pkg: Tpetra type: enhancement Issue is an enhancement, not a bug

Comments

@jhux2
Copy link
Member

jhux2 commented Mar 17, 2023

Enhancement

@trilinos/tpetra

unpackAndCombineWithOwningPIDsCount is a hotspot when profiling transfer-and-fill-complete on device.

Timer name: "TAFC unpack-count-resize"

See extensive discussions in #2267 and #2556 about previous refactoring.

Part of #11689.

@jhux2
Copy link
Member Author

jhux2 commented Jun 15, 2023

Note: unpackAndCombineWithOwningPIDsCount returns a size_t.

@jhux2 jhux2 self-assigned this Jun 21, 2023
jhux2 added a commit that referenced this issue Jul 14, 2023
Merges Tpetra_CrsMatrix methods unpackAndCombineWithOwningPIDsCount and
unpackAndCombineIntoCrsArrays.  Reduces number of deep copies.  Part of
larger effort to have TAFC run on device.

Temporary change in Tpetra_CrsMatrix_def.hpp:
    destMat->numImportPacketsPerLID_.modify_host()

because numImportPacketsPerLID_ is a Kokkos::DualView and hasn't been
properly marked as modified on host

Addresses #11693 and #11694.
jhux2 added a commit that referenced this issue Jul 14, 2023
Replace unpackAndCombineIntoCrsArrays version that accepts only
Teuchos Arrays/ArrayRCPs with one that accepts some Kokkos views.
(The conversion isn't complete, as upstream/downstream changes
are still to be done.)

Part of #11693 and #11694.
jhux2 added a commit that referenced this issue Sep 2, 2023
Merges Tpetra_CrsMatrix methods unpackAndCombineWithOwningPIDsCount and
unpackAndCombineIntoCrsArrays.  Reduces number of deep copies.  Part of
larger effort to have TAFC run on device.

Temporary change in Tpetra_CrsMatrix_def.hpp:
    destMat->numImportPacketsPerLID_.modify_host()

because numImportPacketsPerLID_ is a Kokkos::DualView and hasn't been
properly marked as modified on host

Addresses #11693 and #11694.
jhux2 added a commit that referenced this issue Sep 2, 2023
Replace unpackAndCombineIntoCrsArrays version that accepts only
Teuchos Arrays/ArrayRCPs with one that accepts some Kokkos views.
(The conversion isn't complete, as upstream/downstream changes
are still to be done.)

Part of #11693 and #11694.
csiefer2 pushed a commit that referenced this issue Sep 12, 2023
Merges Tpetra_CrsMatrix methods unpackAndCombineWithOwningPIDsCount and
unpackAndCombineIntoCrsArrays.  Reduces number of deep copies.  Part of
larger effort to have TAFC run on device.

Temporary change in Tpetra_CrsMatrix_def.hpp:
    destMat->numImportPacketsPerLID_.modify_host()

because numImportPacketsPerLID_ is a Kokkos::DualView and hasn't been
properly marked as modified on host

Addresses #11693 and #11694.
csiefer2 pushed a commit that referenced this issue Sep 12, 2023
Replace unpackAndCombineIntoCrsArrays version that accepts only
Teuchos Arrays/ArrayRCPs with one that accepts some Kokkos views.
(The conversion isn't complete, as upstream/downstream changes
are still to be done.)

Part of #11693 and #11694.
cwpearson pushed a commit to cwpearson/Trilinos that referenced this issue Sep 19, 2023
Merges Tpetra_CrsMatrix methods unpackAndCombineWithOwningPIDsCount and
unpackAndCombineIntoCrsArrays.  Reduces number of deep copies.  Part of
larger effort to have TAFC run on device.

Temporary change in Tpetra_CrsMatrix_def.hpp:
    destMat->numImportPacketsPerLID_.modify_host()

because numImportPacketsPerLID_ is a Kokkos::DualView and hasn't been
properly marked as modified on host

Addresses trilinos#11693 and trilinos#11694.
cwpearson pushed a commit to cwpearson/Trilinos that referenced this issue Sep 19, 2023
Replace unpackAndCombineIntoCrsArrays version that accepts only
Teuchos Arrays/ArrayRCPs with one that accepts some Kokkos views.
(The conversion isn't complete, as upstream/downstream changes
are still to be done.)

Part of trilinos#11693 and trilinos#11694.
cwpearson pushed a commit to cwpearson/Trilinos that referenced this issue Sep 19, 2023
Merges Tpetra_CrsMatrix methods unpackAndCombineWithOwningPIDsCount and
unpackAndCombineIntoCrsArrays.  Reduces number of deep copies.  Part of
larger effort to have TAFC run on device.

Temporary change in Tpetra_CrsMatrix_def.hpp:
    destMat->numImportPacketsPerLID_.modify_host()

because numImportPacketsPerLID_ is a Kokkos::DualView and hasn't been
properly marked as modified on host

Addresses trilinos#11693 and trilinos#11694.
cwpearson pushed a commit to cwpearson/Trilinos that referenced this issue Sep 19, 2023
Replace unpackAndCombineIntoCrsArrays version that accepts only
Teuchos Arrays/ArrayRCPs with one that accepts some Kokkos views.
(The conversion isn't complete, as upstream/downstream changes
are still to be done.)

Part of trilinos#11693 and trilinos#11694.
@jhux2
Copy link
Member Author

jhux2 commented Oct 20, 2023

completed

@jhux2 jhux2 closed this as completed Oct 20, 2023
@jhux2 jhux2 added this to Tpetra Aug 12, 2024
@jhux2 jhux2 moved this to Done in Tpetra Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg: Tpetra type: enhancement Issue is an enhancement, not a bug
Projects
Status: Done
Development

No branches or pull requests

1 participant