Skip to content

Teko: Selective disable of single unit test in test Teko_testdriver_tpetra_MPI_1

Created by: bartlettroscoe

CC: @trilinos/teko, @eric-c-cyr, @fryeguy52

Description

This PR defines a CMake var Teko_DISABLE_LSCSTABALIZED_TPETRA_ALPAH_INV_D and uses it to disable one unit test in the larger set of unit tests Teko_testdriver_tpetra_MPI_1 and only for select RHEL6 ATDM Trilinos builds. This does not disable any test code for any platform where this test is currently passing. This addresses (at least for now) the failure in #2652 (closed).

This replaces the PR #2654.

As part of this PR, I also added commit 47be6fc9 to allow the checkin-test-atdm.sh script to test all of the supported builds for the RHEL6 ATDM Trilinos platform.

How Has This Been Tested?

I verified that I could reproduce the failing tests on my CEE LAN RHEL6 machine ceerws1113 and then verified that this PR branch fixes the tests by disabling just this one test.

Using a base version of 'develop', I tested this locally on ceerws1113 with:

$ ./checkin-test-atdm.sh all --enable-packages=Teko --local-do-all

this returned:

Enabled Packages: Teko

Build test results:
-------------------
0) MPI_RELEASE_DEBUG_SHARED_PT => Test case MPI_RELEASE_DEBUG_SHARED_PT was not run! => Does not affect push readiness! (-1.00 min)
1) gnu-debug-serial => FAILED: passed=18,notpassed=1 => Not ready to push! (1.52 min)
2) gnu-opt-serial => FAILED: passed=18,notpassed=1 => Not ready to push! (0.76 min)
3) gnu-debug-openmp => FAILED: passed=18,notpassed=1 => Not ready to push! (1.58 min)
4) gnu-opt-openmp => passed: passed=19,notpassed=0 (0.79 min)
5) intel-opt-openmp => FAILED: passed=18,notpassed=1 => Not ready to push! (1.18 min)

The failing tests where:

$ find -maxdepth 2 -name ctest.out -exec grep -H "[(]Failed[)]" {} \;
./gnu-debug-openmp/ctest.out:     4 - Teko_testdriver_tpetra_MPI_1 (Failed)
./gnu-opt-serial/ctest.out:       4 - Teko_testdriver_tpetra_MPI_1 (Failed)
./intel-opt-openmp/ctest.out:     4 - Teko_testdriver_tpetra_MPI_1 (Failed)
./gnu-debug-serial/ctest.out:     4 - Teko_testdriver_tpetra_MPI_1 (Failed)

Strange I did not reproduce the failure for the build gnu-opt-openmp on ceerws1113. I don't now why that is.

Using this updated branch in this PR, I tested this locally on ceerws113 with:

$ ./checkin-test-atdm.sh all --enable-packages=Teko --local-do-all

this returned:

Enabled Packages: Teko

Build test results:
-------------------
0) MPI_RELEASE_DEBUG_SHARED_PT => Test case MPI_RELEASE_DEBUG_SHARED_PT was not run! => Does not affect push readiness! (-1.00 min)
1) gnu-debug-serial => passed: passed=19,notpassed=0 (6.45 min)
2) gnu-opt-serial => passed: passed=19,notpassed=0 (0.43 min)
3) gnu-debug-openmp => passed: passed=19,notpassed=0 (7.31 min)
4) gnu-opt-openmp => passed: passed=19,notpassed=0 (6.37 min)
5) intel-opt-openmp => passed: passed=19,notpassed=0 (20.96 min)

The full output from the now passing test is shown below.

