-
Notifications
You must be signed in to change notification settings - Fork 250
Full oneAPI extension #4764
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
base: main
Are you sure you want to change the base?
Full oneAPI extension #4764
Conversation
|
I think we can achieve that second goal. This requires moving |
|
What about CUDA.jl? Do you want to keep that package as a fixed dependency of the tests and only move AMDGPU and oneAPI out? Eventually, maybe every GPU backend should be treated equally. Not sure that's already the case though... |
|
The main difference now I guess is that we have a lot of CUDA resources for CI but only enough AMD / Intel resources for super simple smoke tests. But you're right, the idea I proposed will not work in a future where we run the full suite of GPU tests on all devices... 🤔 |
| using InteractiveUtils | ||
| using oneAPI | ||
| using oneAPI.oneMKL: oneSparseMatrixCSR | ||
| using oneAPI.oneMKL.FFT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@michel2323 Did you tested it with Oceananigans.jl?
| @inline UT.getdevice(one::GPUVar, i) = oneAPI.device(one) | ||
| @inline UT.getdevice(one::GPUVar) = oneAPI.device(one) | ||
| @inline UT.switch_device!(dev::oneAPI.ZeDevice) = oneAPI.device!(dev) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| @inline UT.getdevice(one::GPUVar, i) = oneAPI.device(one) | |
| @inline UT.getdevice(one::GPUVar) = oneAPI.device(one) | |
| @inline UT.switch_device!(dev::oneAPI.ZeDevice) = oneAPI.device!(dev) |
after #4738 this is not needed
This brings oneAPI on par with AMDGPU.
Two minor issues: