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

amesos2(KLU2): enhance standalone testing #12232

Merged

Conversation

romintomasetti
Copy link
Contributor

@romintomasetti romintomasetti commented Sep 8, 2023

@trilinos/amesos2

@iyamazaki @srajama1

Motivation

As mentioned in #12209 and #12219, @maartenarnst and myself are tracking a bug in KLU2 that only happens for gcc-12 (and also gcc-13...) in Release mode (basically -O3).

The problem was that the function KLU_lsolve (in packages/amesos2/src/KLU2/Source/klu2.hpp) was simply optimized away by the compiler in that specific configuration, though it has clear side effects/observable effects when called from KLU_solve2 in packages/amesos2/src/KLU2/Source/klu2_solve.hpp.

Adding something like the following asm(""), or adding a printf anywhere in KLU_lsolve would prevent the compiler from optimizing it away. So the first fix was something like this:

 #if defined(__GNUC__) && __GNUC__ >= 12
     asm("");
 #endif

However, we judged that fix ugly enough that we looked for something nicer and came up with adding a default to the switch:

default:
            throw std::domain_error("More than 4 right-hand sides is not supported.");

and that would also prevent gcc-12 removing KLU_lsolve.

We really think it is a compiler bug. It also happens with gcc-13. Should we report a bug to them? Note that we were not able to come up with a minimal reproducer.

#

TRIBITS_ADD_EXAMPLE_DIRECTORIES(examples)
TRIBITS_ADD_TEST_DIRECTORIES(tests)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Note for the reviewer(s): I promoted the example to being a "standalone test" of the KLU2 sources.

@@ -0,0 +1,183 @@
// @HEADER
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also note for the reviewer(s): I used git mv bug there are too many changes so git considers it deleted and re-created.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

@romintomasetti romintomasetti force-pushed the amesos2-gcc-12-fix-klu2 branch from 9035932 to 80441c8 Compare September 8, 2023 13:29
@@ -198,67 +198,6 @@ size_t KLU_kernel_factor /* 0 if failure, size of LU if OK */
KLU_common<Entry, Int> *Common /* the control input/output structure */
) ;

template <typename Entry, typename Int>
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Note for the reviewer(s): Here I deleted the forward declarations because there is no ETI for these. I guess in the very first version it was here a header file, and klu2.hpp was actually a .cpp file. And then it was changed to become templated.

@sebrowne
Copy link
Contributor

I recommend rebasing this branch given the 'develop' history change.

@maartenarnst maartenarnst force-pushed the amesos2-gcc-12-fix-klu2 branch from 80441c8 to 9254c4d Compare September 12, 2023 18:30
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO INSPECTION HAS BEEN PERFORMED ON THIS PULL REQUEST! - This PR must be inspected by setting label 'AT: PRE-TEST INSPECTED'.

srajama1
srajama1 previously approved these changes Sep 14, 2023
Copy link
Contributor

@srajama1 srajama1 left a comment

Choose a reason for hiding this comment

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

@srajama1 srajama1 added the AT: PRE-TEST INSPECTED Required to test outside contributions. This label alone will not allow a PR to merge. label Sep 14, 2023
@trilinos-autotester trilinos-autotester removed the AT: PRE-TEST INSPECTED Required to test outside contributions. This label alone will not allow a PR to merge. label Sep 14, 2023
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; this inspection will remain valid until a new commit to source branch is performed.

@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: Trilinos_PR_gcc-8.3.0

  • Build Num: 2867
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-serial

  • Build Num: 1366
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-v2-gnu-8.3.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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-debug

  • Build Num: 1356
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_clang-11.0.1

  • Build Num: 1355
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-11.0.1-openmpi-1.10.1-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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 2570
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 2358
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_intel-2021.3

  • Build Num: 997
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-2021.3-sems-openmpi-4.0.5_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-off_no-package-enables
PR_LABELS
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Using Repos:

Repo: TRILINOS (uliegecsm/Trilinos)
  • Branch: amesos2-gcc-12-fix-klu2
  • SHA: 9254c4d
  • Mode: TEST_REPO

Pull Request Author: romintomasetti

