Closed ali-ramadhan closed 3 years ago
Hmmm, CPU regression changed slightly but all differences look tiny. One of the important differences to Julia is that floating-point multiplication, addition, subtraction are marked contractable so the answer could change slightly: https://juliagpu.gitlab.io/KernelAbstractions.jl/#Important-differences-to-Julia-1
Maybe there are some zeros in the answer which ≈
returns false
for.
Yeah so our regression tests are horrible lol, at least for ρu. The other fields are much better. I'll change back to an absolute tolerance.
Merging #91 into master will decrease coverage by
6.17%
. The diff coverage is75.75%
.
@@ Coverage Diff @@
## master #91 +/- ##
==========================================
- Coverage 95.12% 88.95% -6.18%
==========================================
Files 12 12
Lines 328 362 +34
==========================================
+ Hits 312 322 +10
- Misses 16 40 +24
Impacted Files | Coverage Δ | |
---|---|---|
src/time_stepping_kernels.jl | 72.09% <66.66%> (-27.91%) |
:arrow_down: |
src/thermodynamics.jl | 100.00% <100.00%> (ø) |
|
src/time_stepping.jl | 100.00% <100.00%> (ø) |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 962e0f3...8272cf5. Read the comment docs.
Looks like WENO-5 works on GPUs! Coarse 2D model isn't impressive lol but good enough sign for me to merge this PR.
Not sure what's up with the flickering. Will fix.
This PR converts the time stepping kernels to use KernelAbstractions.jl to enable GPU support. Regression tests seem to pass but difference in numbers is a little high on some configurations so probably worth investigating a bit.
Preliminary benchmarks (below) show pretty strong speedups :tada: Energy on GPU seems slower than it should be and it seems there's a big hit for using 3 gases. Might be things we can easily target for performance optimization though. Not sure if Entropy + 1 gas is actually this much faster but seems like an anomaly.