Skip to content

Commit a9e4ae7

Browse files
committed
Move to LTS stack
1 parent 2140c1f commit a9e4ae7

13 files changed

Lines changed: 606 additions & 161 deletions

File tree

Project.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
1616
LLVM = "929cbde3-209d-540e-8aea-75f648917ca0"
1717
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
1818
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
19-
NEO_jll = "700fe977-ac61-5f37-bbc8-c6c4b2b6a9fd"
19+
NEO_LTS_jll = "a724f90f-ce79-56dd-a1bd-b9de5a61085f"
2020
Preferences = "21216c6a-2e73-6563-6e65-726566657250"
2121
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
2222
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
@@ -26,8 +26,8 @@ SPIRV_Tools_jll = "6ac6d60f-d740-5983-97d7-a4482c0689f4"
2626
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
2727
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
2828
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
29-
oneAPI_Level_Zero_Headers_jll = "f4bc562b-d309-54f8-9efb-476e56f0410d"
30-
oneAPI_Level_Zero_Loader_jll = "13eca655-d68d-5b81-8367-6d99d727ab01"
29+
oneAPI_Level_Zero_Headers_LTS_jll = "d79c0b2e-896c-561b-aab9-323701ec0314"
30+
oneAPI_Level_Zero_Loader_LTS_jll = "f6e5cbb4-ba2a-56dc-92a2-9d66f5656ccd"
3131
oneAPI_Support_jll = "b049733a-a71d-5ed3-8eba-7d323ac00b36"
3232

3333
[compat]
@@ -41,16 +41,16 @@ GPUCompiler = "1.6"
4141
GPUToolbox = "0.1, 0.2, 0.3, 1"
4242
KernelAbstractions = "0.9.39"
4343
LLVM = "6, 7, 8, 9"
44-
NEO_jll = "=25.44.36015"
44+
NEO_LTS_jll = "=25.18.33578"
4545
Preferences = "1"
4646
SPIRVIntrinsics = "0.5"
4747
SPIRV_LLVM_Translator_jll = "21"
4848
SPIRV_Tools_jll = "2025.4.0"
4949
SpecialFunctions = "1.3, 2"
5050
StaticArrays = "1"
5151
julia = "1.10"
52-
oneAPI_Level_Zero_Loader_jll = "1.25"
52+
oneAPI_Level_Zero_Loader_LTS_jll = "=1.24"
5353
oneAPI_Support_jll = "0.9.2"
5454

5555
[extras]
56-
libigc_jll = "94295238-5935-5bd7-bb0f-b00942e9bdd5"
56+
libigc_LTS_jll = "9a8258a1-e827-5686-bee9-144461246960"

deps/Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Ninja_jll = "76642167-d241-5cee-8c94-7a494e8cb7b7"
88
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
99
Preferences = "21216c6a-2e73-6563-6e65-726566657250"
1010
Scratch = "6c6a2e73-6563-6170-7368-637461726353"
11-
oneAPI_Level_Zero_Headers_jll = "f4bc562b-d309-54f8-9efb-476e56f0410d"
12-
oneAPI_Support_Headers_jll = "24f86df5-245d-5634-a4cc-32433d9800b3"
11+
oneAPI_Level_Zero_Headers_LTS_jll = "d79c0b2e-896c-561b-aab9-323701ec0314"
12+
oneAPI_Support_Headers_LTS_jll = "0e9de0da-c0b6-5d6c-9871-5c996d414ca7"
1313

1414
[compat]
15-
oneAPI_Support_Headers_jll = "=2025.2.0"
15+
oneAPI_Support_Headers_LTS_jll = "=2025.3.1"

deps/build_local.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ if haskey(ENV, "BUILDKITE")
88
run(`buildkite-agent annotate 'Using a locally-built support library; A bump of oneAPI_Support_jll is required before releasing this packages.' --style 'warning' --context 'ctx-deps'`)
99
end
1010

11-
using Scratch, Preferences, CMake_jll, Ninja_jll, oneAPI_Level_Zero_Headers_jll
11+
using Scratch, Preferences, CMake_jll, Ninja_jll
12+
import oneAPI_Level_Zero_Headers_LTS_jll as oneAPI_Level_Zero_Headers_jll
1213

1314
oneAPI = Base.UUID("8f75cd03-7ff8-4ecb-9b8f-daf728133b1b")
1415

@@ -45,7 +46,7 @@ if !isfile(joinpath(conda_dir, "condarc-julia.yml"))
4546
touch(joinpath(conda_dir, "conda-meta", "history"))
4647
end
4748
Conda.add_channel("https://software.repos.intel.com/python/conda/", conda_dir)
48-
Conda.add(["dpcpp_linux-64=2025.2.0", "mkl-devel-dpcpp=2025.2.0"], conda_dir)
49+
Conda.add(["dpcpp_linux-64=2025.3.1", "mkl-devel-dpcpp=2025.3.1"], conda_dir)
4950

5051
Conda.list(conda_dir)
5152

deps/generate_interfaces.jl

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using oneAPI_Support_Headers_jll
1+
import oneAPI_Support_Headers_LTS_jll as oneAPI_Support_Headers_jll
22

33
include("generate_helpers.jl")
44

@@ -337,12 +337,34 @@ function generate_headers(library::String, filename::Vector{String}, output::Str
337337
end
338338
end
339339

340+
# Dedup: when two signatures map to the same C function name (because MKL
341+
# added an overload), keep the one with more parameters — typically the
342+
# newer signature (e.g. set_csr_data gained an `nnz` arg in MKL 2025.3.1).
343+
# Without this the generated onemkl.cpp has duplicate function definitions
344+
# and won't compile.
345+
_fn_name(h) = (pos = findfirst('(', h); strip(split(strip(h[1:pos-1]))[end]))
346+
_param_cnt(h) = (pos = findfirst('(', h); ep = findnext(')', h, pos); count(==(','), h[pos+1:ep-1]) + 1)
347+
keep_idx = Dict{String,Int}()
348+
keep_pc = Dict{String,Int}()
349+
for (i, sig) in enumerate(signatures)
350+
(sig[2] in blacklist) && continue
351+
fn = _fn_name(sig[1])
352+
pc = _param_cnt(sig[1])
353+
if !haskey(keep_idx, fn) || pc > keep_pc[fn]
354+
keep_idx[fn] = i
355+
keep_pc[fn] = pc
356+
end
357+
end
358+
keep_set = Set(values(keep_idx))
359+
340360
path_oneapi_headers = joinpath(@__DIR__, output)
341361
oneapi_headers = open(path_oneapi_headers, "w")
342362

343-
for (header, name_routine, version, type_routine, template) in signatures
363+
for (i, (header, name_routine, version, type_routine, template)) in enumerate(signatures)
344364
# Blacklist
345365
(name_routine in blacklist) && continue
366+
# Dedup
367+
(i in keep_set) || continue
346368

347369
# Pass scalars (e.g. alpha/beta inputs) as references instead of values
348370
for type in ("short", "float", "double", "float _Complex", "double _Complex")

0 commit comments

Comments
 (0)