Test Teko_DiagonallyScaledPreconditioner_MPI_1 failing in build Trilinos-atdm-hansen-shiller-gnu-opt-serial
Created by: bartlettroscoe
CC: @trilinos/teko
Next Action Status
After the PR #2482 was merged by @mhoemmen last night, this test Teko_DiagonallyScaledPreconditioner_MPI_1
for the build Trilinos-atdm-hansen-shiller-gnu-opt-serial
went from failing yesterday to newly passing on 3/30/2018.
Description
As shown in the query:
the test Teko_DiagonallyScaledPreconditioner_MPI_1
fais failing in build Trilinos-atdm-hansen-shiller-gnu-opt-serial
and only that build.
The test output shown at:
shows:
[...]
. tDiagonallyScaledPreconditioner_application_test_row_tpetra_UnitTest ... Teko: Inverse "Belos" is of type strat prec = 0, strat solv = 1, block prec = 0
Teko: Inverse "Ifpack2" is of type strat prec = 1, strat solv = 0, block prec = 0
*** Entering LinearOpTester<double,double>::compare(op1,op2,...) ...
describe op1:
Teko::PreconditionerLinearOp<double>{rangeDim=50,domainDim=50}
[Operator] = "(ANYM)*(absRowSum( )))": Thyra::DefaultMultipliedLinearOp<double>{numOps=2,rangeDim=50,domainDim=50}
Constituent LinearOpBase objects for M = Op[0]*...*Op[numOps-1]:
Op[0] = Thyra::DefaultInverseLinearOp<double>{rangeDim=50,domainDim=50}:
lows = Thyra::BelosLinearOpWithSolve<double>{iterativeSolver='"Belos::PseudoBlockGmresSolMgr": {Num Blocks: 300, Maximum Iterations: 1000, Maximum Restarts: 20, Convergence Tolerance: 1e-08}',fwdOp='Thyra::TpetraLinearOp<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >{rangeDim=50,domainDim=50}'}
Op[1] = "absRowSum( ))": Thyra::DefaultDiagonalLinearOp<double>
describe op2:
Thyra::DefaultInverseLinearOp<double>{rangeDim=50,domainDim=50}:
lows = Thyra::BelosLinearOpWithSolve<double>{iterativeSolver='"Belos::PseudoBlockGmresSolMgr": {Num Blocks: 300, Maximum Iterations: 1000, Maximum Restarts: 20, Convergence Tolerance: 1e-08}',fwdOp='Thyra::TpetraLinearOp<double, int, long long, Kokkos::Compat::KokkosDeviceWrapperNode<Kokkos::Serial, Kokkos::HostSpace> >{rangeDim=50,domainDim=50}'}
Checking that range and domain spaces are compatible ...
op1.domain()->isCompatible(*op2.domain()) ? passed
op1.range()->isCompatible(*op2.range()) ? passed
Checking that op1 == op2 ...
Checking that op1 and op2 produce the same results:
0.5*op1*v1 == 0.5*op2*v1
\________/ \________/
v2 v3
norm(v2-v3) ~= 0
Random vector tests = 1
Testing relative error between vectors v2.col[0] and v3.col[0]:
||v2.col[0]|| = 60.0409
||v3.col[0]|| = 60.0409
Check: rel_err(v2.col[0],v3.col[0]) = 5.01422e-14 <= linear_properties_error_tol() = 5e-14 : FAILED
Oh no, these two LinearOpBase objects seem to be different (see above failures)!
[...]
The following tests FAILED:
5. tDiagonallyScaledPreconditioner_application_test_row_tpetra_UnitTest ...
Total Time: 0.274 sec
Summary: total = 8, run = 8, passed = 7, failed = 1
End Result: TEST FAILED
So this looks like a minor numerical rounding issue. It is just barely missing the tolerance of:
Check: rel_err(v2.col[0],v3.col[0]) = 5.01422e-14 <= linear_properties_error_tol() = 5e-14 : FAILED
Steps to Reproduce
In order to reproduce machines hansen
or shiller
and configure, build, and run the test as for the gnu-opt-serial
build using the instructions provided at:
Just enable the package -DTrilinos_ENABLE_Teko=ON
and run the tests as described. See specific instructions for for hansen and shiller, see: