JuliaGPU / Adapt.jl

Other
86 stars 24 forks source link

Establish concept of a computing unit/device #64

Open oschulz opened 1 year ago

oschulz commented 1 year ago

See #52 (closed to experiment with those concepts outside of Adapt/ArrayInterfaceCore for a while before proposing a new common scheme for computing units/devices).

Exploring this within HeterogeneousComputing.jl , this issue is intended as a reminder to bring it back into Adapt/ArrayInterfaceCore, the GPU packages and KernelAbstractions once a clean and field-tested concept is ready.

vchuravy commented 1 year ago

Have you had a chance to look at what KA 0.9 does? It might not be a complete as you want to, but right now you can adapt/allocat/synchronize w.r.t to a KA backend.

oschulz commented 1 year ago

Have you had a chance to look at what KA 0.9 does? It might not be a complete as you want to, but right now you can adapt/allocat/synchronize w.r.t to a KA backend.

Yes, I love KA 0.9!

I really need the ability to derive the device from deeply nested data (may have custom data type in there) though, and I need to distinguish between multiple GPU devices. So KA 0.9 by itself won't be quite enough for the application(s) I'm working on, but it definitely helps a lot!

I hope that HeterogeneousComputing.jl will in the end contain only more "specialized" stuff, with the more basic functionality covered by Adapt, KA, etc.