@@ -7,17 +7,27 @@ const YGGDRASIL_DIR = "../.."
77include (joinpath (YGGDRASIL_DIR, " fancy_toys.jl" ))
88
99name = " NEO"
10- version = v "24.26.30049 " # .6
10+ version = v "25.27.34303 " # .5
1111
1212# Collection of sources required to build this package.
1313sources = [
1414 GitSource (" https://github.com/intel/compute-runtime.git" ,
15- " e16f47e375e4324dae07aadbfe953002a1c45195" ),
15+ " d0fdeb0339afaa6db37411e10c41f291945aa727" ),
16+ # patches
17+ DirectorySource (" ./bundled" ),
1618]
1719
1820# Bash recipe for building across all platforms
1921function get_script (; debug:: Bool )
2022 raw """
23+ # ocloc segfaults after successful build and before exiting. So we wrap
24+ # a script around ocloc that detects when the build is reported
25+ # successful and ignores the segfault.
26+ atomic_patch -p0 ./patches/ocloc.patch
27+ cp ocloc_wrapper.sh compute-runtime/shared/source/built_ins/kernels/ocloc_wrapper.sh
28+ mkdir -p tmpdir
29+ export TMPDIR=$(pwd)/tmpdir
30+ export CCACHE_TEMPDIR=$(pwd)/tmpdir
2131 cd compute-runtime
2232 install_license LICENSE.md
2333
@@ -34,8 +44,14 @@ function get_script(; debug::Bool)
3444 ## NO
3545 sed -i '/-Werror/d' CMakeLists.txt
3646
47+ # Fails because C header is used in C++ code
48+ sed -i 's/inttypes\. h/cinttypes/g' level_zero/core/source/mutable_cmdlist/mutable_indirect_data.cpp
49+
3750 CMAKE_FLAGS=()
3851
52+ # Need C++20
53+ CMAKE_FLAGS+=(-DCMAKE_CXX_STANDARD=20)
54+
3955 # Release build for best performance
4056 CMAKE_FLAGS+=(-DCMAKE_BUILD_TYPE=""" * (debug ? " Debug" : " Release" ) * raw """ )
4157
@@ -62,7 +78,12 @@ function get_script(; debug::Bool)
6278 export PKG_CONFIG_PATH=${prefix}/lib64/pkgconfig:${prefix}/lib/pkgconfig
6379
6480 cmake -B build -S . -GNinja ${CMAKE_FLAGS[@]}
65- ninja -C build -j ${nproc} install"""
81+ ninja -C build -j ${nproc} install
82+ # Create unversioned symlinks
83+ ln -s libze_intel_gpu.so.1 ${libdir}/libze_intel_gpu.so
84+ ln -s ocloc-25.27.1 ${bindir}/ocloc
85+
86+ """
6687end
6788
6889# These are the platforms we will build for by default, unless further
@@ -87,9 +108,9 @@ products = [
87108# when using a non-public release, refer to the compiled manifest
88109# https://github.com/intel/compute-runtime/blob/master/manifests/manifest.yml.
89110dependencies = [
90- Dependency (" gmmlib_jll" ; compat= " =22.3.20 " ),
91- Dependency (" libigc_jll" ; compat= " =1.0.17193 " ),
92- Dependency (" oneAPI_Level_Zero_Headers_jll" ; compat= " =1.9.2 " ),
111+ Dependency (" gmmlib_jll" ; compat= " =22.8.1 " ),
112+ Dependency (" libigc_jll" ; compat= " =2.14.1 " ),
113+ Dependency (" oneAPI_Level_Zero_Headers_jll" ; compat= " =1.13 " ),
93114]
94115
95116augment_platform_block = raw """
@@ -134,7 +155,9 @@ for platform in platforms, debug in (false, true)
134155
135156 # GCC 4 has constexpr incompatibilities
136157 # GCC 7 triggers: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79929
158+ # Needs at least GCC 10 for C++20 support of 'concepts'
159+ # Needs GCC 11 for std::make_unique_for_overwrite
137160 build_tarballs (ARGS , name, version, sources, get_script (; debug), [augmented_platform],
138- products, dependencies; preferred_gcc_version= v "8 " , julia_compat = " 1.6" ,
161+ products, dependencies; preferred_gcc_version= v "11 " , julia_compat = " 1.6" ,
139162 augment_platform_block)
140163end
0 commit comments