Skip to content

Add optimization flags to ucx.spec while keeping ucx portable - #10658

Closed
ghyls wants to merge 1 commit into
cms-sw:IB/CMSSW_20_1_X/masterfrom
ghyls:devel-ucx-release
Closed

Add optimization flags to ucx.spec while keeping ucx portable#10658
ghyls wants to merge 1 commit into
cms-sw:IB/CMSSW_20_1_X/masterfrom
ghyls:devel-ucx-release

Conversation

@ghyls

@ghyls ghyls commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@cmsbuild

cmsbuild commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@ghyls
ghyls force-pushed the devel-ucx-release branch from 6438a15 to 2dc5477 Compare June 17, 2026 16:39
@cmsbuild

Copy link
Copy Markdown
Contributor

Pull request #10658 was updated.

Comment thread ucx.spec
--with-pic \
--with-gnu-ld \
%ifarch x86_64
--with-march=x86-64-v2 \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ghyls , by default now we build for x86-64-v3. Should we enable multi-vectorization of ucx too i.e. just like few other externals (https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_20_1_X/master/cmssw-vectorization.file) we build ucx also for x86-64-v3 and x86-64-v2 (where by default x86-64-v3 libs are used)

@fwyzard fwyzard Jun 17, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naively I think we should build one version for x86-64-v2 (ssse4.2) and one for x86-64-v3 (avx/avx2/fma).

However @ghyls maybe want to try both to check if there is an actual difference in performance.

@smuzaffar smuzaffar Jun 18, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if we enable vectorization for ucx then both x86-64-v2 and x86-64-v3 (default) will be available in CMSSW env and then at rumtime scram will pick up the best microarch lib to use of one can explicitly use non-default v2 if needed

@smuzaffar

Copy link
Copy Markdown
Contributor

@ghyls , @fwyzard I have opened #10663 with vectorization support for ucx

@smuzaffar

Copy link
Copy Markdown
Contributor

please test

lets run tests (just in case @ghyls want to test it locally)

@smuzaffar

Copy link
Copy Markdown
Contributor

by the way, ucx by default build with -g ( https://github.com/openucx/ucx/blob/master/config/m4/compiler.m4#L13 ) . Do we want to keep it for production?

@fwyzard

fwyzard commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

@ghyls was suggesting to have two builds (now with vectorisation, three): one with debug flags and one without debug flags and full optimisations.

I think we could keep -g only in the debug build.

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b4c9ec/54069/summary.html
COMMIT: 2dc5477
CMSSW: CMSSW_20_1_X_2026-06-18-1100/el9_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmsdist/10658/54069/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-b4c9ec/54069/git-recent-commits.json
https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-b4c9ec/54069/git-merge-result

Comparison Summary

Summary:

  • You potentially added 11 lines to the logs
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 45
  • DQMHistoTests: Total histograms compared: 3414477
  • DQMHistoTests: Total failures: 50
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3414409
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 44 files compared)
  • Checked 195 log files, 163 edm output root files, 45 DQM output files

@smuzaffar

Copy link
Copy Markdown
Contributor

closing it in favor of #10663

@smuzaffar smuzaffar closed this Jun 22, 2026
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.

4 participants