# Mooncake + GPU?

**URL:** https://discourse.julialang.org/t/mooncake-gpu/133472
**Category:** General Usage
**Created:** [October 28, 2025, 8:21am UTC](https://discourse.julialang.org/t/mooncake-gpu/133472 "2025-10-28T08:21:13Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![dubosipsl](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dubosipsl/32/52998_2.png) [@dubosipsl](https://discourse.julialang.org/u/dubosipsl)
#### Post date: [October 28, 2025, 8:21am UTC](https://discourse.julialang.org/t/mooncake-gpu/133472/1 "2025-10-28T08:21:13Z")

</div>

Hello all,

I would like to know what to expect regarding using Mooncake for reverse AD on GPUs, preferably via KernelAbstractions. I see there is a CUDA extension handling CuArrays. What works now, and what could work in the next few months ?

Thanks for the great work on Mooncake / KernelAbstractions.

---

<div class="post-metadata">

### Author: ![yolhan\_mannes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yolhan_mannes/32/220485_2.png) [@yolhan\_mannes](https://discourse.julialang.org/u/yolhan_mannes)
#### Post date: [October 28, 2025, 11:50am UTC](https://discourse.julialang.org/t/mooncake-gpu/133472/2 "2025-10-28T11:50:23Z")

</div>

Hello, I may be wrong but, unlike Enzyme, Mooncake can’t diff through the llvm / ptx code done by GPU backends, the only possibility would be to add a thin Enzyme layer to Mooncake but may be better off doing that in DI directly (use Enzyme to buld\_rule for any backend).  
This wouldn’t be that much of an issue if the rule system was easy enough and I think that’s what should be worked on rn.
