Skip to content

GPUTracking: give Metal its own Float16_t at the conversion site - #15845

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

ktf merged 1 commit into
AliceO2Group:devfrom
ktf:pr15845

Conversation

@ktf

@ktf ktf commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Rather than trying to adapt Ort::Float16_t to work on Metal, we
simply alias it to Metal native type, which is bit-to-bit equivalent to the CUDA half
implementation and differs from the software one only in the sign of NaN.

@ktf
ktf requested a review from a team as a code owner September 25, 2026 07:19
Rather than trying to adapt Ort::Float16_t to work on Metal, we
simply alias it to Metal native type, which is bit-to-bit equivalent to the CUDA half
implementation and differs from the software one only in the sign of NaN.
@ktf ktf changed the title ML: make the GPU float16 header compile as MSL GPUTracking: give Metal its own Float16_t at the conversion site Sep 25, 2026
@ktf
ktf requested a review from davidrohr as a code owner September 25, 2026 08:35
@ktf

ktf commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

@davidrohr @ChSonnabend as discussed over coffee.

@davidrohr davidrohr left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Fine for now, let's clean it up more later.

@ktf
ktf merged commit 42e7264 into AliceO2Group:dev Sep 25, 2026
11 checks passed
@ktf

ktf commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

Does not get tested right now. Merging.

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI_slc9 for 7f83cfa at 2026-09-25 12:58:

## 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 /sw/slc9_x86-64/O2/slc9_x86-64-slc9_x86-64-local3/prodtests/full-system-test/dpl-workflow.sh had nonzero exit code 1
[8892:internal-dpl-ccdb-backend]: [12:58:21][ERROR] CCDBDownloader CURL transfer error - Timeout was reached
[8892:internal-dpl-ccdb-backend]: [12:58:21][ERROR] CcdbDownloader finished transfer http://alice-ccdb.cern.ch/ZDC/Calib/EnergyCalib for 1550600800023 (agent_id: o2-ctf-reader-w/o2-ctf-reader-workflow@8892 target/Linux_x86_64 init/1790333835721 id/mesosci@pcapiserv07 session/fNhXbCG8) with http code: 0
[8892:internal-dpl-ccdb-backend]: [12:58:21][ERROR] File ZDC/Calib/EnergyCalib could not be retrieved. No more hosts to try.
[8892:internal-dpl-ccdb-backend]: [12:58:21][FATAL] Unable to find CCDB object ZDC/Calib/EnergyCalib/1550600800023
[8892:internal-dpl-ccdb-backend]: [12:58:22][ERROR] Exception while running: Fatal error. Rethrowing.
[8892:internal-dpl-ccdb-backend]: [12:58:22][FATAL] Unhandled o2::framework::runtime_error reached the top of main of o2-ctf-reader-workflow, device shutting down. Reason: Fatal error
[ERROR] Workflow crashed - PID 8892 (internal-dpl-ccdb-backend) did not exit correctly however it's not clear why. Exit code forced to 128.
[ERROR]  - Device internal-dpl-ccdb-backend: pid 8892 (exit 128)
[INFO]    - First error: [12:58:21][FATAL] Unable to find CCDB object ZDC/Calib/EnergyCalib/1550600800023
[ERROR] SEVERE: Device internal-dpl-ccdb-backend (8892) had at least one message above severity 7: Unable to find CCDB object ZDC/Calib/EnergyCalib/1550600800023


## sw/BUILD/o2checkcode-latest/log
--
========== List of errors found ==========
++ GRERR=0
++ grep -v clang-diagnostic-error error-log.txt
++ grep ' error:'
++ GRERR=1
++ [[ 1 == 0 ]]
++ mkdir -p /sw/INSTALLROOT/a0087847e6121fe228f7d1c25612a8cbefd41ef0/slc9_x86-64/o2checkcode/1.0-local3/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='O2-customization CMake ninja date pytorch_cpuinfo Python-modules-list googlebenchmark defaults-release safe_int UUID ninja-fortran alibuild-recipe-tools Alice-GRID-Utils bz2 double-conversion json-c MPFR FairCMakeModules'
+ echo 'FULL_BUILD_REQUIRES=O2-customization CMake ninja date pytorch_cpuinfo Python-modules-list googlebenchmark defaults-release safe_int UUID ninja-fortran alibuild-recipe-tools Alice-GRID-Utils bz2 double-conversion json-c MPFR FairCMakeModules'
FULL_BUILD_REQUIRES=O2-customization CMake ninja date pytorch_cpuinfo Python-modules-list googlebenchmark defaults-release safe_int UUID ninja-fortran alibuild-recipe-tools Alice-GRID-Utils bz2 double-conversion json-c MPFR FairCMakeModules
++ env
++ cut -f1 -d=
++ grep -v '^DEFAULT_'
++ grep -v PKGREVISION
[0 more errors; see full log]

Full log here.

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.

3 participants