-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add support for the Metal backend #48
Conversation
It's ready for review from my side @utkinis |
Thanks for the work @luraess! I've made some changes in the tests, now it's a bit lighter git diff due to less indentation changes. Also, I've added a bit more generic checks for compatibility of the backend and the datatype, and ability to select multiple backends or to skip CPU tests. CPU-only tests still run irregardless of whether they are enabled or not, but the runtime of those is slim compared to the heavy GPU tests, so I didn't spend time fixing this. The PR looks good to me, I'll merge as soon as the CI finishes. |
Thanks for polishing things further @utkinis ! |
This PR adds support for the Metal.jl backend and implements it as an extension. All functionalities should be available with the known restriction that Metal.jl only supports Float32 or lower precision in the compute kernels.
EDITS: This PR also adds Metal CI from Buildkite and provides an example of running 1D diffusion using Float32 on Metal backend.
cc @albert-de-montserrat