Skip to content

Commit 641f233

Browse files
Add support for recent gcc compiler for c++26 reflections
1 parent 717a997 commit 641f233

3 files changed

Lines changed: 11 additions & 4 deletions

File tree

.github/workflows/standalone-benchmark.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
benchmark:
1212
runs-on: cern-nextgen-mi300x
13-
container: registry.cern.ch/ngt-wp1.7/wp1.7-slc9-builder@sha256:00132a2ea4e40bea05b2369c76875f8bd6150894be58605022b8e211685d10a1
13+
container: registry.cern.ch/ngt-wp1.7/wp1.7-slc9-builder@sha256:0ebde4cca8d0addc1322cfd636245c33f73d4366bd775c4f9ee454d47cd9c3bc
1414
env:
1515
WORK_DIR: /cvmfs/alice.cern.ch
1616
ALIBUILD_ARCH_PREFIX: el9-x86_64/Packages
@@ -20,8 +20,8 @@ jobs:
2020
PROFILER_CSV: profiler_cpu.csv
2121
TIMING_CA: ./ca -e 50kHz -c --seed 0 --sync --runsInit 0 --PROCresetTimers 1 --PROCdebugMarkdown 1 --debug 1 # Add --runs 42 for benchmark runs
2222
LD_LIBRARY_PATH: /usr/local/cuda-13.0/compat
23-
CC: /opt/clang-p2996/bin/clang
24-
CXX: /opt/clang-p2996/bin/clang++
23+
CC: /opt/gcc/bin/gcc #/opt/clang-p2996/bin/clang
24+
CXX: /opt/gcc/bin/g++ #/opt/clang-p2996/bin/clang++
2525

2626
name: cpu
2727
steps:

GPU/GPUTracking/Base/GPUReconstructionLibrary.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
/// \file GPUReconstructionLibrary.cxx
1313
/// \author David Rohr
1414

15+
#include <mutex>
16+
1517
#ifdef _WIN32
1618
#include <windows.h>
1719
#include <winbase.h>

GPU/GPUTracking/Standalone/cmake/config.cmake

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,18 @@ set(CUDA_COMPUTETARGET "default" CACHE STRING "CUDA_COMPUTETARGET") # 86 89
3838
#set(GPUCA_HIP_COMPILE_MODE perkernel)
3939
#set(GPUCA_RTC_NO_COMPILED_KERNELS 1)
4040
#set(GPUCA_KERNEL_RESOURCE_USAGE_VERBOSE 1)
41-
set(GPUCA_CONFIG_COMPILER /opt/clang-p2996/bin/clang++) # gcc / clang
41+
set(GPUCA_CONFIG_COMPILER /opt/gcc/bin/g++) # gcc / clang / /opt/clang-p2996/bin/clang++
4242
#set(GPUCA_CONFIG_WERROR 1)
4343
#add_definitions(-DGPUCA_GPU_DEBUG_PRINT)
4444
#set(GPUCA_OVERRIDE_PARAMETER_FILE "foo.csv")
4545

4646
if(GPUCA_CONFIG_COMPILER MATCHES "clang")
4747
add_compile_options(--gcc-toolchain=/cvmfs/alice.cern.ch/el9-x86_64/Packages/GCC-Toolchain/v14.2.0-alice2-1 -freflection-latest -std=c++26) # -stdlib=libc++
4848
add_link_options(--gcc-toolchain=/cvmfs/alice.cern.ch/el9-x86_64/Packages/GCC-Toolchain/v14.2.0-alice2-1 -lstdc++ -lm)
49+
else()
50+
get_filename_component(_gcc_bin_dir "${GPUCA_CONFIG_COMPILER}" DIRECTORY)
51+
get_filename_component(_gcc_root "${_gcc_bin_dir}" DIRECTORY)
52+
list(APPEND CMAKE_INSTALL_RPATH "${_gcc_root}/lib64")
53+
add_compile_options(-freflection -std=c++26)
4954
endif()
5055

0 commit comments

Comments
 (0)