Skip to content

GPU: three additional Metal adaptations - #15835

Merged
ktf merged 1 commit into
AliceO2Group:devfrom
ktf:pr15835
Sep 25, 2026
Merged

ktf merged 1 commit into
AliceO2Group:devfrom
ktf:pr15835

Conversation

@ktf

@ktf ktf commented Sep 24, 2026

Copy link
Copy Markdown
Member

GPUCommonAlgorithm::sortOnDevice takes an auto parameter, which is C++20. It is already skipped for OpenCL, at C++17, and MSL 4.1 reports C++17 as well.

GPUTPCTrackParam::TransportToXAlpha declares its material constants static at function scope, which MSL rejects; constexpr without static is accepted, as in SMatrixGPU.

Guard SMatrixGPU C++20 code using __cplusplus version macro.

GPUCommonAlgorithm::sortOnDevice takes an auto parameter, which is C++20. It is already skipped for OpenCL, at C++17, and MSL 4.1 reports C++17 as well.

GPUTPCTrackParam::TransportToXAlpha declares its material constants static at function scope, which MSL rejects; constexpr without static is accepted, as in SMatrixGPU.

Guard SMatrixGPU C++20 code using __cplusplus version macro.
@ktf

ktf commented Sep 24, 2026

Copy link
Copy Markdown
Member Author

@davidrohr the static is again safe, IMHO. I think the idea of guarding features based on the standard and not the backend is better than if !define(__OPENCL__) && !defined(__METAL__).

@alibuild

alibuild commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI_slc9 for 06bc5e9 at 2026-09-25 09:53:

## sw/BUILD/o2codechecker-latest/log
100% tests passed, 0 tests failed out of 1


## sw/BUILD/O2-latest/log
Error: missing ; at end of rule at /sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/TPC/base/src/TPCBaseLinkDef.h:75:56
Error: missing ; at end of rule at /sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/TPC/base/src/TPCBaseLinkDef.h:83:135
Error: missing ; at end of rule at /sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/TPC/base/src/TPCBaseLinkDef.h:84:135
Error: missing ; at end of rule at /sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/ECal/base/src/ECalBaseLinkDef.h:19:48
Error: missing ; at end of rule at /sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/RICH/base/src/RICHBaseLinkDef.h:18:48
Error: missing ; at end of rule at /sw/SOURCES/O2/slc9_x86-64-slc9_x86-64/0/Detectors/Upgrades/ALICE3/MID/base/src/MI3BaseLinkDef.h:18:47


## sw/BUILD/O2-full-system-test-latest/log
command o2-sim --field=ccdb --vertexMode kCollContext --seed 12345 -n 5 --configKeyValues "Diamond.width[2]=6.;GenTPCLoopers.colsys=PbPb;" -g pythia8hi -e TGeant4 -j 24 --run 310000 -o o2sim --fromCollContext collisioncontext.root:o2sim had nonzero exit code 1
[ERROR] SHUTTING DOWN DUE TO SIGNALED EXIT IN COMPONENT 646
[09:52:23][ERROR] CCDBDownloader CURL transfer error - Timeout was reached
[09:52:23][ERROR] CcdbDownloader finished transfer http://alice-ccdb.cern.ch/Users/m/mgiacalo/WGAN_ExtGenPair for 1790322738058 (agent_id: o2-sim-primary-/o2-sim-primary-server-device-runner@624 target/Linux_x86_64 init/1790322737335 id/mesosci@pcapiserv07 session/sgFIDs8J) with http code: 0
[09:52:23][ERROR] File Users/m/mgiacalo/WGAN_ExtGenPair could not be retrieved. No more hosts to try.
[09:52:23][ERROR] Unable to find object Users/m/mgiacalo/WGAN_ExtGenPair/1790322738058, Aborting
[09:52:23][FATAL] Error: issues in retrieving Users/m/mgiacalo/WGAN_ExtGenPair from CCDB!
[09:53:23][ERROR] No configuration received within 60000ms
[09:53:24][ERROR] Could not initialize simulation


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
grep: error-log.txt: binary file matches
++ GRERR=1
++ [[ 1 == 0 ]]
++ mkdir -p /sw/INSTALLROOT/c6fab19cd31688ba86120575bfb5584ede65eb37/slc9_x86-64/o2checkcode/1.0-local2/etc/modulefiles
++ alibuild-generate-module
+ HAS_BIN=
+ HAS_LIB=
+ HAS_CMAKE=
+ HAS_ROOT=
+ '[' 0 '!=' 0 ']'
+ cat
+ printf 'if ![ is-loaded '\''BASE/1.0'\'' ] {\n module load BASE/1.0\n}'
+ echo 'BUILD_REQUIRES=CMake alibuild-recipe-tools defaults-release'
BUILD_REQUIRES=CMake alibuild-recipe-tools defaults-release
+ FULL_BUILD_REQUIRES='ninja double-conversion googlebenchmark CMake alibuild-recipe-tools MPFR bz2 safe_int Alice-GRID-Utils UUID date pytorch_cpuinfo Python-modules-list ninja-fortran FairCMakeModules defaults-release O2-customization json-c'
+ echo 'FULL_BUILD_REQUIRES=ninja double-conversion googlebenchmark CMake alibuild-recipe-tools MPFR bz2 safe_int Alice-GRID-Utils UUID date pytorch_cpuinfo Python-modules-list ninja-fortran FairCMakeModules defaults-release O2-customization json-c'
FULL_BUILD_REQUIRES=ninja double-conversion googlebenchmark CMake alibuild-recipe-tools MPFR bz2 safe_int Alice-GRID-Utils UUID date pytorch_cpuinfo Python-modules-list ninja-fortran FairCMakeModules defaults-release O2-customization json-c
++ env
[0 more errors; see full log]

Full log here.

@ktf

ktf commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

Discussed and agreed offline.

@ktf
ktf merged commit dccd039 into AliceO2Group:dev Sep 25, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants