-
Notifications
You must be signed in to change notification settings - Fork 579
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
Stratimikos: Factory for scalar types != double #10507
Stratimikos: Factory for scalar types != double #10507
Conversation
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Using Repos:
Pull Request Author: cgcgcg |
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 InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_8.3.0 # 7584 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0_serial # 5080 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0_debug # 5598 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 12607 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_clang_10.0.0 # 5286 (click to expand)
Console Output (last 100 lines) : python-3 # 1847 (click to expand)
Console Output (last 100 lines) : _cuda_10.1.243 # 955 (click to expand)
|
e6ce738
to
3538b29
Compare
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Using Repos:
Pull Request Author: cgcgcg |
@cgcgcg how is this tested for Scalar tests other than |
Currently not at all. I'll have to see if I can even get it to pass the AT builds before I add tests. |
@cgcgcg, sounds reasonable. To make that more clear, you might consider prefixing the summary with It may be fairly tractable to take the existing testing infrastructure that is currently hard-coded to Just curious, but what Scalar types are you looking to support, other than just |
I primarily want |
@cgcgcg, are people really wanting to create preconditioners and do linear solves with Sacado differentiation types? If you are doing differentiation, linear solves (to high enough tolerance) are a linear function between input and output so you should not need (nor should you want) to actually differentiate through the linear solver. You just do solves involving deltas from the RHSs and you solve for deltas in the solution. |
MueLu supports it, so I don't want to break it.. |
Currently we don't support Sacado AD types in any templated solvers. We do however support Stokhos UQ types and being able to propagate those types through Stratimikos would be useful (and even different types for the linear solver and preconditioner). |
@etphipp What options do I need to enabled those? I tried enabling Sacado and Stokhos, but it seems that wasn't enough to reproduce the build errors. |
As long as you enable Sacado, Tpetra and Muelu, that should do it. It looks like the linking errors are due to missing ETI for Thyra on Stokhos scalar types. I think ETI for Thyra is on by default, but I'm not sure. ETI for Thyra in Stokhos would have to be added. Also, we have not propagated Stokhos scalar types through Thyra before at all, so this could be a really deep rabbit hole. You could also consider just disabling instantiation of the Muelu-Stratimikos stuff in Stokhos (in which case you would have to provide stubs to fix the linking errors that would likely create, unless there is no code in Muelu itself that actually calls it). |
3538b29
to
42a367e
Compare
Ah, I just didn't enable the correct tests :-) I can now reproduce the error. |
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Using Repos:
Pull Request Author: cgcgcg |
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 InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_8.3.0 # 7720 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0_serial # 5216 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0_debug # 5734 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 12700 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_clang_10.0.0 # 5405 (click to expand)
Console Output (last 100 lines) : python-3 # 1966 (click to expand)
Console Output (last 100 lines) : _cuda_10.1.243 # 1074 (click to expand)
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Using Repos:
Pull Request Author: cgcgcg |
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 InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_8.3.0 # 7724 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0_serial # 5220 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0_debug # 5738 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 12704 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_clang_10.0.0 # 5409 (click to expand)
Console Output (last 100 lines) : python-3 # 1970 (click to expand)
Console Output (last 100 lines) : _cuda_10.1.243 # 1078 (click to expand)
|
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
Using Repos:
Pull Request Author: cgcgcg |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_serial
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0_debug
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_10.0.0
Jenkins Parameters
Build InformationTest Name: python-3
Jenkins Parameters
Build InformationTest Name: _cuda_10.1.243
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
@bartlettroscoe Would you mind re-approving? I had to make a minor change to avoid a merge conflict. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Re-approving after conflict resolution
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ bartlettroscoe ]! |
Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged |
Merge on Pull Request# 10507: IS A SUCCESS - Pull Request successfully merged |
When this file was converted from a *.cpp file to a *_def.hpp file when Stratimikos::LinearSolverBuilder was templated in PR trilinos#10507, include guards did not get added to this file.
…ude-guards Automatically Merged using Trilinos Pull Request AutoTester PR Title: Add include guards for *_def.hpp file (#10507) PR Author: bartlettroscoe
…s:develop' (9dd9187). * trilinos-develop: MueLu: reenable libmuelu-adapters.a small improvements (TriBITSPub/TriBITS#533) Ctest: lightsaber update Sacado: Fix memory leaks in Rad when using DFad nested scalar type. Netcdf modern is only used if HDF5 is modern Tacho : use same max vector length for factor & update Tacho : query max vector / team sizes for factor Tacho : cleaner way to avoid "out-of-bound access" fix modern Netcdf import (TriBITSPub/TriBITS#533) fix modern HDF5 import (TriBITSPub/TriBITS#533) Tacho : to avoid "requested too large team size." Make Netcdf depend on HDF5, fix TriBITS find modules (TriBITSPub/TriBITS#533) Revert "add REQUIRED_HEADERS for TriBITS MPI TPL" (TriBITSPub/TriBITS#534) Don't wipe out TPL_<tplName>_INCLUDE_DIRS if set by user (TriBITSPub/TriBITS#534) Tacho : fix issue with LDLt Add include guards for *_def.hpp file (trilinos#10507) STK: Snapshot 10-21-22 11:03 Netcdf_ENABLE_MODERN mode for TriBITS Netcdf TPL add REQUIRED_HEADERS for TriBITS MPI TPL Avoid double instantiation of CrsMatrix< SCALAR , LO , GO , NODE >::convert< SCALAR >
@trilinos/stratimikos @trilinos/muelu @trilinos/trilinoscouplings @trilinos/panzer
Motivation
Stratimikos currently only exposes the
DefaultLinearSolverBuilder
that creates solvers and preconditioners for double operators.This PR adds
Stratimikos::LinearSolverBuilder<Scalar>
and uses it in MueLu. This allows to remove a lot of special code from MueLu. It seems to be working fine forScalar = double
,float
andcomplex<double>
.