Full passing test Teko_testdriver_tpetra_MPI_1 output for build gnu-opt-serial: (click to expand)
Teuchos::GlobalMPISession::GlobalMPISession(): started processor with name ceerws1113 and rank 0!
Running test "SIMPLEPreconditionerFactory_tpetra"
   "createPrec" ... PASSED
   Teko: Begin debug MSG
      SIMPLE Parameters: 
         inv type    = ""
         inv v type  = "Ifpack2"
         inv p type  = "Ifpack2"
         alpha       = 1
         use mass    = 0
         vel scaling = Lumped
      SIMPLE Parameter list: 
      Explicit Velocity Inverse Type = Lumped
      Inverse Pressure Type = Ifpack2
      Inverse Velocity Type = Ifpack2
   Teko: End debug MSG
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
   "initializePrec(lumped)" ... PASSED
   Teko: Begin debug MSG
      SIMPLE Parameters: 
         inv type    = ""
         inv v type  = "Ifpack2"
         inv p type  = "Ifpack2"
         alpha       = 1
         use mass    = 0
         vel scaling = Diagonal
      SIMPLE Parameter list: 
      Explicit Velocity Inverse Type = Diagonal
      Inverse Pressure Type = Ifpack2
      Inverse Velocity Type = Ifpack2
   Teko: End debug MSG
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
   "initializePrec(diag)" ... PASSED
   Teko: Begin debug MSG
      SIMPLE Parameters: 
         inv type    = ""
         inv v type  = "Ifpack2"
         inv p type  = "Ifpack2"
         alpha       = 1
         use mass    = 0
         vel scaling = AbsRowSum
      SIMPLE Parameter list: 
      Explicit Velocity Inverse Type = AbsRowSum
      Inverse Pressure Type = Ifpack2
      Inverse Velocity Type = Ifpack2
   Teko: End debug MSG
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
   "initializePrec(absrowsum)" ... PASSED
   "uninitializePrec" ... PASSED
   "isCompatable" ... PASSED
   "diagonal(diag)" ... PASSED
   "result(diag)" ... PASSED
Test "SIMPLEPreconditionerFactory_tpetra" completed ... PASSED (8)
Running test "DiagonalPreconditionerFactory_tpetra"
   "createPrec" ... PASSED
   "initializePrec" ... PASSED
||Z-Y||/||Z|| = 0
   "canApply" ... PASSED
Test "DiagonalPreconditionerFactory_tpetra" completed ... PASSED (3)
Running test "LU2x2PreconditionerFactory_tpetra"
   "createPrec" ... PASSED
   "initializePrec" ... PASSED
   "uninitializePrec" ... PASSED
   "isCompatable" ... PASSED
   "identity" ... PASSED
   "diagonal" ... PASSED
   "result" ... PASSED
   "alphabeta" ... PASSED
Test "LU2x2PreconditionerFactory_tpetra" completed ... PASSED (8)
Running test "LSCStablePreconditionerFactory_tpetra"
   "createPrec" ... PASSED
Teko: LSCPrecFact::buildPO BuildStateTime = 0
Teko: LSCPrecFact::buildPO GetInvTime = 2.86102e-06
Teko: LSCPrecFact::buildPO TotalTime = 3.00407e-05
   "initializePrec" ... PASSED
   "uninitializePrec" ... PASSED
   "isCompatable" ... PASSED
Teko: LSCPrecFact::buildPO BuildStateTime = 1.19209e-06
Teko: LSCPrecFact::buildPO GetInvTime = 9.53674e-07
Teko: LSCPrecFact::buildPO TotalTime = 2.00272e-05
   "identity" ... PASSED
Teko: LSCPrecFact::buildPO BuildStateTime = 0
Teko: LSCPrecFact::buildPO GetInvTime = 1.90735e-06
Teko: LSCPrecFact::buildPO TotalTime = 4.00543e-05
   "diagonal" ... PASSED
Teko: LSCPrecFact::buildPO BuildStateTime = 0
Teko: LSCPrecFact::buildPO GetInvTime = 9.53674e-07
Teko: LSCPrecFact::buildPO TotalTime = 2.5034e-05
   "result" ... PASSED
Test "LSCStablePreconditionerFactory_tpetra" completed ... PASSED (7)
Running test "LSCStabilized_tpetra"
Teko: LSCPrecFact::buildPO BuildStateTime = 0
Teko: LSCPrecFact::buildPO GetInvTime = 9.53674e-07
Teko: LSCPrecFact::buildPO TotalTime = 4.1008e-05
   "diagonal" ... PASSED
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
Teko: LSC::initializeState Build Scaling <mass> type "Diagonal"
   Teko: Begin debug MSG
      LSC Gamma Parameter = 0.237413
      LSC Alpha Parameter = 0.667104
   Teko: End debug MSG
Teko: LSC::buildState BuildOpsTime = 0.00371313
Teko: LSC::computeInverses Building inv(F)
Teko: LSC::computeInverses GetInvF = 8.70228e-05
Teko: LSC::computeInverses Building inv(BQBtmC)
Teko: LSC::computeInverses GetInvBQBt = 7.51019e-05
Teko: LSC::buildState BuildInvTime = 0.00018692
Teko: LSCPrecFact::buildPO BuildStateTime = 0.00390792
Teko: LSCPrecFact::buildPO GetInvTime = 1.90735e-06
Teko: LSCPrecFact::buildPO TotalTime = 0.00393581
   "strategy" ... PASSED
Test "LSCStabilized_tpetra" completed ... PASSED (2)
Running test "Jacobi2x2PreconditionerFactory_tpetra"
   "createPrec" ... PASSED
   "initializePrec" ... PASSED
   "uninitializePrec" ... PASSED
   "isCompatable" ... PASSED
   "identity" ... PASSED
   "diagonal" ... PASSED
   "result" ... PASSED
   Teko: Begin debug MSG
      Looked up "Block Jacobi"
      Built Teuchos::RCP<Teko::PreconditionerFactory>{ptr=0x3cde558,node=0x3c9f0d0,strong_count=1,weak_count=0}
   Teko: End debug MSG
Teko: JacobiPrecFact: Building default inverse "Ifpack2"
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
   Teko: Begin debug MSG
      Looked up "Block Jacobi"
      Built Teuchos::RCP<Teko::PreconditionerFactory>{ptr=0x3cdcf08,node=0x3c9f0d0,strong_count=1,weak_count=0}
   Teko: End debug MSG
Teko: JacobiPrecFact: Building default inverse "ML"
Teko: Inverse "ML" is of type strat prec = 1, strat solv = 0, block prec = 0
Teko: JacobiPrecFact: Building inverse 1 "Amesos"
Teko: Inverse "Amesos" is of type strat prec = 0, strat solv = 1, block prec = 0
Teko: JacobiPrecFact: Building inverse 3 "Ifpack"
Teko: Inverse "Ifpack" is of type strat prec = 1, strat solv = 0, block prec = 0
   "initializeFromParameterList" ... PASSED
Test "Jacobi2x2PreconditionerFactory_tpetra" completed ... PASSED (8)
Running test "BlockJacobiPreconditionerFactory_tpetra"
   "createPrec" ... PASSED
   "initializePrec" ... PASSED
   "uninitializePrec" ... PASSED
   "isCompatible" ... PASSED
Test "BlockJacobiPreconditionerFactory_tpetra" completed ... PASSED (4)
Running test "BlockUpperTriInverseOp_tpetra"
   "apply" ... PASSED
   "alphabeta" ... PASSED
Test "BlockUpperTriInverseOp_tpetra" completed ... PASSED (2)
Running test "BlockLowerTriInverseOp_tpetra"
   "apply" ... PASSED
   "alphabeta" ... PASSED
Test "BlockLowerTriInverseOp_tpetra" completed ... PASSED (2)
Running test "tTpetraOperatorWrapper"
   "functionality" ... PASSED
Test "tTpetraOperatorWrapper" completed ... PASSED (1)
Running test "InterlacedTpetra"
   "buildSubMaps_num" ... PASSED
   "buildSubMaps_vec" ... PASSED
   "buildMaps" ... PASSED
   "one2many" ... PASSED
   "many2one" ... PASSED
Test "InterlacedTpetra" completed ... PASSED (5)
Running test "BlockingTpetra"
   "buildMaps" ... PASSED
   "one2many" ... PASSED
   "many2one" ... PASSED
   "buildSubBlock" ... PASSED
Test "BlockingTpetra" completed ... PASSED (4)
Running test "TpetraThyraConverter"
   "blockThyraToTpetra" ... PASSED
   "single_blockThyraToTpetra" ... PASSED
   "blockTpetraToThyra" ... PASSED
   "single_blockTpetraToThyra" ... PASSED
