Skip to content
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

Panzer: Fix PanzerDofMgr_tFilteredUGI_MPI_2 test for CUDA_LAUNCH_BLOCKING=0 #7864

Merged

Conversation

MicheldeMessieres
Copy link
Contributor

@MicheldeMessieres MicheldeMessieres commented Aug 19, 2020

putScalar will by default write to device.
replaceGlobalValue will always write to host.

So we can sync_host like this after putScalar to make sure the device write
is synched for UVM to host before replaceGlobalValue.

Then since replaceGlobalValue does not call modify_host, I think we need
to call this afterwards. That won't be necessary for UVM, but later if
device is CudaSpace, then skipping that call means the export will be confused
about where the data is and try to pull it from device.

An alternative is to call modify_host before the putScalar calls.
Then the putScalar will write to host and we can skip the modify_host
calls after the replaceGlobalValue. This might be confusing as I'm not
sure calling modify_host to force putScalar to host is a normal pattern.
Also I think that is not good performance for the putScalar.

@trilinos/panzer

Motivation

Fix Panzer tests to run with CUDA_LAUNCH_BLOCKING=0

Testing

PanzerDofMgr_tFilteredUGI_MPI_2 Cuda build on white

putScalar will by default write to device.
replaceGlobalValue will always write to host.

So we can sync_host like this after putScalar to make sure the device write
is synched for UVM to host before replaceGlobalValue.

Then since replaceGlobalValue does not call modify_host, I think we need
to call this afterwards. That won't be necessary for UVM, but later if
device is CudaSpace, then skipping that call means the export will be confused
about where the data is and try to pull it from device.

An alternative is to call modify_host before the putScalar calls.
Then the putScalar will write to host and we can skip the modify_host
calls after the replaceGlobalValue. This might be confusing as I'm not
sure calling modify_host to force putScalar to host is a normal pattern.
@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO REVIEWS HAVE BEEN PERFORMED ON THIS PULL REQUEST!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ rppawlo ]!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: Trilinos_pullrequest_gcc_4.8.4

  • Build Num: 7645
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
COMPILER_MODULE sems-gcc/4.8.4
JENKINS_BUILD_TYPE Release
JENKINS_COMM_TYPE MPI
JENKINS_DO_COMPLEX OFF
JENKINS_JOB_TYPE Experimental
MPI_MODULE sems-openmpi/1.8.7
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 7455
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL

  • Build Num: 5880
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 100
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 1916
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_cuda_9.2

  • Build Num: 5212
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 361
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_python_2

  • Build Num: 3219
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 3227
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Using Repos:

Repo: TRILINOS (Tech-XCorp/Trilinos)
  • Branch: panzerFixtFilteredUGI
  • SHA: a5648df
  • Mode: TEST_REPO

Pull Request Author: MicheldeMessieres

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: Trilinos_pullrequest_gcc_4.8.4

  • Build Num: 7645
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
COMPILER_MODULE sems-gcc/4.8.4
JENKINS_BUILD_TYPE Release
JENKINS_COMM_TYPE MPI
JENKINS_DO_COMPLEX OFF
JENKINS_JOB_TYPE Experimental
MPI_MODULE sems-openmpi/1.8.7
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_intel_17.0.1

  • Build Num: 7455
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL

  • Build Num: 5880
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_gcc_7.2.0_debug

  • Build Num: 100
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_gcc_8.3.0

  • Build Num: 1916
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_cuda_9.2

  • Build Num: 5212
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_clang_10.0.0

  • Build Num: 361
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_python_2

  • Build Num: 3219
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3

Build Information

Test Name: Trilinos_pullrequest_python_3

  • Build Num: 3227
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
PR_LABELS pkg: Panzer
PULLREQUESTNUM 7864
TEST_REPO_ALIAS TRILINOS
TRILINOS_SOURCE_BRANCH panzerFixtFilteredUGI
TRILINOS_SOURCE_REPO https://github.com/Tech-XCorp/Trilinos
TRILINOS_SOURCE_SHA a5648df
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA e5c33a3


CDash Test Results for PR# 7864.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ rppawlo ]!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR...

@MicheldeMessieres MicheldeMessieres merged commit b18290f into trilinos:develop Aug 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants