Skip to content

Commit 23cf805

Browse files
committed
Add EnzymeCore extension
1 parent 1b3741c commit 23cf805

File tree

5 files changed

+48
-0
lines changed

5 files changed

+48
-0
lines changed

lib/GPUArraysCore/Project.toml

+7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ version = "0.1.6"
66
[deps]
77
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
88

9+
[weakdeps]
10+
EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
11+
12+
[extensions]
13+
EnzymeCoreExt = "EnzymeCore"
14+
915
[compat]
1016
Adapt = "4.0"
1117
julia = "1.6"
18+
EnzymeCore = "0.6, 0.7"
+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# compatibility with EnzymeCore
2+
3+
module EnzymeCoreExt
4+
5+
using GPUArraysCore
6+
7+
if isdefined(Base, :get_extension)
8+
using EnzymeCore
9+
using EnzymeCore.EnzymeRules
10+
else
11+
using ..EnzymeCore
12+
using ..EnzymeCore.EnzymeRules
13+
end
14+
15+
function EnzymeCore.EnzymeRules.inactive_noinl(::typeof(GPUArraysCore.default_scalar_indexing), args...)
16+
return nothing
17+
end
18+
19+
function EnzymeCore.EnzymeRules.inactive_noinl(::typeof(GPUArraysCore.assertscalar), args...)
20+
return nothing
21+
end
22+
23+
function EnzymeCore.EnzymeRules.inactive_noinl(::typeof(GPUArraysCore.allowscalar), args...)
24+
return nothing
25+
end
26+
27+
end # module

test/Project.toml

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[deps]
22
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
3+
EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
34
JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
45
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
56
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

test/gpuarrayscore.jl

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using Test, GPUArraysCore, EnzymeCore
2+
3+
@testset "EnzymeCore" begin
4+
@test nothing == EnzymeCore.EnzymeRules.inactive_noinl(GPUArraysCore.assertscalar)
5+
6+
@test nothing == EnzymeCore.EnzymeRules.inactive_noinl(GPUArraysCore.default_scalar_indexing)
7+
8+
@test nothing == EnzymeCore.EnzymeRules.inactive_noinl(GPUArraysCore.allowscalar, identity)
9+
end

test/runtests.jl

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
using GPUArrays, Test, Pkg
22

3+
@tests "GPUArraysCore" begin
4+
include("gpuarrayscore.jl")
5+
end
6+
37
include("testsuite.jl")
48

59
@testset "JLArray" begin

0 commit comments

Comments
 (0)