Test "TpetraThyraConverter" completed ... PASSED (4)
Running test "tGraphLaplacian_tpetra"
   "single_array" ... PASSED
   "multi_array" ... PASSED
Test "tGraphLaplacian_tpetra" completed ... PASSED (2)
Running test "tParallelInverse_tpetra"
Teko: Inverse "Belos" is of type strat prec = 0, strat solv = 1, block prec = 0
   "inverse" ... PASSED
Test "tParallelInverse_tpetra" completed ... PASSED (1)
Running test "tExplicitOps_tpetra"
   "mult_diagScaleMatProd" ... PASSED
   "mult_diagScaling" ... PASSED
   "add" ... PASSED
   "mult_modScaleMatProd" ... PASSED
   "add_mod" ... PASSED
Test "tExplicitOps_tpetra" completed ... PASSED (5)
Running test "LSCHIntegrationTest_tpetra"
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
Teko: LSC::initializeState Build Scaling <mass> type "Diagonal"
Teko: LSC::buildState BuildOpsTime = 0.000283957
Teko: LSC::computeInverses Building inv(F)
Teko: LSC::computeInverses GetInvF = 8.70228e-05
Teko: LSC::computeInverses Building inv(BQBtmC)
Teko: LSC::computeInverses GetInvBQBt = 8.79765e-05
Teko: LSC::computeInverses Building inv(BHBtmC)
Teko: LSC::computeInverses GetInvBHBt = 7.10487e-05
Teko: LSC::buildState BuildInvTime = 0.000277996
Teko: LSCPrecFact::buildPO BuildStateTime = 0.000571966
Teko: LSCPrecFact::buildPO GetInvTime = 1.90735e-06
Teko: LSCPrecFact::buildPO TotalTime = 0.000596046
   "hScaling" ... PASSED
Test "LSCHIntegrationTest_tpetra" completed ... PASSED (1)
Running test "Lumping_tpetra"
   "lumping" ... PASSED
   "invLumping" ... PASSED
Test "Lumping_tpetra" completed ... PASSED (2)
Running test "AbsRowSum_tpetra"
   "absRowSum" ... PASSED
   "invAbsRowSum" ... PASSED
Test "AbsRowSum_tpetra" completed ... PASSED (2)
Running test "NeumannSeries_tpetra"
Teko: Inverse "Neumann" is of type strat prec = 1, strat solv = 0, block prec = 0
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
Teko: Inverse "Neumann" is of type strat prec = 1, strat solv = 0, block prec = 0
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
   "test_simpleOp" ... PASSED
Teko: Inverse "Neumann" is of type strat prec = 1, strat solv = 0, block prec = 0
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
   "test_scaledOp" ... PASSED
Test "NeumannSeries_tpetra" completed ... PASSED (2)
Running test "PCDStrategy_tpetra"
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
   "PCDStrategy" ... PASSED
Test "PCDStrategy_tpetra" completed ... PASSED (1)
Running test "LSCIntegrationTest_tpetra"
Teko: LSC::initializeState Build Scaling <mass> type "Diagonal"
Teko: LSC::buildState BuildOpsTime = 0.00213313
Teko: LSC::computeInverses Building inv(F)
Teko: LSC::computeInverses GetInvF = 0.0080862
Teko: LSC::computeInverses Building inv(BQBtmC)
Teko: LSC::computeInverses GetInvBQBt = 0.00157905
Teko: LSC::buildState BuildInvTime = 0.00968599
Teko: LSCPrecFact::buildPO BuildStateTime = 0.0118351
Teko: LSCPrecFact::buildPO GetInvTime = 9.53674e-07
Teko: LSCPrecFact::buildPO TotalTime = 0.0118802
   "withmassStable" ... PASSED
Teko: LSC::initializeState Build Scaling <F> type "Diagonal"
Teko: LSC::buildState BuildOpsTime = 0.003824
Teko: LSC::computeInverses Building inv(F)
Teko: LSC::computeInverses GetInvF = 0.00873494
Teko: LSC::computeInverses Building inv(BQBtmC)
Teko: LSC::computeInverses GetInvBQBt = 0.00154901
Teko: LSC::buildState BuildInvTime = 0.0103078
Teko: LSCPrecFact::buildPO BuildStateTime = 0.014163
Teko: LSCPrecFact::buildPO GetInvTime = 1.90735e-06
Teko: LSCPrecFact::buildPO TotalTime = 0.0141981
   "nomassStable" ... PASSED
   Teko: Begin debug MSG
      Looked up "NS LSC"
      Built Teuchos::RCP<Teko::PreconditionerFactory>{ptr=0x3e70d38,node=0x3dc1fb0,strong_count=1,weak_count=0}
   Teko: End debug MSG
Teko: Building LSC strategy "Basic Inverse"
   Teko: Begin debug MSG
      LSC Inverse Strategy Parameters: 
         inv type   = "Amesos"
         inv v type = "Ifpack"
         inv p type = "Ifpack"
         bndry rows = 1
         use ldu    = 1
         use mass    = 0
         use w-scaling    = 0
         assume stable    = 0
         scale type    = Diagonal
      LSC  Inverse Strategy Parameter list: 
      Inverse Type = Amesos
      Inverse Velocity Type = Ifpack
      Inverse Pressure Type = Ifpack
      Ignore Boundary Rows = 1
      Use LDU = 1
   Teko: End debug MSG
Teko: Inverse "Ifpack" is of type strat prec = 1, strat solv = 0, block prec = 0
   Teko: Begin debug MSG
      Looked up "NS LSC"
      Built Teuchos::RCP<Teko::PreconditionerFactory>{ptr=0x3e458d8,node=0x3ed1290,strong_count=1,weak_count=0}
   Teko: End debug MSG
Teko: Building LSC strategy "Basic Inverse"
   Teko: Begin debug MSG
      LSC Inverse Strategy Parameters: 
         inv type   = "Amesos"
         inv v type = "Ifpack"
         inv p type = "Ifpack"
         bndry rows = 1
         use ldu    = 1
         use mass    = 0
         use w-scaling    = 0
         assume stable    = 0
         scale type    = Diagonal
      LSC  Inverse Strategy Parameter list: 
      Inverse Type = Amesos
      Inverse Velocity Type = Ifpack
      Inverse Pressure Type = Ifpack
      Ignore Boundary Rows = 1
      Use LDU = 1
   Teko: End debug MSG
Teko: Inverse "Ifpack" is of type strat prec = 1, strat solv = 0, block prec = 0
   Teko: Begin debug MSG
      Looked up "NS LSC"
      Built Teuchos::RCP<Teko::PreconditionerFactory>{ptr=0x3e70d38,node=0x3dc1fb0,strong_count=1,weak_count=0}
   Teko: End debug MSG
Teko: Building LSC strategy "The Cat"
LSC Construction failed: Strategy "The Cat" could not be constructed
   Teko: Begin debug MSG
      Looked up "NS LSC"
      Built Teuchos::RCP<Teko::PreconditionerFactory>{ptr=0x3e70d38,node=0x3dc1fb0,strong_count=1,weak_count=0}
   Teko: End debug MSG
LSC Construction failed: Strategy "The Cat" requires a "Strategy Settings" sublist
   "plConstruction" ... PASSED
Test "LSCIntegrationTest_tpetra" completed ... PASSED (3)
Running test "tStridedTpetraOperator"
   "numvars_constr" ... PASSED
   "vector_constr" ... PASSED
   "reorder(flat reorder)" ... PASSED
   "reorder(composite reorder = 1)" ... PASSED
   "reorder(composite reorder = 2)" ... PASSED
Test "tStridedTpetraOperator" completed ... PASSED (5)
Running test "tBlockedTpetraOperator"
   "vector_constr" ... PASSED
   "reorder(flat reorder)" ... PASSED
   "reorder(composite reorder = 1)" ... PASSED
   "reorder(composite reorder = 2)" ... PASSED
Test "tBlockedTpetraOperator" completed ... PASSED (4)

Tests Passed: 86, Tests Failed: 0
(Incidently, you want no failures)

Checklist

  • My commit messages mention the appropriate GitHub issue numbers.
  • My code follows the code style of the affected package(s).
  • All new and existing tests passed.

Merge request reports