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: copy and permute improvements #13714

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

tjfulle
Copy link
Contributor

@tjfulle tjfulle commented Jan 8, 2025

@trilinos/tpetra

Work completed by @skennon10

Motivation

In some simulations, up to 70-80 of time can be spent in Tpetra::CrsMatrix::copy_and_permute. This PR reduces that time dramatically.

Supersedes #13682

Stakeholder Feedback

From an affected customer:

Great news! I was able to run our code against Steve’s branch and it looks like everything is working great. I ran two short GPU test problems and the time spent in panzer::AssemblyEngine::evaluate_scatter decreased from 69 seconds to 0.8 seconds in one case and 8.8 seconds to 0.1 seconds in the other. In both cases, evaluate_scatter has gone from 70-80% of the total Jacobian construction cost to now <5%. This appears to fully resolve our Tpetra performance issue -- please let us know when the branch has been merged onto Trilinos develop.

Testing

Local Tpetra tests passed.

@tjfulle tjfulle added pkg: Tpetra PA: Data Services Issues that fall under the Trilinos Data Services Product Area labels Jan 8, 2025
@tjfulle tjfulle requested review from rppawlo, csiefer2 and jhux2 January 8, 2025 23:41
@tjfulle tjfulle self-assigned this Jan 8, 2025
@tjfulle tjfulle requested a review from a team as a code owner January 8, 2025 23:41
@jhux2 jhux2 added the AT: PRE-TEST INSPECTED Required to test outside contributions. This label alone will not allow a PR to merge. label Jan 8, 2025
@tjfulle tjfulle marked this pull request as draft January 14, 2025 18:36
@cgcgcg
Copy link
Contributor

cgcgcg commented Jan 14, 2025

Should this PR be tested? Or is it WIP?

cgcgcg
cgcgcg previously approved these changes Jan 14, 2025
Copy link
Contributor

@cgcgcg cgcgcg left a comment

Choose a reason for hiding this comment

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

Approve so that the AT runs..

@cgcgcg cgcgcg added the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Jan 14, 2025
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: PR_gcc-openmpi-openmp

  • Build Num: 1008
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc

  • Build Num: 1058
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc-openmpi_debug

  • Build Num: 1059
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_clang

  • Build Num: 1057
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-clang-11.0.1-openmpi-4.0.5-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda

  • Build Num: 1056
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8-gpu
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_intel

  • Build Num: 977
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-intel-2021.3-sems-openmpi-4.1.6_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda-uvm

  • Build Num: 1056
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Using Repos:

Repo: TRILINOS (trilinos/Trilinos)
  • Branch: tpetra/copy-and-permute-3
  • SHA: 5dd8609
  • Mode: TEST_REPO

Pull Request Author: tjfulle

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Build Information

Test Name: PR_gcc-openmpi-openmp

  • Build Num: 1008
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc

  • Build Num: 1058
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc-openmpi_debug

  • Build Num: 1059
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_clang

  • Build Num: 1057
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-clang-11.0.1-openmpi-4.0.5-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda

  • Build Num: 1056
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8-gpu
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_intel

  • Build Num: 977
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-intel-2021.3-sems-openmpi-4.1.6_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda-uvm

  • Build Num: 1056
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;AT: RETEST;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 5dd8609
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a


CDash Test Results for PR# 13714.


Wiki: How to Reproduce PR Testing Builds and Errors.

@trilinos-autotester trilinos-autotester removed the AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration label Jan 15, 2025
@jhux2
Copy link
Member

jhux2 commented Jan 15, 2025

@cgcgcg I though pre-test inspection was sufficient to start the AT. Is approval now needed?

@cgcgcg
Copy link
Contributor

cgcgcg commented Jan 15, 2025

@jhux2 I'm confused by this as well.

@sebrowne
Copy link
Contributor

sebrowne commented Jan 15, 2025

@jhux2 @cgcgcg I checked the AT logs and it thought that this PR was already tested and had failed. My best guess is that it was picking up the previous failure from the old PR, since the commit was the same (basically creating a PR against master can really mess things up). The RETEST forced it to re-run, so it should behave as expected going forwards.

It did explicitly see Jonathan's PRE-TEST-INSPECTED label and accept it.

@cgcgcg
Copy link
Contributor

cgcgcg commented Jan 15, 2025

@sebrowne Thanks for looking into it!

Signed-off-by: Christian Glusa <[email protected]>
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: PR_gcc-openmpi-openmp

  • Build Num: 1031
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc

  • Build Num: 1081
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc-openmpi_debug

  • Build Num: 1082
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_clang

  • Build Num: 1080
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-clang-11.0.1-openmpi-4.0.5-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda

  • Build Num: 1079
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8-gpu
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_intel

  • Build Num: 1000
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-intel-2021.3-sems-openmpi-4.1.6_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda-uvm

  • Build Num: 1079
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Using Repos:

