From 8e425cabc742516b7bc7db86180ac8d594bec3b4 Mon Sep 17 00:00:00 2001 From: Anton Oresten Date: Sun, 17 Aug 2025 01:11:31 +0200 Subject: [PATCH] add oneAPI extension --- Project.toml | 2 ++ ext/NNoponeAPIExt.jl | 11 +++++++++++ test/runtests.jl | 5 +++++ 3 files changed, 18 insertions(+) create mode 100644 ext/NNoponeAPIExt.jl diff --git a/Project.toml b/Project.toml index 56a225c..7d39113 100644 --- a/Project.toml +++ b/Project.toml @@ -15,10 +15,12 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [weakdeps] AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" +oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" [extensions] NNopAMDGPUExt = "AMDGPU" NNopCUDAExt = "CUDA" +NNoponeAPIExt = "oneAPI" [compat] AMDGPU = "1.2.5, 2" diff --git a/ext/NNoponeAPIExt.jl b/ext/NNoponeAPIExt.jl new file mode 100644 index 0000000..d79ce4a --- /dev/null +++ b/ext/NNoponeAPIExt.jl @@ -0,0 +1,11 @@ +module NNoponeAPIExt + +using oneAPI +using NNop + +function NNop._shared_memory(::oneAPIBackend, device_id::Integer) + dev = oneAPI.devices()[device_id] + return UInt64(oneAPI.compute_properties(dev).maxSharedLocalMemory) +end + +end diff --git a/test/runtests.jl b/test/runtests.jl index 6a0587c..e710e31 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -9,6 +9,7 @@ import Pkg #ENV["NNOP_TEST_AMDGPU"] = true #ENV["NNOP_TEST_CUDA"] = true +#ENV["NNOP_TEST_ONEAPI"] = true if get(ENV, "NNOP_TEST_AMDGPU", "false") == "true" Pkg.add("AMDGPU") @@ -18,6 +19,10 @@ elseif get(ENV, "NNOP_TEST_CUDA", "false") == "true" Pkg.add("CUDA") using CUDA kab = CUDABackend() +elseif get(ENV, "NNOP_TEST_ONEAPI", "false") == "true" + Pkg.add("oneAPI") + using oneAPI + kab = oneAPIBackend() else error("No GPU backend is set.") end