From bb223adba38965256c09b035bbfdc2b0bc9a122c Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Tue, 27 Feb 2024 16:45:31 +0100 Subject: [PATCH] Bump the compiler toolchain. (#388) --- .buildkite/pipeline.yml | 2 +- Project.toml | 23 +++++++++++++---------- src/compiler/compilation.jl | 11 +++++++---- test/device/intrinsics.jl | 5 +++-- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index ceb3cc02..f972defd 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -40,7 +40,7 @@ steps: - label: "Validation" plugins: - JuliaCI/julia#v1: - version: 1.8 + version: "1.10" - JuliaCI/julia-test#v1: julia_args: "-g2" - JuliaCI/julia-coverage#v1: diff --git a/Project.toml b/Project.toml index 48d94253..53ff4592 100644 --- a/Project.toml +++ b/Project.toml @@ -10,19 +10,19 @@ ExprTools = "e2ba6199-217a-4e67-a87a-7c52f15ade04" GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" GPUCompiler = "61eb1bfa-7361-4325-ad38-22787b887f55" KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -LLVM = "929cbde3-209d-540e-8aea-75f648917ca0" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +LLVM = "929cbde3-209d-540e-8aea-75f648917ca0" NEO_jll = "700fe977-ac61-5f37-bbc8-c6c4b2b6a9fd" +oneAPI_Level_Zero_Headers_jll = "f4bc562b-d309-54f8-9efb-476e56f0410d" +oneAPI_Level_Zero_Loader_jll = "13eca655-d68d-5b81-8367-6d99d727ab01" +oneAPI_Support_jll = "b049733a-a71d-5ed3-8eba-7d323ac00b36" Preferences = "21216c6a-2e73-6563-6e65-726566657250" Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" SPIRV_LLVM_Translator_unified_jll = "85f0d8ed-5b39-5caa-b1ae-7472de402361" SPIRV_Tools_jll = "6ac6d60f-d740-5983-97d7-a4482c0689f4" -SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" -oneAPI_Level_Zero_Headers_jll = "f4bc562b-d309-54f8-9efb-476e56f0410d" -oneAPI_Level_Zero_Loader_jll = "13eca655-d68d-5b81-8367-6d99d727ab01" -oneAPI_Support_jll = "b049733a-a71d-5ed3-8eba-7d323ac00b36" [compat] Adapt = "4" @@ -30,13 +30,16 @@ CEnum = "0.4, 0.5" ExprTools = "0.1" GPUArrays = "10" GPUCompiler = "0.23, 0.24, 0.25, 0.26" +julia = "1.8" KernelAbstractions = "0.9.1" LLVM = "6" -NEO_jll = "=23.17.26241" +NEO_jll = "=24.05.28454" +oneAPI_Level_Zero_Loader_jll = "1.9" +oneAPI_Support_jll = "~0.3.0" Preferences = "1" -SPIRV_LLVM_Translator_unified_jll = "0.3" SpecialFunctions = "1.3, 2" +SPIRV_LLVM_Translator_unified_jll = "0.3" StaticArrays = "1" -julia = "1.8" -oneAPI_Level_Zero_Loader_jll = "1.9" -oneAPI_Support_jll = "~0.3.0" + +[extras] +libigc_jll = "94295238-5935-5bd7-bb0f-b00942e9bdd5" diff --git a/src/compiler/compilation.jl b/src/compiler/compilation.jl index 627dc8bb..c6f91c2b 100644 --- a/src/compiler/compilation.jl +++ b/src/compiler/compilation.jl @@ -19,10 +19,11 @@ GPUCompiler.isintrinsic(job::oneAPICompilerJob, fn::String) = job, fn) || in(fn, opencl_builtins) -function GPUCompiler.finish_module!(job::oneAPICompilerJob, mod::LLVM.Module) - invoke(GPUCompiler.finish_module!, - Tuple{CompilerJob{SPIRVCompilerTarget}, typeof(mod)}, - job, mod) +function GPUCompiler.finish_module!(job::oneAPICompilerJob, mod::LLVM.Module, + entry::LLVM.Function) + entry = invoke(GPUCompiler.finish_module!, + Tuple{CompilerJob{SPIRVCompilerTarget}, typeof(mod), typeof(entry)}, + job, mod, entry) # OpenCL 2.0 push!(metadata(mod)["opencl.ocl.version"], @@ -33,6 +34,8 @@ function GPUCompiler.finish_module!(job::oneAPICompilerJob, mod::LLVM.Module) push!(metadata(mod)["opencl.spirv.version"], MDNode([ConstantInt(Int32(1)), ConstantInt(Int32(5))])) + + return entry end diff --git a/test/device/intrinsics.jl b/test/device/intrinsics.jl index 573b578d..4f6bb409 100644 --- a/test/device/intrinsics.jl +++ b/test/device/intrinsics.jl @@ -45,8 +45,9 @@ end endline = Sys.iswindows() ? "\r\n" : "\n" @testset "formatted output" begin - _, out = @grab_output @on_device oneAPI.@printf("") - @test out == "" + # BROKEN: cintel/compute-runtime#635 + #_, out = @grab_output @on_device oneAPI.@printf("") + #@test out == "" _, out = @grab_output @on_device oneAPI.@printf("Testing...\n") @test out == "Testing...$endline"