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

Add support for the Metal backend #48

Merged
merged 13 commits into from
Oct 5, 2024
Merged

Add support for the Metal backend #48

merged 13 commits into from
Oct 5, 2024

Conversation

luraess
Copy link
Member

@luraess luraess commented Sep 30, 2024

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

@luraess luraess marked this pull request as ready for review October 1, 2024 21:17
@luraess luraess requested a review from utkinis October 1, 2024 21:17
@luraess
Copy link
Member Author

luraess commented Oct 2, 2024

It's ready for review from my side @utkinis

@utkinis
Copy link
Member

utkinis commented Oct 4, 2024

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.

@luraess
Copy link
Member Author

luraess commented Oct 4, 2024

Thanks for polishing things further @utkinis !
I kept things verbose for testing but your additions allow indeed a slimmer machinery.

@utkinis utkinis merged commit e4f9e84 into main Oct 5, 2024
12 checks passed
@utkinis utkinis deleted the lr/metal branch October 5, 2024 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants