Skip to content
This repository was archived by the owner on Nov 4, 2024. It is now read-only.

Commit b71b2f0

Browse files
authored
Merge pull request #3 from LuxDL/ap/simplify_ext
Use PackageExtensionCompat
2 parents ce12ff3 + af94ae1 commit b71b2f0

6 files changed

+8
-35
lines changed

.buildkite/pipeline.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,4 @@ steps:
8989
soft_fail: true
9090

9191
env:
92-
SECRET_CODECOV_TOKEN: "XiQca3XDkJesuEeTkH5zFOrX0zmyXN03NkySFjZFeC37wDqmA6vHlbhDa3XOA4T8b6cNvo4boO72gXlnVkZyPRHVFWPOr338fxAi6Eif7k5TuN44pl2A+DoNZYqM1XyxW8+BR1+zgh1U7wf3PadN5eTtWlZsXUy1ULH8DPaPgqenv9McU3VjsGtaRWQlYplOKZNuVo5HMIdliwWK7eb0ij7QBB4QZNoVAMonXtGE3Q9X2rqMxRky5QmkuaC0RWOdMCAoPe13pj/c1GYSNHXugGiUFDzgyjX/IsK07N+ApzKkqHFp4LEPddhQCD+KU+seMnxl9DHiAOejnrbs1oVXiw==;U2FsdGVkX1/+LzYYK1HvRFpGBhtRqBz4QcrLLtwM2aoMZBDwHsz0VSO3RN4aciB988iEP2xLn24LFtZ4wNS1xg=="
92+
SECRET_CODECOV_TOKEN: "PxSr3Y7vdbiwaoX51uGykPsogxmP1IOBt5Z8TwP9GqDxIrvFocEVV2DR4Bebee12G/HYvXtQTyYXH49DpzlsfJ7ri1GQZxd9WRr+aM1DDYmzfDCfpadp4hMoJ5NQvmc/PzeGrNWOOaewaLTUP1eEaG4suygZN0lc5q9BCchIJeqoklGms5DVt/HtfTmwoD/s4wGoIJINi4RoFgnCAkzSh11hTAkyjVerfBGWEi/8E6+WBq3UKwaW4HnT02wG9qFnD4XkHpIpjMxJTpdBn5ufKI+QoJ7qJHlwqgDCtsOCblApccLTjH/BnTahNoSb/b0wdS/cblOTrtdPGzZ5UvmQ4Q==;U2FsdGVkX1/Ji2Nqeq3tqTYCBik6iXILP+rriPRqj/qxhFu4vBWWT3UnlfqDzj6oVdXyuKt0+5e+x33x2S0mBw=="

Project.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
88
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
99
Functors = "d9f16b24-f501-4c13-a1f2-28368ffc5196"
1010
LuxCore = "bb33d45b-7691-41d6-9220-0943567d0623"
11+
PackageExtensionCompat = "65ce6f38-6b18-4e1d-a461-8949797d7930"
1112
Preferences = "21216c6a-2e73-6563-6e65-726566657250"
1213
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
13-
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
1414
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
1515

1616
[weakdeps]
@@ -36,8 +36,8 @@ LuxAMDGPU = "0.1"
3636
LuxCUDA = "0.1"
3737
LuxCore = "0.1.4"
3838
Metal = "0.4"
39+
PackageExtensionCompat = "1"
3940
Preferences = "1"
40-
Requires = "1"
4141
Zygote = "0.6"
4242
julia = "1.6"
4343

ext/LuxDeviceUtilsFillArraysExt.jl

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module LuxDeviceUtilsFillArraysExt
22

3-
isdefined(Base, :get_extension) ? (using FillArrays) : (using ..FillArrays)
4-
5-
using Adapt, LuxDeviceUtils
3+
using Adapt, FillArrays, LuxDeviceUtils
64

75
Adapt.adapt_structure(::LuxCPUAdaptor, x::FillArrays.AbstractFill) = x
86

ext/LuxDeviceUtilsLuxCUDAExt.jl

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
module LuxDeviceUtilsLuxCUDAExt
22

3-
isdefined(Base, :get_extension) ? (using LuxCUDA) : (using ..LuxCUDA)
4-
using ChainRulesCore, LuxDeviceUtils, Random
3+
using ChainRulesCore, LuxCUDA, LuxDeviceUtils, Random
54
import Adapt: adapt_storage, adapt
65
import ChainRulesCore as CRC
76

ext/LuxDeviceUtilsZygoteExt.jl

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module LuxDeviceUtilsZygoteExt
22

3-
isdefined(Base, :get_extension) ? (using Zygote) : (using ..Zygote)
4-
5-
using Adapt, LuxDeviceUtils
3+
using Adapt, LuxDeviceUtils, Zygote
64

75
Adapt.adapt_structure(::LuxCPUAdaptor, x::Zygote.OneElement) = x
86

src/LuxDeviceUtils.jl

+2-24
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,11 @@ using Functors, LuxCore, Preferences, Random, SparseArrays
44
import Adapt: adapt, adapt_storage
55
import Base: PkgId, UUID
66

7-
## -----------
8-
## Extensions
9-
if !isdefined(Base, :get_extension)
10-
using Requires
11-
end
12-
7+
using PackageExtensionCompat
138
function __init__()
14-
@static if !isdefined(Base, :get_extension)
15-
@require FillArrays="1a297f60-69ca-5386-bcde-b61e274b549b" begin
16-
include("../ext/LuxDeviceUtilsFillArraysExt.jl")
17-
end
18-
19-
@require Zygote="e88e6eb3-aa80-5325-afca-941959d7151f" begin
20-
include("../ext/LuxDeviceUtilsZygoteExt.jl")
21-
end
22-
23-
# Accelerators: CUDA Support
24-
@require LuxCUDA="d0bbae9a-e099-4d5b-a835-1c6931763bda" begin
25-
include("../ext/LuxDeviceUtilsLuxCUDAExt.jl")
26-
end
27-
28-
# NOTE: AMDGPU & Metal Support is only available on Julia 1.9+
29-
end
9+
@require_extensions
3010
end
3111

32-
## -----------
33-
3412
export gpu_backend!, supported_gpu_backends
3513
export gpu_device, cpu_device, LuxCPUDevice, LuxCUDADevice, LuxAMDGPUDevice, LuxMetalDevice
3614
export LuxCPUAdaptor, LuxCUDAAdaptor, LuxAMDGPUAdaptor, LuxMetalAdaptor

0 commit comments

Comments
 (0)