Skip to content

Commit fed5f32

Browse files
Merge pull request #374 from ChrisRackauckas-Claude/add-jlarrays-support
Add JLArrays.jl support for CPU-based array computations
2 parents 102f318 + dfb2f5f commit fed5f32

File tree

5 files changed

+16
-0
lines changed

5 files changed

+16
-0
lines changed

.github/workflows/CI.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ jobs:
3333
- "pre"
3434
group:
3535
- CPU
36+
- JLArrays
3637
uses: "SciML/.github/.github/workflows/tests.yml@master"
3738
with:
3839
julia-version: "${{ matrix.version }}"

Project.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@ ZygoteRules = "700de1a5-db45-46bc-99cf-38207098b444"
2828
[weakdeps]
2929
AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
3030
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
31+
JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
3132
Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
3233
oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b"
3334

3435
[extensions]
3536
AMDGPUExt = ["AMDGPU"]
3637
CUDAExt = ["CUDA"]
38+
JLArraysExt = ["JLArrays"]
3739
MetalExt = ["Metal"]
3840
oneAPIExt = ["oneAPI"]
3941

@@ -46,6 +48,7 @@ DiffEqBase = "6.122"
4648
DocStringExtensions = "0.9"
4749
ForwardDiff = "0.10.38, 1"
4850
GPUArraysCore = "0.2"
51+
JLArrays = "0.1, 0.2, 0.3"
4952
KernelAbstractions = "0.9"
5053
LinearSolve = "3"
5154
Metal = "1"
@@ -65,6 +68,7 @@ oneAPI = "2"
6568
AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
6669
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
6770
GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
71+
JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
6872
Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
6973
oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b"
7074
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

ext/JLArraysExt.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module JLArraysExt
2+
using JLArrays: JLBackend
3+
import DiffEqGPU
4+
5+
DiffEqGPU.maybe_prefer_blocks(::JLBackend) = JLBackend()
6+
7+
end

test/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
66
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
77
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
88
GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
9+
JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb"
910
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1011
Optimization = "7f7a1694-90dd-40f0-9382-eb1efda571ba"
1112
OptimizationOptimisers = "42dfb2eb-d2b4-4451-abcd-913932933ac1"

test/utils.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ elseif GROUP == "oneAPI"
1111
elseif GROUP == "Metal"
1212
using Metal
1313
Metal.MetalBackend()
14+
elseif GROUP == "JLArrays"
15+
using JLArrays
16+
JLArrays.JLBackend()
1417
elseif GROUP == "CPU"
1518
using KernelAbstractions
1619
KernelAbstractions.CPU()

0 commit comments

Comments
 (0)