Tags: AliceO2Group/AliceO2
Tags
GPU: extend two existing OpenCL device workarounds to Metal Both of these already exist for OpenCL, for reasons that apply unchanged to Metal. The processing settings block in GPUSettingsList.h is skipped for OpenCL because it declares std::string and std::vector members, which GPUSettings.h explicitly does not include for device code. Metal needs the same exclusion. These configs are host-side only: GPUParam carries GPUSettingsRec and GPUSettingsParam, and the processing settings appear only as pointer arguments to host methods, so nothing transferred changes shape. GPUCommonBitSet already carries an extra constructor for OpenCL's __constant. Metal needs the opposite: MSL will not use a user-declared copy constructor to build an object in the constant address space, which is where GPUconstexpr() arrays of bitset live, and leaving the copy constructor implicit makes them constructible again. That one line accounted for 84 of the remaining diagnostics, across DetID and GlobalTrackID. Metal translation unit: 136 errors to 27.
GPU: route noexcept through GPUnoexcept() for Metal MSL rejects the noexcept specifier outright, with a diagnostic of its own: "'noexcept' is not supported in Metal". It applies to free functions, to function templates and to out-of-line member definitions alike; only a noexcept inside a class body slips through, which does not help a header that defines its members out of line.
Use the LHC orbit duration for CTP scaler rates This fixes the orbit-to-time conversion in the CTP scaler rates. - Rates used 88 us per orbit instead of 88.92 us, so they were 1.05 % too high. - For run 569757 (2 colliding bunches) this put the TVX rate above the colliding-bunch rate. - The conversion now uses o2::constants::lhc::LHCOrbitMUS, as getRatesForIndex already does. https://its.cern.ch/jira/browse/O2-7064 Co-Authored-By: Claude Opus 5.5 <[email protected]>
GPUTracking: drop static from the function-scope constants MSL has no static storage duration inside a function. These are all scalar constexpr values used as compile-time constants, so removing static changes nothing for any backend: none of them is odr-used, and no storage was ever emitted for them.
[MUON] fix computation of delta phi in MFT-MCH matching (#15796) The value of delta phi between the MFT and MCH tracks at the matching plane is restricted to the [-pi, pi] range, to fix the cases of large angular differences when the MFT and MCH tracks are at the opposite side of the horizontal plane at negative X values.
Get rid of wrapper script for creating ROOT dictionaries The sole need for the wrapper was to properly handle warnings and complain on missing options. Since long rootcling is now gracefully handling both, so we remove the wrapper.
Apply NIEL damage weights to all hadrons and electrons This extends the 1 MeV neutron equivalent fluence weighting to all hadrons and to e±, in line with FLUKA's SI1MEVNE. - Mesons use the pion weights and (anti)baryons other than the neutron use the proton weights. - e± use electron weights when the weight file provides pdg 11. - Near the beam pipe, kaons alone add 15% to the n_eq fluence.
GPU: register the Metal reconstruction library Adds sLibMETAL and the DeviceType::METAL dispatch, plus the METAL_ENABLED cmakedefine. The loader is constructed unconditionally, as the others are, and only resolves its symbols when that device type is actually requested -- so this builds and links without the backend present.
PreviousNext