-
Notifications
You must be signed in to change notification settings - Fork 578
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
Intrepid2: parallelize the Lagragian Interpolation tool #5431
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_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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: mperego |
typename t2oViewType, | ||
typename subcellParamViewType, | ||
typename intViewType> | ||
struct F_computeDofCoordsAdCoeff { |
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.
Typo? Should be F_computeDofCoordsAndCoeff
, I think…
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.
oh, right, I'll fix it
const bool isBasisHCURL, isBasisHDIV; | ||
|
||
F_computeDofCoordsAdCoeff( scalarViewType dofCoords_, | ||
scalarViewType dofCoeffs_, |
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.
Isn't the usual convention to use trailing underscores for member variables? You seem to have reversed this here, leaving member variables unadorned, and using trailing underscores in the constructor argument.
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.
Not sure. It's the same in Intrepid2_OrientationToolsDefModifyBasis.hpp. But I can change it if it is better.
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.
It is at least a fairly common convention to do what I suggested (though whether underscores lead or trail varies). I think it is better; it allows the reader to distinguish between member variables and variables that are local to a method at a glance.
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.
OK
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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.8.4 # 3890 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 3706 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.9.3_SERIAL # 2151 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0 # 1930 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_cuda_9.2 # 1555 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_2 # 70 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_3 # 70 (click to expand)
|
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.
Supposing this passes tests under CUDA and OpenMP, this looks fine to me, modulo the comments about the typo in the struct name and variable naming conventions.
One other thing:
I think you mentioned somewhere (maybe the commit log) that this requires UVM. Do you know what specifically requires UVM? It might be good to add a comment in places where UVM is being used, so that it can be found if we ever decide to go UVM-free.
@CamelliaDPG I think the code can run UVM free. The tests need to be updated though. I'll do that once I've parallelized the other projection tools. |
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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: mperego |
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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.8.4 # 3893 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 3709 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.9.3_SERIAL # 2154 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0 # 1933 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_cuda_9.2 # 1558 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_2 # 73 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_3 # 73 (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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: mperego |
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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.8.4 # 3897 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 3713 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.9.3_SERIAL # 2158 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0 # 1937 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_cuda_9.2 # 1562 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_2 # 76 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_3 # 76 (click to expand)
|
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_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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: mperego |
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_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
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
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... |
@CamelliaDPG can you re-approve? |
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.
You cannot put kokkos inline function with shards variables.
@@ -274,7 +274,7 @@ namespace Intrepid2 { | |||
|
|||
template<typename outPointViewType, | |||
typename refPointViewType> | |||
inline | |||
KOKKOS_INLINE_FUNCTION |
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.
Are you sure that this works on GPUs ? I checked shards key is a variable (not constexpr). If inside uses the shards key value, it is not going to work.
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.
It's an enum, isn't it fine? It works on GPUs tested by the PR testing.
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ CamelliaDPG ]! |
Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged |
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.
yeah... it is enum ....my mistake.
…s:develop' (2a84506). * trilinos-develop: (45 commits) Tpetra - I forgot to check stokhos. Tpetra - remove experimental block crs stuffs Ifpack2: responding to @mhoemmen 's review in trilinos#5426 Intrepid2: parallelize the Lagragian Interpolation tool (trilinos#5431) Tpetra - remove experimental block crs stuffss in other packages tacho: Replace deleted TaskSchedulerType alias tacho: remove unused scheduler_name from unit test file Tpetra - backward compatibility to experimental namespace Ifpack2: bug fix for sparse container staticProfile construction tacho: Fix -Werror For you Paul ;) Tacho - do not include test and example if rdc is off. Disable Tacho+Cuda testing until RDC is enabled Snapshot of kokkos-kernels.git from commit d86db111124cea12e23dd3447b6c307f96ef7439 Snapshot of kokkos.git from commit 2983b80d9aeafabb81f2c8c1c5a49b40cc0856cb ifpack2: more work toward static profile trilinos#5426 A count-allocate-fill pattern for SparseContainer. These changes may not be well tested yet; I am working my way through the tests. ifpack2: minor fixes for deprecating dynamic profile ifpack2: removed extraneous matrix creation (good catch, @mhoemmen) trilinos#5426 Removed RCPNode error bddc: Update interface for Tacho::Solver ifpack2: revisions to support static profile (round 1: ILUT) trilinos#5065 ...
…s:develop' (2a84506). * trilinos-develop: (45 commits) Tpetra - I forgot to check stokhos. Tpetra - remove experimental block crs stuffs Ifpack2: responding to @mhoemmen 's review in trilinos#5426 Intrepid2: parallelize the Lagragian Interpolation tool (trilinos#5431) Tpetra - remove experimental block crs stuffss in other packages tacho: Replace deleted TaskSchedulerType alias tacho: remove unused scheduler_name from unit test file Tpetra - backward compatibility to experimental namespace Ifpack2: bug fix for sparse container staticProfile construction tacho: Fix -Werror For you Paul ;) Tacho - do not include test and example if rdc is off. Disable Tacho+Cuda testing until RDC is enabled Snapshot of kokkos-kernels.git from commit d86db111124cea12e23dd3447b6c307f96ef7439 Snapshot of kokkos.git from commit 2983b80d9aeafabb81f2c8c1c5a49b40cc0856cb ifpack2: more work toward static profile trilinos#5426 A count-allocate-fill pattern for SparseContainer. These changes may not be well tested yet; I am working my way through the tests. ifpack2: minor fixes for deprecating dynamic profile ifpack2: removed extraneous matrix creation (good catch, @mhoemmen) trilinos#5426 Removed RCPNode error bddc: Update interface for Tacho::Solver ifpack2: revisions to support static profile (round 1: ILUT) trilinos#5065 ...
@trilinos/intrepid2
Description
Improve Lagrangian Interpolation code by doing a parallel for over the cells. Limiting now to one level of parallelism.
Added OpenMP and Cuda tests (w/ UVM for now)
Motivation and Context
How Has This Been Tested?
Checklist