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

Migrate to KernelAbstractions.jl for handwritten kernels #479

Open
pxl-th opened this issue Mar 1, 2023 · 10 comments
Open

Migrate to KernelAbstractions.jl for handwritten kernels #479

pxl-th opened this issue Mar 1, 2023 · 10 comments

Comments

@pxl-th
Copy link
Member

pxl-th commented Mar 1, 2023

Motivation and description

New backends will get the existing functionality basically for free, once KernelAbstraction.jl supports them.

On master branch the restriction for Julia was lowered to 1.6, but on release-0.8 it is still 1.7.
@vchuravy does it mean that KA now runs on 1.6 or was it by mistake?

And do we care about new features for 1.6 or do we take similar approach to NNlibCUDA.jl -> extension migration, where old versions will receive only bugfixes via backports.
If not, then we don't need to wait for new KA release and can start migration which will add existing functionality for AMDGPU.

Possible Implementation

No response

@CarloLucibello
Copy link
Member

CarloLucibello commented Mar 3, 2023

If the migration comes with no performance hit, then let's do it. Bumping the julia compact to v1.7 shouldn't be a problem

@vchuravy
Copy link

vchuravy commented Mar 3, 2023

On 1.6 method overlays are not reliable, butnon the other hand I had CI for 1.6 forever so I am slightly confused for why I have introduced 1.7 as a restriction.

Of note is that we can support AMD on 1.6 reliable and I would wait for KA 0.9. That release has the goal of being a dependency for GPUArrays

@pxl-th
Copy link
Member Author

pxl-th commented Mar 3, 2023

and I would wait for KA 0.9

That was my next question :) Then we also need to wait on JuliaGPU/AMDGPU.jl#374 for AMDGPU.

@ToucheSir
Copy link
Member

@vchuravy are/will the KA atomics be supported on 1.6?

@ToucheSir
Copy link
Member

ToucheSir commented Mar 10, 2023

KA 0.9 has been tagged! My question above still stands though.

@vchuravy
Copy link

Where do you need atomics? On the CPU? Or on the GPU?
On the GPU atomics will be supported from 1.6 onwards.

@ToucheSir
Copy link
Member

On the GPU to replace CUDA.@atomic. Thanks for the answer!

@vchuravy
Copy link

Yeah you can just use Atomix.@atomic.

@vchuravy
Copy link

KA 0.9 and CUDA 4.1 are out so this is now feasible to attempt

@pxl-th
Copy link
Member Author

pxl-th commented Apr 5, 2023

AMDGPU#master now supports KA 0.9, I'll attempt this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants