Add ppc64le (IBM POWER) architecture support#2637
Conversation
📦 Package Count Analysis ResultsEnvironment: UBI 10 Container 🏭 Factory RepositoriesStatus: ✅ Factory repositories analysis completed successfully
Analysis performed by OpenHPC Package Count CI |
|
For easier re-use on our different branches it would be good to have one commit for each spec file. Please change that, so that each commit changes only one spec file. The ccache changes in gotcha.spec should also not be part of the same commit. There are three commits on the 2.x branch for gotcha which can be brought to 4.x with |
Alright. I'll look at it. |
Signed-off-by: Adrian Reber <areber@redhat.com> (cherry picked from commit b4591a8)
- gotcha: 1.0.8 -> 1.0.10 upstream: llnl/gotcha Command: `misc/check_for_package_updates.py -v -o markdown gotcha --update` Signed-off-by: Adrian Reber <areber@redhat.com> (cherry picked from commit e0a7b0b)
Signed-off-by: Adrian Reber <areber@redhat.com> (cherry picked from commit abff307)
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
Sponsored-by: VersatusHPC Signed-off-by: Vinícius Ferrão <ferrao@versatushpc.com.br>
bc90e57 to
e5aea32
Compare
🚀 CCache Statistics
📊 Detailed StatisticsopenEuler (aarch64)openEuler (x86_64)RHEL (aarch64/gnu15)RHEL (x86_64/gnu15)RHEL (x86_64/intel)🤖 Generated from workflow run |
|
Hi @adrianreber, PR was amended to have the separate commits per file. The other issues were also addressed. Thanks. |
|
Those |
Don't worry, this is because of the meta packages for the arm HPC compiler. I know how to fix it. |
Test Results31 files + 2 1 errors 30 suites +1 1m 16s ⏱️ +26s For more details on these parsing errors, see this check. Results for commit e5aea32. ± Comparison against base commit 4a21aea. This pull request removes 26 and adds 20 tests. Note that renamed tests count towards both. |
Summary
ppc64le (IBM POWER) architecture enablement for OpenHPC 4.x / EL10. @adrianreber suggested bringing this upstream. Sponsored by VersatusHPC; validated on POWER9 hardware (AlmaLinux 10 and openEuler 24.03).
Restructured per review: one commit per spec file, single-line subjects. The gotcha ccache handling is brought in by cherry-picking the three relevant 2.x commits (
git cherry-pick -x), with the ppc64le-specific gotcha change applied on top of them — not folded into a single commit.Scope
Component specs that needed architecture handling: gotcha, gnu-compilers, boost, fftw, openblas, likwid (+ a perf_event uncore patch), pdtoolkit, numpy, mpich, and the meta-package closure. 11 files.
The GNU compiler POWER9 baseline already landed in
OHPC_setup_compilerupstream, so it is no longer part of this PR.Design
%ifarch ppc64le(or%ifnarch … ppc64lein the meta-package), so the existing x86_64 and aarch64 builds are unaffected. For gotcha,rpmspec --parsediffers by exactly one line between targets (the ppc64leCMAKE_INSTALL_LIBDIR=lib).-mcpu=power9, matching the EL9+ ppc64le distro minimum (redhat-rpm-config's%__cflags_arch_ppc64le) and forward-compatible with POWER10/POWER11.TARGET=POWER9, fftw--enable-vsx, boostarchitecture=power, likwidGCCPOWER+ a perf_event uncore patch, pdtoolkitibm64linux, a numpy VSX3 build fix, gotchaCMAKE_INSTALL_LIBDIR=lib(cmake otherwise defaults tolib64, which breaks the module'slibpath — matching the existingscalapackidiom), and the meta-package groups scoped to the MPI families built on POWER (openmpi5).Verification
Built every touched package from source on both x86_64 and ppc64le (clean containers; AlmaLinux 10 and openEuler 24.03). All compile, with no regression on the existing architectures — the gated hunks are inert off-POWER, confirmed by both
rpmspec --parsediffs and real RPM builds. gotcha 1.0.10 (the version this PR cherry-picks from 2.x) builds clean on ppc64le with all 18 ctest cases passing.Notes
Source0fix to fetch ucx, but that's a build-time convenience, not a merge dependency.Sponsored by VersatusHPC.