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

[14_0_X] Introduce edm::Async service, and use it in CUDA and Alpaka modules #45143

Merged
merged 8 commits into from
Jun 24, 2024

Conversation

makortel
Copy link
Contributor

@makortel makortel commented Jun 5, 2024

PR description:

Backport of #44901. Tests done by @fwyzard in #44901 (comment) showed this way of synchronizing host and NVIDIA GPU would improve HLT throughput by about 1.5 % ± 0.3 %.

PR validation:

None beyond #44901

If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:

Backport of #44901

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 5, 2024

A new Pull Request was created by @makortel for CMSSW_14_0_X.

It involves the following packages:

  • FWCore/Concurrency (core)
  • FWCore/Framework (core)
  • FWCore/Services (core)
  • FWCore/TestModules (core)
  • FWCore/Utilities (core)
  • HeterogeneousCore/AlpakaCore (heterogeneous)
  • HeterogeneousCore/CUDACore (heterogeneous)
  • HeterogeneousCore/CUDAUtilities (heterogeneous)

@Dr15Jones, @smuzaffar, @makortel, @fwyzard, @cmsbuild can you please review it and eventually sign? Thanks.
@wddgit, @missirol, @felicepantaleo, @fwyzard, @rovere this is something you requested to watch as well.
@rappoccio, @sextonkennedy, @antoniovilela you are the release manager for this.

cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 5, 2024

cms-bot internal usage

@makortel
Copy link
Contributor Author

makortel commented Jun 5, 2024

enable gpu

@makortel
Copy link
Contributor Author

makortel commented Jun 5, 2024

@cmsbuild, please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Jun 5, 2024

-1

Failed Tests: GpuUnitTests
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3fe5da/39717/summary.html
COMMIT: 189d1f8
CMSSW: CMSSW_14_0_X_2024-06-05-1100/el8_amd64_gcc12
Additional Tests: GPU
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/45143/39717/install.sh to create a dev area with all the needed externals and cmssw changes.

GPU Unit Tests

I found 1 errors in the following unit tests:

---> test testTFVisibleDevicesCUDA had ERRORS

Comparison Summary

Summary:

GPU Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 3
  • DQMHistoTests: Total histograms compared: 39740
  • DQMHistoTests: Total failures: 19
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 39721
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 2 files compared)
  • Checked 8 log files, 10 edm output root files, 3 DQM output files
  • TriggerResults: no differences found

@makortel
Copy link
Contributor Author

makortel commented Jun 5, 2024

The test failure is

===== Test "testTFVisibleDevicesCUDA" ====
Running .WARNING:tensorflow:From /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02840/el8_amd64_gcc12/external/py3-cmsml/0.1.2-db4c88fc7ceb7db3b81affeb6fe4685e/lib/python3.9/site-packages/cmsml/tensorflow/tools.py:120: convert_variables_to_constants (from tensorflow.python.framework.convert_to_constants) is deprecated and will be removed in a future version.
Instructions for updating:
This API was designed for TensorFlow v1. See https://www.tensorflow.org/guide/migrate for instructions on how to migrate your code to TensorFlow v2.
WARNING:tensorflow:From /cvmfs/cms-ib.cern.ch/sw/x86_64/nweek-02840/el8_amd64_gcc12/external/py3-tensorflow/2.12.0-b4ed11643f470f05efabc5bddd5c6e30/lib/python3.9/site-packages/tensorflow/python/framework/convert_to_constants.py:952: extract_sub_graph (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This API was designed for TensorFlow v1. See https://www.tensorflow.org/guide/migrate for instructions on how to migrate your code to TensorFlow v2.

46.0

CUDA service enabled: 1
Testing CUDA backend
2024-06-05 19:45:18.727320: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: SSE4.1 SSE4.2 AVX AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-06-05 19:45:18.741973: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:353] MLIR V1 optimization pass is not enabled
0 /job:localhost/replica:0/task:0/device:CPU:0 type: CPU
Available devices: 1
F

testVisibleDevicesCUDA.cc:83:Assertion
Test name: testVisibleDevicesCUDA::test
assertion failed
- Expression: response.size() == 2

Failures !!!
Run: 1   Failure total: 1   Failures: 1   Errors: 0

---> test testTFVisibleDevicesCUDA had ERRORS

@makortel
Copy link
Contributor Author

makortel commented Jun 5, 2024

#44375 not being merged (whereas its 14_1_X counterpart #44376 is in master) looks related.

@fwyzard
Copy link
Contributor

fwyzard commented Jun 20, 2024

please test with #44375

@fwyzard
Copy link
Contributor

fwyzard commented Jun 20, 2024

+heterogeneous

@cmsbuild
Copy link
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-3fe5da/39986/summary.html
COMMIT: 189d1f8
CMSSW: CMSSW_14_0_X_2024-06-19-2300/el8_amd64_gcc12
Additional Tests: GPU
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/45143/39986/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

GPU Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 3
  • DQMHistoTests: Total histograms compared: 39740
  • DQMHistoTests: Total failures: 20
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 39720
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 2 files compared)
  • Checked 8 log files, 10 edm output root files, 3 DQM output files
  • TriggerResults: no differences found

@fwyzard
Copy link
Contributor

fwyzard commented Jun 20, 2024

@smuzaffar could you sign this backport ?
he 14.1.x PR has been merged a couple of weeks ago.

@smuzaffar
Copy link
Contributor

@fwyzard , @Dr15Jones is back from vacations and I hope he will review this

@Dr15Jones
Copy link
Contributor

+1

seems to have all the changes to the PR done in 14_1

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next CMSSW_14_0_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_14_1_X is complete. This pull request will now be reviewed by the release team before it's merged. @antoniovilela, @rappoccio, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2)
Notice This PR was tested with additional Pull Request(s), please also merge them if necessary: #44375

@rappoccio
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit e551de3 into cms-sw:CMSSW_14_0_X Jun 24, 2024
13 checks passed
@makortel makortel deleted the edmAsync_140x branch July 10, 2024 20:25
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.

6 participants