trixi-framework / Trixi.jl

Trixi.jl: Adaptive high-order numerical simulations of conservation laws in Julia
https://trixi-framework.github.io/Trixi.jl
MIT License
540 stars 110 forks source link

Not compatible with CUDA for Julia 1.11 #2108

Open huiyuxie opened 1 month ago

huiyuxie commented 1 month ago

This package restricts the GPUCompiler version to an old one which is out of maintenance and it could do with some old dependencies - leads the CUDA failed to precompile.

(Trixi) pkg> add CUDA
   Resolving package versions...
      Compat entries added for CUDA
    Updating `C:\Users\huiyu\.julia\dev\Trixi.jl\Project.toml`
⌃ [052768ef] + CUDA v5.1.2
    Updating `C:\Users\huiyu\.julia\dev\Trixi.jl\Manifest.toml`
  [a9b6321e] + Atomix v0.1.0
⌅ [ab4f0b2a] + BFloat16s v0.4.2
⌃ [052768ef] + CUDA v5.1.2
⌅ [1af6417a] + CUDA_Runtime_Discovery v0.2.4
  [3da002f7] + ColorTypes v0.11.5
  [5ae59095] + Colors v0.12.11
  [a8cc5b0e] + Crayons v4.1.1
  [a93c6f00] + DataFrames v1.7.0
  [53c48c17] + FixedPointNumbers v0.8.5
⌅ [0c68f7d7] + GPUArrays v9.1.0
⌅ [61eb1bfa] + GPUCompiler v0.25.0
  [842dd82b] + InlineStrings v1.4.2
  [41ab1584] + InvertedIndices v1.3.0
⌃ [63c18a36] + KernelAbstractions v0.9.18
⌅ [929cbde3] + LLVM v6.6.3
  [8b046642] + LLVMLoopInfo v1.0.0
  [b964fa9f] + LaTeXStrings v1.3.1
  [5da4648a] + NVTX v0.3.4
  [2dfb63ee] + PooledArrays v1.4.3
  [08abe8d2] + PrettyTables v2.4.0
  [74087812] + Random123 v1.7.0
  [e6cf234a] + RandomNumbers v1.6.0
  [6c6a2e73] + Scratch v1.2.1
  [91c51154] + SentinelArrays v1.4.5
  [892a3eda] + StringManipulation v0.4.0
  [013be700] + UnsafeAtomics v0.2.1
⌅ [d80eeb9a] + UnsafeAtomicsLLVM v0.1.5
⌅ [4ee394cb] + CUDA_Driver_jll v0.7.0+1
⌅ [76a88914] + CUDA_Runtime_jll v0.10.1+0
  [9c1d0b0a] + JuliaNVTXCallbacks_jll v0.2.1+0
⌅ [dad2f222] + LLVMExtra_jll v0.0.29+0
  [e98f9f5b] + NVTX_jll v3.1.0+2
  [8dfed614] + Test v1.11.0
        Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m`
Precompiling project...
  ✗ CUDA
  ✗ CUDA → SpecialFunctionsExt
  ✗ MPI → CUDAExt
  ✗ ArrayInterface → ArrayInterfaceCUDAExt
  0 dependencies successfully precompiled in 10 seconds. 267 already precompiled.
  4 dependencies errored.
  For a report of the errors see `julia> err`. To retry use `pkg> precompile`
huiyuxie commented 1 month ago
(Trixi) pkg> add CUDA@5.5.2
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package Adapt [79e6a3ab]:
 Adapt [79e6a3ab] log:
 ├─possible versions are: 0.3.0 - 4.0.4 or uninstalled
 ├─restricted by compatibility requirements with RecursiveArrayTools [731186ca] to versions: 3.0.0 - 3.7.2
 │ └─RecursiveArrayTools [731186ca] log:
 │   ├─possible versions are: 0.16.0 - 3.27.0 or uninstalled
 │   └─restricted to versions 2.38.10 - 2 by Trixi [a7f1ee26], leaving only versions: 2.38.10
 │     └─Trixi [a7f1ee26] log:
 │       ├─possible versions are: 0.9.2 or uninstalled
 │       └─Trixi [a7f1ee26] is fixed to version 0.9.2-DEV
 └─restricted by compatibility requirements with CUDA [052768ef] to versions: 4.0.0 - 4.0.4 — no versions left
   └─CUDA [052768ef] log:
     ├─possible versions are: 0.1.0 - 5.5.2 or uninstalled
     └─restricted to versions 5.5.2 by an explicit requirement, leaving only versions: 5.5.2
huiyuxie commented 1 month ago

Adapt is required by RecursiveArrayTools to be in the version range 3.0.0 - 3.7.2. CUDA is requiring Adapt to be in the range 4.0.0 - 4.0.4, but this is outside of the range that RecursiveArrayTools allows.

JoshuaLampert commented 1 month ago

See #2063.

ranocha commented 1 month ago

This is all related to https://github.com/trixi-framework/Trixi.jl/issues/1789 so it will take some time

huiyuxie commented 1 week ago

Update: There is no compatibility issue for Julia 1.10; the issue only exits for Julia 1.11