Skip to content

Commit a59f56e

Browse files
authored
Merge pull request #623 from JuliaParallel/jps/daggergpu
Move GPU support into Dagger
2 parents ef3f14c + a76fb42 commit a59f56e

File tree

15 files changed

+3158
-2
lines changed

15 files changed

+3158
-2
lines changed

.buildkite/pipeline.yml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
arch: x86_64
88
command: "julia --project -e 'using Pkg; Pkg.develop(;path=\"lib/TimespanLogging\")'"
99

10+
.gputest: &gputest
11+
if: build.message !~ /\[skip tests\]/
12+
1013
.bench: &bench
1114
if: build.message =~ /\[run benchmarks\]/
1215
agents:
@@ -87,6 +90,83 @@ steps:
8790
- JuliaCI/julia-coverage#v1:
8891
codecov: true
8992

93+
- label: Julia 1.11 (CUDA)
94+
timeout_in_minutes: 20
95+
<<: *gputest
96+
plugins:
97+
- JuliaCI/julia#v1:
98+
version: "1.11"
99+
- JuliaCI/julia-test#v1: ~
100+
- JuliaCI/julia-coverage#v1:
101+
codecov: true
102+
agents:
103+
queue: "juliagpu"
104+
cuda: "*"
105+
env:
106+
CI_USE_CUDA: "1"
107+
108+
- label: Julia 1.11 (ROCm)
109+
timeout_in_minutes: 20
110+
<<: *gputest
111+
plugins:
112+
- JuliaCI/julia#v1:
113+
version: "1.11"
114+
- JuliaCI/julia-test#v1: ~
115+
- JuliaCI/julia-coverage#v1:
116+
codecov: true
117+
agents:
118+
queue: "juliagpu"
119+
rocm: "*"
120+
env:
121+
CI_USE_ROCM: "1"
122+
123+
- label: Julia 1.11 (oneAPI)
124+
timeout_in_minutes: 20
125+
<<: *gputest
126+
plugins:
127+
- JuliaCI/julia#v1:
128+
version: "1.11"
129+
- JuliaCI/julia-test#v1: ~
130+
- JuliaCI/julia-coverage#v1:
131+
codecov: true
132+
agents:
133+
queue: "juliagpu"
134+
intel: "*"
135+
env:
136+
CI_USE_ONEAPI: "1"
137+
138+
- label: Julia 1.11 (Metal)
139+
timeout_in_minutes: 20
140+
<<: *gputest
141+
plugins:
142+
- JuliaCI/julia#v1:
143+
version: "1.11"
144+
- JuliaCI/julia-test#v1: ~
145+
- JuliaCI/julia-coverage#v1:
146+
codecov: true
147+
agents:
148+
queue: "juliaecosystem"
149+
os: "macos"
150+
arch: "aarch64"
151+
env:
152+
CI_USE_METAL: "1"
153+
154+
- label: Julia 1.11 (OpenCL)
155+
timeout_in_minutes: 20
156+
<<: *gputest
157+
plugins:
158+
- JuliaCI/julia#v1:
159+
version: "1.11"
160+
- JuliaCI/julia-test#v1:
161+
- JuliaCI/julia-coverage#v1:
162+
codecov: true
163+
agents:
164+
queue: "juliaecosystem"
165+
os: linux
166+
arch: x86_64
167+
env:
168+
CI_USE_OPENCL: "1"
169+
90170
- label: Julia 1 - TimespanLogging
91171
timeout_in_minutes: 20
92172
<<: *test

Project.toml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
77
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
88
Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b"
99
DistributedNext = "fab6aee4-877b-4bac-a744-3eca44acbb6f"
10+
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
1011
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
12+
KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
1113
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1214
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
1315
MemPool = "f9f48841-c794-520a-933b-121f7ba6ed94"
@@ -28,35 +30,52 @@ TimespanLogging = "a526e669-04d3-4846-9525-c66122c55f63"
2830
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
2931

3032
[weakdeps]
33+
AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
34+
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
3135
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
3236
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
3337
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
3438
GraphViz = "f526b714-d49f-11e8-06ff-31ed36ee7ee0"
3539
JSON3 = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
40+
Metal = "dde4c033-4e86-420c-a63e-0dd931031962"
41+
OpenCL = "08131aa3-fb12-5dee-8b74-c09406e224a2"
42+
oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b"
3643
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
3744
PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"
3845

3946
[extensions]
47+
CUDAExt = "CUDA"
4048
DistributionsExt = "Distributions"
4149
GraphVizExt = "GraphViz"
4250
GraphVizSimpleExt = "Colors"
51+
IntelExt = "oneAPI"
4352
JSON3Ext = "JSON3"
53+
MetalExt = "Metal"
54+
OpenCLExt = "OpenCL"
4455
PlotsExt = ["DataFrames", "Plots"]
4556
PythonExt = "PythonCall"
57+
ROCExt = "AMDGPU"
4658

4759
[compat]
48-
Adapt = "4.0.4"
60+
AMDGPU = "1"
61+
Adapt = "4"
62+
CUDA = "3, 4, 5"
4963
Colors = "0.12, 0.13"
5064
DataFrames = "1"
5165
DataStructures = "0.18"
5266
DistributedNext = "1.0.0"
5367
Distributions = "0.25"
68+
FillArrays = "1.13.0"
5469
GraphViz = "0.2"
5570
Graphs = "1"
5671
JSON3 = "1"
72+
KernelAbstractions = "0.9"
5773
MacroTools = "0.5"
5874
MemPool = "0.4.12"
75+
Metal = "1.1"
5976
OnlineStats = "1"
77+
OpenCL = "0.10"
78+
oneAPI = "1, 2"
6079
Plots = "1"
6180
PrecompileTools = "1.2"
6281
Preferences = "1.4.3"

docs/make.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ makedocs(;
2727
"Processors" => "processors.md",
2828
"Task Queues" => "task-queues.md",
2929
"Datadeps" => "datadeps.md",
30+
"GPUs" => "gpu.md",
3031
"Option Propagation" => "propagation.md",
3132
"Logging and Visualization" => [
3233
"Logging: Basics" => "logging.md",

0 commit comments

Comments
 (0)