-
Notifications
You must be signed in to change notification settings - Fork 8
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
Fix gpu column integrals #1380
Fix gpu column integrals #1380
Conversation
1381: Add CUDA field tests r=charleskawczynski a=charleskawczynski This PR adds CUDA field tests (and applies some fixes + adds some notes). We should probably do this before #1380 so that we only need to slightly modify the test suite. This was never actually tested. Here is a snapshot before #1321, which shows that `field.jl` was only on buildkite, and didn't have a gpu job: https://github.com/CliMA/ClimaCore.jl/tree/f38795b0769a6134afbba96ac1e66318c976ccd0 Co-authored-by: Charles Kawczynski <[email protected]>
1381: Add CUDA field tests r=charleskawczynski a=charleskawczynski This PR adds CUDA field tests (and applies some fixes + adds some notes). We should probably do this before #1380 so that we only need to slightly modify the test suite. This was never actually tested. Here is a snapshot before #1321, which shows that `field.jl` was only on buildkite, and didn't have a gpu job: https://github.com/CliMA/ClimaCore.jl/tree/f38795b0769a6134afbba96ac1e66318c976ccd0 Co-authored-by: Charles Kawczynski <[email protected]>
1381: Add CUDA field tests r=charleskawczynski a=charleskawczynski This PR adds CUDA field tests (and applies some fixes + adds some notes). We should probably do this before #1380 so that we only need to slightly modify the test suite. This was never actually tested. Here is a snapshot (https://github.com/CliMA/ClimaCore.jl/tree/f38795b0769a6134afbba96ac1e66318c976ccd0) before #1321, which shows that `field.jl` was only on buildkite, and didn't have a gpu job Co-authored-by: Charles Kawczynski <[email protected]>
1381: Add CUDA field tests r=charleskawczynski a=charleskawczynski This PR adds CUDA field tests (and applies some fixes + adds some notes). We should probably do this before #1380 so that we only need to slightly modify the test suite. This was never actually tested. Here is a snapshot (https://github.com/CliMA/ClimaCore.jl/tree/f38795b0769a6134afbba96ac1e66318c976ccd0) before #1321, which shows that `field.jl` was only on buildkite, and didn't have a gpu job Co-authored-by: Charles Kawczynski <[email protected]>
874b139
to
692309c
Compare
692309c
to
14ae299
Compare
Now, locally, I'm getting:
|
So, I suspect function _column_integral_definite!(
col∫field::Fields.PointField,
field::Fields.ColumnField,
)
@inbounds col∫field[] = _column_integral_definite(field)
return nothing
end
function _column_integral_definite(field::Fields.ColumnField)
field_data = Fields.field_values(field)
Δz_data = Spaces.Δz_data(axes(field))
Nv = Spaces.nlevels(axes(field))
∫field = zero(eltype(field))
@inbounds for j in 1:Nv
∫field += field_data[j] * Δz_data[j]
end
return ∫field
end is not cuda-capable |
the error appears to be the call to ClimaCore.jl/src/Spaces/spectralelement.jl Line 655 in 14ae299
I guess we didn't test the thomas algorithm on the GPU with MPI |
Bummer, ok. What's the fix here? I don't immediately see what is wrong with a call to |
bors try |
tryBuild failed: |
bors try |
tryBuild failed: |
@simonbyrne, should we just use |
bors try |
tryBuild failed: |
bors try |
tryBuild failed: |
bors try |
tryBuild failed: |
bors try |
tryBuild failed: |
I think this is ready to go. |
bors try |
tryBuild succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
Okay, it looks like it works on ClimaAtmos: |
bors r+ |
Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
Closes #1376.