Repo: TRILINOS (trilinos/Trilinos)
  • Branch: tpetra/copy-and-permute-3
  • SHA: 4bf4506
  • Mode: TEST_REPO

Pull Request Author: tjfulle

@cgcgcg
Copy link
Contributor

cgcgcg commented Jan 21, 2025

@trilinos/framework The framework-test failed with

[2025-01-21T22:26:09Z INFO  verification::job_approver] latest approval: "1950-01-01 00:00:00"
[2025-01-21T22:26:09Z ERROR verification::job_approver] AT2: latest_approval_date of 1950-01-01 00:00:00 is earlier than latest_unapproved_commit_date of 2024-12-17 18:33:23
[2025-01-21T22:26:09Z INFO  verification::job_approver] AT2: Please have someone from Developers review this PR
[2025-01-21T22:26:09Z INFO  verification] Job is not approved

Do I need to re-approve the job?

@achauphan
Copy link
Contributor

achauphan commented Jan 21, 2025

@trilinos/framework The framework-test failed with

[2025-01-21T22:26:09Z INFO  verification::job_approver] latest approval: "1950-01-01 00:00:00"
[2025-01-21T22:26:09Z ERROR verification::job_approver] AT2: latest_approval_date of 1950-01-01 00:00:00 is earlier than latest_unapproved_commit_date of 2024-12-17 18:33:23
[2025-01-21T22:26:09Z INFO  verification::job_approver] AT2: Please have someone from Developers review this PR
[2025-01-21T22:26:09Z INFO  verification] Job is not approved

Do I need to re-approve the job?

The message about Developers is incorrect for this AT2 framework-tests spawner. I've fixed it in our configuration to Pretest-inspectors.

Please try re-running the framework-tests job now.

@cgcgcg
Copy link
Contributor

cgcgcg commented Jan 21, 2025

@achauphan That worked. Thank you!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: PR_gcc-openmpi-openmp

  • Build Num: 1031
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc

  • Build Num: 1081
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_gcc-openmpi_debug

  • Build Num: 1082
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-gnu-8.5.0-openmpi-4.1.6-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_clang

  • Build Num: 1080
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-clang-11.0.1-openmpi-4.0.5-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda

  • Build Num: 1079
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8-gpu
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_intel

  • Build Num: 1000
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-intel-2021.3-sems-openmpi-4.1.6_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a

Build Information

Test Name: PR_cuda-uvm

  • Build Num: 1079
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel8_sems-cuda-11.4.2-gnu-10.1.0-openmpi-4.1.6_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Tpetra;PA: Data Services;AT: PRE-TEST INSPECTED
PULLREQUESTNUM 13714
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL rhel8
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA 4bf4506
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA cc1fe7a


CDash Test Results for PR# 13714.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
THE LAST COMMIT TO THIS PULL REQUEST HAS NOT BEEN REVIEWED YET!

@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

Copy link
Member

@jhux2 jhux2 left a comment

Choose a reason for hiding this comment

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

See my comments. Generally speaking, can copyAndPermuteNew simply replace copyAndPermute?

auto numEntries = rowInfo.numEntries;
using inp_view_type = View<const GO*, Kokkos::HostSpace, MemoryUnmanaged>;
inp_view_type inputInds(inputGblColInds, numInputInds);
size_t numInserted;
{
auto gblIndsHostView = this->gblInds_wdv.getHostView(Access::ReadWrite);
// FIXME - device
Copy link
Member

Choose a reason for hiding this comment

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

Does this mean that the code needs to be rewritten to use device?

@@ -4805,6 +4828,14 @@ namespace Tpetra {
const char tfecfFuncName[] = "copyAndPermute: ";
const bool verbose = verbose_;

if (true) {
Copy link
Member

Choose a reason for hiding this comment

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

delete?

if (true) {
const row_graph_type& srcRowGraph =
dynamic_cast<const row_graph_type&> (source);
copyAndPermuteNew(srcRowGraph, *this, numSameIDs, permuteToLIDs, permuteFromLIDs, INSERT);
Copy link
Member

Choose a reason for hiding this comment

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

Since copyAndPermute calls copyAndPermuteNew, would it make sense that cAPN simply becomes cAP?

Kokkos::abort("error"); \
} while(0)

Kokkos::parallel_for("Tpetra_CrsGraph::copyAndPermuteNew2",
Copy link
Member

Choose a reason for hiding this comment

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

Should be copyAndPermuteNew?

Comment on lines +7655 to +7662
#ifdef CRSGRAPH_INNER_ABORT
#undef CRSGRAPH_INNER_ABORT
#endif

#define CRSGRAPH_INNER_ABORT(lin) do { \
printf("ERROR: Tpetra_CrsGraph_def.hpp:%d", lin); \
Kokkos::abort("error"); \
} while(0)
Copy link
Member

Choose a reason for hiding this comment

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

delete?

@@ -624,7 +624,15 @@ class WrappedDualView {

// We check to see if the memory is not aliased *or* if it is a supported
// (heterogeneous memory) accelerator (for shared host/device memory).
return !memoryIsAliased() || Spaces::is_gpu_exec_space<typename DualViewType::execution_space>();
Copy link
Member

Choose a reason for hiding this comment

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

why is this necessary?

typedef GlobalOrdinal GO;

const bool sorted = graph.isSorted ();
const bool atomic = useAtomicUpdatesByDefault; // FIXME
Copy link
Member

Choose a reason for hiding this comment

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

what needs to be fixed?

Comment on lines +5803 to +5855
if (0 && targetIsLocallyIndexed && sourceIsLocallyIndexed) {

// Create a mapping from the source's local column id's to my local column ids
using DT = typename Node::device_type;
const map_type& src_col_map = *(srcMat.getColMap());
const map_type& tgt_col_map = *(this->getColMap());

auto local_src_col_map = src_col_map.getLocalMap();
auto local_tgt_col_map = tgt_col_map.getLocalMap();

auto invalid = Teuchos::OrdinalTraits<LO>::invalid();
LO num_src_cols = static_cast<LO>(src_col_map.getLocalNumElements());
Kokkos::UnorderedMap<LO, LO, DT> lid_map(num_src_cols);
for (LO src_local_col_idx=0; src_local_col_idx<num_src_cols; src_local_col_idx++)
{
// FIXME using local maps here causes an exception in the current version,
// possibly this is now invoked from host?
auto global_idx = local_src_col_map.getGlobalElement(src_local_col_idx);
auto tgt_local_col_idx = local_tgt_col_map.getLocalElement(global_idx);
if (tgt_local_col_idx != invalid) {
lid_map.insert(src_local_col_idx, tgt_local_col_idx);
}
}
for (LO local_row=0; local_row<numSameIDs_as_LID; local_row++)
{
values_host_view_type src_local_vals;
local_inds_host_view_type src_local_cols;
srcMat.getLocalRowView(local_row, src_local_cols, src_local_vals);

values_host_view_type tgt_local_vals;
local_inds_host_view_type tgt_local_cols;
this->getLocalRowView(local_row, tgt_local_cols, tgt_local_vals);

Kokkos::View<LO*, DT> indices("tgt_local_cols", src_local_cols.extent(0));
Kokkos::View<Scalar*, DT> values("tgt_local_vals", src_local_cols.extent(0));
size_t idx = 0;
for (size_t offset=0; offset<src_local_cols.extent(0); offset++) {
auto src_local_col_idx = src_local_cols(offset);
if (lid_map.exists(src_local_col_idx)) {
auto j = lid_map.find(src_local_col_idx);
auto tgt_local_idx = lid_map.value_at(j);
indices(idx) = tgt_local_idx;
values(idx) = src_local_vals(offset);
idx += 1;
}
}
Kokkos::View<const local_ordinal_type*, DT> indices_const(indices.data(), indices.size());
const impl_scalar_type* const values_const_data = reinterpret_cast<const impl_scalar_type*>(values.data());
Kokkos::View<const impl_scalar_type*, DT> values_const(values_const_data, values.size());
auto inds = Kokkos::subview(indices_const, Kokkos::make_pair(size_t(0), idx));
auto vals = Kokkos::subview(values_const, Kokkos::make_pair(size_t(0), idx));
this->replaceLocalValues(local_row, inds, vals);
}
Copy link
Member

Choose a reason for hiding this comment

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

This branch never executes?

auto permuteToLIDs_h = permuteToLIDs.view_host ();
TEUCHOS_ASSERT( ! permuteFromLIDs.need_sync_host () );
auto permuteFromLIDs_h = permuteFromLIDs.view_host ();
if (1)
Copy link
Member

Choose a reason for hiding this comment

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

delete

}
}

// FIXME - need to apply the same approach as above to the permutes
Copy link
Member

Choose a reason for hiding this comment

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

Should we open a separate issue so we don't forget this?

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
THE LAST COMMIT TO THIS PULL REQUEST HAS BEEN REVIEWED, BUT NOT ACCEPTED OR REQUIRES CHANGES!

@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

2 similar comments
@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AT: PRE-TEST INSPECTED Required to test outside contributions. This label alone will not allow a PR to merge. PA: Data Services Issues that fall under the Trilinos Data Services Product Area pkg: Tpetra
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants