Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump compat to GPUArrays v11, JLArrays v0.1, KernelAbstractions 0.9 #658

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

milankl
Copy link
Member

@milankl milankl commented Jan 10, 2025

No description provided.

@milankl
Copy link
Member Author

milankl commented Jan 10, 2025

@jackleland @maximilian-gelbrecht I believe we can now upgrade GPUArrays, JLArrays, and KernelAbstractions compat.

One would (fingers crossed) roll forward these two changes again

function KernelAbstractions.get_backend(
g::Grid
) where {Grid <: AbstractGridArray{T, N, ArrayType}} where {T, N, ArrayType <: GPUArrays.AbstractGPUArray}
return KernelAbstractions.get_backend(g.data)
end

function KernelAbstractions.get_backend(
a::LowerTriangularArray{T, N, ArrayType}
) where {T, N, ArrayType <: GPUArrays.AbstractGPUArray}
return KernelAbstractions.get_backend(a.data)
end

that #636 rolled back

@milankl milankl added the gpu 🖼️ Everthing GPU related label Jan 10, 2025
@maximilian-gelbrecht
Copy link
Member

Tests are passing here. I'd like to briefly test on GPU before merging as well.

@maximilian-gelbrecht
Copy link
Member

Ah, the tests are passing here, but I think the compat entries are actually wrong, we do loose compatibility with GPUArrays v10. It'll be only compatible with v11.

@milankl
Copy link
Member Author

milankl commented Jan 13, 2025

riiiight, is there a reason why we wouldn't upgrade then? E.g. I guess this means that older CUDA jl versions don't support v11, does that restrict us in any other way?

@maximilian-gelbrecht
Copy link
Member

I mean it's only relevant if someone wants to use Speedy with some package that isn't updated yet to be compatible with GPUArrays v11. Not sure if there are many around. This is only relevant for packages that do something with GPUs. Even if that's the case, they'd still just get a slightly older version of Speedy.

@milankl
Copy link
Member Author

milankl commented Jan 13, 2025

Oceananigans still uses GPUArrays v10, so at the moment that would disallow running both simultaneously (coupling), but I believe by the time we do GPU-GPU coupling they will have upgraded already (@simone-silvestri do you plan to change compat to GPUArrays v11?). And it's better to go to the new version anyway. Green light from my side!

@simone-silvestri
Copy link
Collaborator

There has been a feature removal in GPUArrays@11.1.0 that breaks a bunch of code for GPU oceananigans see this PR. So for the moment until the issue has been resolved, we have pinned a previous version of GPU arrays. Hopefully, if it is solved soon, we can move to the new version.

@maximilian-gelbrecht
Copy link
Member

We are in no hurry with this. I think we can wait until Oceananigans is compatible as well.

@milankl
Copy link
Member Author

milankl commented Jan 15, 2025

Because even if we run CPU-GPU with Oceananigans this will create a compat conflict? Yes makes sense

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compatibility 👯 Changes necessary for compatibility between versions gpu 🖼️ Everthing GPU related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants