-
Notifications
You must be signed in to change notification settings - Fork 14
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
Use JuliaGPU Buildkite CI for GPU tests #723
Conversation
d483eae
to
486af04
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #723 +/- ##
==========================================
+ Coverage 70.22% 70.25% +0.02%
==========================================
Files 96 96
Lines 6001 6017 +16
==========================================
+ Hits 4214 4227 +13
- Misses 1787 1790 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
With JuliaConcurrent/Atomix.jl#52 merged, at least the oneAPI should be able to run now... |
It's still sh*t and gives a segfault in the first test. |
/run-gpu-tests |
1 similar comment
/run-gpu-tests |
/run-gpu-tests |
/run-gpu-tests |
3 similar comments
/run-gpu-tests |
/run-gpu-tests |
/run-gpu-tests |
/run-gpu-tests |
/run-gpu-tests |
/run-gpu-tests |
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.
Highlight support for GPUs by adding it to readme.md
Based on #689.
I added a GPU test suite and configured Buildkite on the public JuliaGPU runners.
These resources are very limited, so we should not start a build on every single push. Instead, I added a GitHub action to trigger GPU CI by commenting
/run-gpu-tests
on a PR. About 30 seconds later, the Buildkite jobs should appear in the list of checks for the PR. Also, every push on main will trigger a GPU CI build.Note that especially for AMD the lack of resources requires us to wait for about an hour for a free runner.
While writing the GPU tests, I also found the following problems (and fixed some of them):
RectangularTank
setup does not work properly withFloat32
.Float64
.Float32
.SchoenbergQuarticSplineKernel
does not work on GPUs (Can't compareFloat32
withRational
on CUDA JuliaGPU/CUDA.jl#2681 and Can't compareFloat32
withRational
on Metal JuliaGPU/Metal.jl#550).+=
yields incorrect results sometimes JuliaGPU/Metal.jl#549). But only on my machine, apparently.acceleration
in the WCSPH constructor is inFloat64
.Float32
(^(::Float32, ::Integer)
uses double precision JuliaGPU/Metal.jl#552).