JuliaGPU / CUDA.jl

CUDA programming in Julia.
https://juliagpu.org/cuda/
Other
1.2k stars 218 forks source link

Enzyme: adapt to pending version breaking update #2490

Closed wsmoses closed 1 week ago

wsmoses commented 2 weeks ago

@maleadt okay corresponding Enzyme version has been released

maleadt commented 2 weeks ago

Enzyme.jl tests didn't run here because of the LLVM.jl v9.1 blacklist, so this PR was not tested.

wsmoses commented 2 weeks ago

ah right.... okay I'll see if I can quickly fix that

wsmoses commented 2 weeks ago

we've now released a 9.1 compatible version

wsmoses commented 1 week ago

@maleadt @vchuravy CI seems to complain with a chicken and egg problem.

So at this point enzyme has compat with all the latest llvm and GPUCompiler and ought be compatible with enzyme……but can’t be solved by pkg due to KA. But the KA pkg testing requirea cuda to accept the enzyme bump which means this has to have already gone in for KA to bump, and so on

maleadt commented 1 week ago

CI testing can/should use master branches. And I'm fine being the first one to merge if you have verified this locally.

wsmoses commented 1 week ago

so @maleadt I think this was broken by https://github.com/JuliaGPU/CUDA.jl/pull/2472 in a way that I don't quite understand how to fix?

maleadt commented 1 week ago

You'll have to elaborate what the problem is; I'm not familiar with Enzyme.jl (and by extension any of the code in this PR). https://github.com/JuliaGPU/CUDA.jl/pull/2472 simply added a kwarg to the kernel's call method indicating if it should call cudaconvert or not. It uses a Val instead of a simple boolean because it uses the value as part of the @generator; defaulting to true for HostKernels and to false for DeviceKernels.

wsmoses commented 1 week ago

@maleadt okay this now passes locally on cyclops, if this can get a merge then tag