Skip to content

During build, correctly set LD_LIBRARY_PATH for edm check of GPU libs - #121

Merged
smuzaffar merged 6 commits into
scramv3from
edm-checks-library-path
Sep 9, 2026
Merged

During build, correctly set LD_LIBRARY_PATH for edm check of GPU libs#121
smuzaffar merged 6 commits into
scramv3from
edm-checks-library-path

Conversation

@smuzaffar

@smuzaffar smuzaffar commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

During building, scram runs various edm checks e.g. edm write config, edm class version check or edm transient class for generated libraries. Edm checks fail when a library needs specific libs e.g. pytorch has 3 builds ( one for cpu only, only for cuda+cpu and one for rocm+cpu) and to load a alpaka/rocm shared lib scram should make sure that pytorch/rocm libs comes first. This PR dynamically change the LD_LIBRARY_PATH for each edm check and remove the unneeded lib paths.

We still have one issue that we run edmPluginRefresh at the end and this loads all cmssw libs in single process. I think we need to change this such that we run edmPluginRefresh multiple times providing a filter to it so that it only loads selected libs. SCRAM can then do

LD_LIBRARY_PATH=<rocm-libs>  edmPluginRefresh -p /path -f '*ROCmAsync'
LD_LIBRARY_PATH=<cuda-libs/cpu-libs>  edmPluginRefresh -p /path -e '*ROCmAsync'
``

`-f filter` is to only load libraries which matche `filter`
`-e filter1,filter2` is to load every thing except those which match `filter1` and `filter2`

@cmsbuild

cmsbuild commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @smuzaffar for branch scramv3.

@akritkbehera, @cmsbuild, @iarspider, @raoatifshad, @smuzaffar can you please review it and eventually sign? Thanks.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.
cms-bot commands are listed here

@cmsbuild

cmsbuild commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@cmsbuild

cmsbuild commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Pull request #121 was updated.

@cmsbuild

cmsbuild commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Pull request #121 was updated.

@smuzaffar

Copy link
Copy Markdown
Contributor Author

before merging it to default, I have created a tag V09-10-00 which we can use to test in DEVEL_X IBs

@cmsbuild

cmsbuild commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Pull request #121 was updated.

@smuzaffar

Copy link
Copy Markdown
Contributor Author

Enable gpu

@smuzaffar

Copy link
Copy Markdown
Contributor Author

Please test using full cmssw

@cmsbuild

cmsbuild commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Pull request #121 was updated.

@smuzaffar

Copy link
Copy Markdown
Contributor Author

enable gpu,multi_microarchs

@smuzaffar

Copy link
Copy Markdown
Contributor Author

Please test using full cmssw

@smuzaffar

Copy link
Copy Markdown
Contributor Author

Please test using full cmssw

@cmsbuild

cmsbuild commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

Pull request #121 was updated.

@cmsbuild

cmsbuild commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a51a2/55772/summary.html
COMMIT: 2253adc
CMSSW: CMSSW_20_1_X_2026-09-08-2300/el9_amd64_gcc14
Additional Tests: GPU,MULTI_MICROARCHS,AMD_MI300X,AMD_W7900,NVIDIA_H100,NVIDIA_L40S,NVIDIA_T4
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw-config/121/55772/install.sh to create a dev area with all the needed externals and cmssw changes.

The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:

You can see more details here:
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a51a2/55772/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-4a51a2/55772/git-merge-result

Comparison Summary

Summary:

AMD_MI300X Comparison Summary

Summary:

AMD_W7900 Comparison Summary

Summary:

NVIDIA_H100 Comparison Summary

Summary:

NVIDIA_L40S Comparison Summary

Summary:

NVIDIA_T4 Comparison Summary

Summary:

Max Memory Comparisons exceeding threshold NVIDIA_H100

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 37634.7503_TTbar_14TeV+Run4D127_HLTHeterogeneousValid step2 max memory diff 191.8 exceeds +/- 30.0 MiB

Max Memory Comparisons exceeding threshold NVIDIA_T4

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 37634.7503_TTbar_14TeV+Run4D127_HLTHeterogeneousValid step2 max memory diff -190.2 exceeds +/- 30.0 MiB

@smuzaffar
smuzaffar merged commit 2253adc into scramv3 Sep 9, 2026
23 checks passed
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.

2 participants