@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: Trilinos_PR_gcc-8.3.0

  • Build Num: 2867
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-serial

  • Build Num: 1366
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-v2-gnu-8.3.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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-debug

  • Build Num: 1356
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_clang-11.0.1

  • Build Num: 1355
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-11.0.1-openmpi-1.10.1-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
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 2570
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 2358
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_intel-2021.3

  • Build Num: 997
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-2021.3-sems-openmpi-4.0.5_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-off_no-package-enables
PR_LABELS
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA 9254c4d
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9


CDash Test Results for PR# 12232.


Wiki: How to Reproduce PR Testing Builds and Errors.

@maartenarnst
Copy link
Contributor

Hi @srajama1. It seems some of the tests failed for this one. On our side, @romintomasetti and I don't have permissions to look into the CDash or ask for a retest. Would you have a moment to do one of those things to move this forward? Thanks.

@iyamazaki
Copy link
Contributor

@maartenarnst Thank you for the PR, and I am sorry for missing it. The errors seem to happen when building the simple test with the complex scalar type, and I could reproduce them locally, e.g.,

Trilinos/packages/amesos2/src/KLU2/Source/klu2_scale.hpp(166): error: no suitable conversion function from "std::complex<double>" to "double" exists
              KLU2_ABS (a, Az [p]) ;
          detected during:
            instantiation of "Int klu_scale(Int, Int, Int *, Int *, Entry *, double *, Int *, klu_common<Entry, Int> *) [with Entry=std::complex<double>, Int=int]" at line 151 of "Trilinos/packages/amesos2/src/KLU2/Source/klu2_factor.hpp"
            instantiation of "void factor2(Int *, Int *, Entry *, klu_symbolic<Entry, Int> *, klu_numeric<Entry, Int> *, klu_common<Entry, Int> *) [with Entry=std::complex<double>, Int=int]" at line 562 of "Trilinos/packages/amesos2/src/KLU2/Source/klu2_factor.hpp"
            instantiation of "klu_numeric<Entry, Int> *klu_factor(Int *, Int *, Entry *, klu_symbolic<Entry, Int> *, klu_common<Entry, Int> *) [with Entry=std::complex<double>, Int=int]" at line 147 of "Trilinos/packages/amesos2/src/KLU2/Source/tests/klu2_simple.cpp"
            instantiation of "void solve_and_check<T,D,tol_t>(tol_t) [with T=std::complex<double>, D=int, tol_t=double]" at line 180 of "Trilinos/packages/amesos2/src/KLU2/Source/tests/klu2_simple.cpp"

@maartenarnst
Copy link
Contributor

Hi @iyamazaki. Thanks for looking into it and letting us know about the error. It seems we weren't protecting the test for the case of the complex scalar type with the HAVE_TEUCHOS_COMPLEX macro. I've added it. Would you have a moment to set it up for a retest? Thanks in advance!

@iyamazaki iyamazaki added AT: RETEST Causes the PR autotester to run a new round of PR tests on the next iteration AT: PRE-TEST INSPECTED Required to test outside contributions. This label alone will not allow a PR to merge. labels Sep 20, 2023
@trilinos-autotester
Copy link
Contributor

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

@trilinos-autotester trilinos-autotester removed the AT: PRE-TEST INSPECTED Required to test outside contributions. This label alone will not allow a PR to merge. label Sep 21, 2023
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED by label AT: PRE-TEST INSPECTED! Autotester is Removing Label; this inspection will remain valid until a new commit to source branch is performed.

@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: Trilinos_PR_gcc-8.3.0

  • Build Num: 2922
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-serial

  • Build Num: 1421
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-v2-gnu-8.3.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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-debug

  • Build Num: 1411
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_clang-11.0.1

  • Build Num: 1410
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-11.0.1-openmpi-1.10.1-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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 2625
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 2413
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_intel-2021.3

  • Build Num: 1052
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-2021.3-sems-openmpi-4.0.5_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-off_no-package-enables
PR_LABELS AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Using Repos:

Repo: TRILINOS (uliegecsm/Trilinos)
  • Branch: amesos2-gcc-12-fix-klu2
  • SHA: ea5c7b5
  • Mode: TEST_REPO

Pull Request Author: romintomasetti

