-
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
Tpetra::MultiVector: Fix #4870 (prefer running norms on device) #4885
Conversation
@trilinos/tpetra I also factored out the implementation of Tpetra::MultiVector::norm* into a separate function, Tpetra::Details::normImpl. I do ETI for that function, when ETI is enabled. This required adding new ETI macros for iterating over the (Scalar, Node) type combination.
@trilinos/stokhos @trilinos/tpetra This is part of the fix for #4870.
@trilinos/stokhos @trilinos/tpetra This is part of the fix for #4870.
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_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Using Repos:
Pull Request Author: mhoemmen |
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_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.8.4 # 3239 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 3068 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.9.3_SERIAL # 1515 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0 # 1251 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_cuda_9.2 # 930 (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_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Using Repos:
Pull Request Author: mhoemmen |
Huh, it looks like these build errors are also legit. For the Cuda case, I need to add additional explicit instantiations to Stokhos for host execution space access of the host mirror space (which happens to be
Also, surprise, GCC 7.2.0 has different warnings than other compilers, and it's a warnings-as-errors build:
|
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_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.8.4 # 3240 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 3069 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.9.3_SERIAL # 1516 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0 # 1252 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_cuda_9.2 # 931 (click to expand)
|
Superseded by #4899. |
@trilinos/tpetra @trilinos/stokhos @vbrunini @etphipp
Superseded by #4899. Supersedes PR #4881 and PR #4871.
Description
Tpetra::MultiVector
norms on device, even if it is currently sync'd to host, unless the vector has too few local rows.Tpetra::MultiVector::norm*
into a separate function,Tpetra::Details::normImpl
. I do ETI for that function, when ETI is enabled. This required adding new ETI macros for iterating over the(Scalar, Node)
type combination.Tpetra::Details::normImpl
.To elaborate the last point: Tpetra's ETI macro for
Tpetra::Details::normImpl
only takes 2 template parameters:Scalar
andNode
. This meant that I couldn't use Stokhos' ETI system directly (seeTPETRA_ETI_CLASSES
instokhos/src/CMakeLists.txt
). I had to take different approaches for PCE types vs.MP::Vector
types. My solution for PCE types looks more permanent (read "is less of a hack") than my solution forMP::Vector
types; it would be great if @etphipp could comment.Motivation and Context
Related Issues