I don't have CUDA. I have been evaluating Metal.jl.
julia> import Pkg; Pkg.add("Omega")
Resolving package versions...
ERROR: Unsatisfiable requirements detected for package CUDA [052768ef]:
CUDA [052768ef] log:
├─possible versions are: 0.1.0-3.11.0 or uninstalled
├─restricted by julia compatibility requirements to versions: [2.3.0, 2.5.0-3.11.0] or uninstalled
├─restricted by compatibility requirements with GPUArrays [0c68f7d7] to versions: 3.3.5-3.11.0 or uninstalled
│ └─GPUArrays [0c68f7d7] log:
│ ├─possible versions are: 0.3.0-8.4.0 or uninstalled
│ └─restricted by compatibility requirements with Metal [dde4c033] to versions: 8.4.0
│ └─Metal [dde4c033] log:
│ ├─possible versions are: 0.0.1-0.1.0 or uninstalled
│ └─restricted to versions * by an explicit requirement, leaving only versions 0.0.1-0.1.0
└─restricted by compatibility requirements with Flux [587475ba] to versions: 2.1.0-2.6.3 — no versions left
└─Flux [587475ba] log:
├─possible versions are: 0.4.1-0.13.3 or uninstalled
├─restricted by compatibility requirements with Omega [1af16e33] to versions: 0.4.1-0.11.6
│ └─Omega [1af16e33] log:
│ ├─possible versions are: 0.1.0-0.1.1 or uninstalled
│ └─restricted to versions * by an explicit requirement, leaving only versions 0.1.0-0.1.1
├─restricted by compatibility requirements with CuArrays [3a865a2d] to versions: [0.4.1-0.8.3, 0.11.0-0.13.3] or uninstalled, leaving only versions: [0.4.1-0.8.3, 0.11.0-0.11.6]
│ └─CuArrays [3a865a2d] log:
│ ├─possible versions are: 0.2.1-2.2.2 or uninstalled
│ └─restricted by julia compatibility requirements to versions: uninstalled
├─restricted by compatibility requirements with Reexport [189a3867] to versions: [0.4.1, 0.11.6-0.13.3] or uninstalled, leaving only versions: [0.4.1, 0.11.6]
│ └─Reexport [189a3867] log:
│ ├─possible versions are: 0.2.0-1.2.2 or uninstalled
│ └─restricted by compatibility requirements with Metal [dde4c033] to versions: 1.0.0-1.2.2
│ └─Metal [dde4c033] log: see above
└─restricted by compatibility requirements with Colors [5ae59095] to versions: 0.10.4-0.13.3 or uninstalled, leaving only versions: 0.11.6
└─Colors [5ae59095] log:
├─possible versions are: 0.9.0-0.12.8 or uninstalled
├─restricted by compatibility requirements with Reexport [189a3867] to versions: 0.12.6-0.12.8 or uninstalled
│ └─Reexport [189a3867] log: see above
└─restricted by compatibility requirements with Flux [587475ba] to versions: 0.12.0-0.12.8, leaving only versions: 0.12.6-0.12.8
└─Flux [587475ba] log: see above
Stacktrace:
[1] propagate_constraints!(graph::Pkg.Resolve.Graph, sources::Set{Int64}; log_events::Bool)
@ Pkg.Resolve ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Resolve/graphtype.jl:1068
[2] propagate_constraints! (repeats 2 times)
@ ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Resolve/graphtype.jl:1004 [inlined]
[3] simplify_graph!(graph::Pkg.Resolve.Graph, sources::Set{Int64}; clean_graph::Bool)
@ Pkg.Resolve ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Resolve/graphtype.jl:1524
[4] simplify_graph! (repeats 2 times)
@ ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Resolve/graphtype.jl:1523 [inlined]
[5] resolve_versions!(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, julia_version::VersionNumber)
@ Pkg.Operations ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:352
[6] targeted_resolve(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, preserve::Pkg.Types.PreserveLevel, julia_version::VersionNumber)
@ Pkg.Operations ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1234
[7] tiered_resolve(env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, julia_version::VersionNumber)
@ Pkg.Operations ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1219
[8] _resolve(io::Base.TTY, env::Pkg.Types.EnvCache, registries::Vector{Pkg.Registry.RegistryInstance}, pkgs::Vector{Pkg.Types.PackageSpec}, preserve::Pkg.Types.PreserveLevel, julia_version::VersionNumber)
@ Pkg.Operations ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1240
[9] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}, new_git::Set{Base.UUID}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform)
@ Pkg.Operations ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1256
[10] add(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; preserve::Pkg.Types.PreserveLevel, platform::Base.BinaryPlatforms.Platform, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
@ Pkg.API ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:275
[11] add(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Pkg.API ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:156
[12] add(pkgs::Vector{Pkg.Types.PackageSpec})
@ Pkg.API ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:145
[13] #add#27
@ ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:144 [inlined]
[14] add
@ ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:144 [inlined]
[15] #add#26
@ ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:143 [inlined]
[16] add(pkg::String)
@ Pkg.API ~/julia/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:143
[17] top-level scope
@ REPL[24]:1
[18] top-level scope
@ ~/.julia/packages/Metal/fQowO/src/initialization.jl:25
julia>
I don't have CUDA. I have been evaluating Metal.jl.
https://github.com/JuliaGPU/Metal.jl
Any thoughts on support for 'Metal'?