@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: Trilinos_PR_gcc-8.3.0

  • Build Num: 2922
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-serial

  • Build Num: 1421
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-v2-gnu-8.3.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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-debug

  • Build Num: 1411
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_clang-11.0.1

  • Build Num: 1410
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-11.0.1-openmpi-1.10.1-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 AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 2625
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 2413
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9

Build Information

Test Name: Trilinos_PR_intel-2021.3

  • Build Num: 1052
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-2021.3-sems-openmpi-4.0.5_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-off_no-package-enables
PR_LABELS AT: RETEST
PULLREQUESTNUM 12232
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_REPO https://github.com/uliegecsm/Trilinos
TRILINOS_SOURCE_SHA ea5c7b5
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA ff92fc9


CDash Test Results for PR# 12232.

@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 Sep 21, 2023
@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...

@iyamazaki
Copy link
Contributor

Thank you for the change @maartenarnst! I just want to double-check with @ndellingwood. I feel a bit strange that we have to protect Amesos2 tester with HAVE_TEUCHOS_COMPLEX?

@maartenarnst
Copy link
Contributor

Hi @iyamazaki.

OK of course to check with @ndellingwood.

Just a few thoughts to try to help the discussion:

The use of HAVE_TEUCHOS_COMPLEX is not new. It was already in the file KLU2/Source/Examples/klu2_simple.cpp that this PR turns into a test. In this file in the current develop branch:

  • #ifdef HAVE_TEUCHOS_COMPLEX
    std::cout << "Complex double case " << std::endl ;
    typedef std::complex<double> ComplexD ;
    klu_symbolic<ComplexD, int> *Symbolic_C ;
    klu_numeric<ComplexD, int> *Numeric_C ;
    klu_common<ComplexD, int> Common_C ;
    klu_defaults<ComplexD, int> (&Common_C) ;
    Symbolic_C = klu_analyze<ComplexD, int> (n, Ap, Ai, &Common_C) ;
    Numeric_C = klu_factor<ComplexD, int> (Ap, Ai, Ax_cd, Symbolic_C, &Common_C) ;
    klu_solve<ComplexD, int> (Symbolic_C, Numeric_C, 5, 1, b_cd, &Common_C) ;
    for (i = 0 ; i < n ; i++)
    std::cout << "Non-transpose: x [" << i << "] = "<< b_cd[i] << std::endl ;
    klu_tsolve<ComplexD, int> (Symbolic_C, Numeric_C, 5, 1, b_cd, &Common_C) ;
    for (i = 0 ; i < n ; i++)
    std::cout << "Transpose: x [" << i << "] = "<< b_cd[i] << std::endl ;
    klu_free_symbolic<ComplexD, int> (&Symbolic_C, &Common_C) ;
    klu_free_numeric<ComplexD, int> (&Numeric_C, &Common_C) ;
    #endif

If we don't use HAVE_TEUCHOS_COMPLEX to protect the test, we run into the test failures that we had seen. The reason seems to be that there are places in the main KLU2 code where HAVE_TEUCHOS_COMPLEX is used. It seems that if we remove this protection at one location, such as the example/test, we'll have to be consistent and remove it systematically.

@romintomasetti authored this PR. When he and I talked this morning, he too expressed that he felt that it is strange to use the HAVE_TEUCHOS_COMPLEX in the test. I agree with both of you. It's just that if we change it, there may be quite a few other things that we'll have to change.

Copy link
Contributor

@ndellingwood ndellingwood left a comment

Choose a reason for hiding this comment

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

Thanks for the contributions!
Yeah, adding the HAVE_TEUCHOS_COMPLEX to guard the test seems the easiest way to handle the existing guarding mentioned by @maartenarnst at e.g. Trilinos/packages/amesos2/src/KLU2/Include/klu2_scalartraits.h

Adding the pre-test-inspection and automerge label so we can get this in, thanks again

@ndellingwood ndellingwood added AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed AT: PRE-TEST INSPECTED Required to test outside contributions. This label alone will not allow a PR to merge. labels Sep 22, 2023
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ ndellingwood ]!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester trilinos-autotester merged commit f1282ab into trilinos:develop Sep 22, 2023
2 checks passed
@trilinos-autotester
Copy link
Contributor

Merge on Pull Request# 12232: IS A SUCCESS - Pull Request successfully merged

@trilinos-autotester trilinos-autotester removed the AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed label Sep 22, 2023
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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants