-
Notifications
You must be signed in to change notification settings - Fork 134
KA kernels for 3D P4est #2590
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
base: main
Are you sure you want to change the base?
KA kernels for 3D P4est #2590
Conversation
In order to eventually support GPU computation we need
to use Adapt.jl to allow GPU backend packages to swap
out host-array types like `CuArray` with device-side types
like `CuDeviceArray`.
Additionally this will allow us to change the element type
of a simulation by using `adapt(Array{Float32}`.
Co-authored-by: Lars Christmann <[email protected]>
Co-authored-by: Benedict Geihe <[email protected]>
In order to eventually support GPU computation we need
to use Adapt.jl to allow GPU backend packages to swap
out host-array types like `CuArray` with device-side types
like `CuDeviceArray`.
Additionally this will allow us to change the element type
of a simulation by using `adapt(Array{Float32}`.
Co-authored-by: Lars Christmann <[email protected]>
Co-authored-by: Benedict Geihe <[email protected]>
| max_lambda1 + max_lambda2 + max_lambda3) | ||
| end | ||
| # TODO GPU dt on CPU? (time integration happens on CPU) | ||
| max_scaled_speed = max(nextfloat(zero(t)), maximum(max_scaled_speeds)) |
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.
Can we write this as a mapreduce? E.g. something like:
AcceleratedKernels.mapreduce(max, 1:num_elements, backend) do element
max_scaled_speed_element(u, meshT, equations, dg,
contravariant_vectors,
inverse_jacobian,
element)
end
AcceleratedKernels does use Polyester for it's mapreduce on the CPU IIRC (grrml) so we could test the performance against @batch, another alternative is tmapreduce from OhMyThreads.
commit f4bbcd9 Author: Daniel Doehring <[email protected]> Date: Sun Oct 5 08:33:38 2025 +0200 Comment `temperature` and /3 (#2594) --------- Co-authored-by: Hendrik Ranocha <[email protected]> commit 68c0c71 Author: Daniel Doehring <[email protected]> Date: Fri Oct 3 15:06:55 2025 +0200 Second-Order Finite Volume Integral in 1D (#2022) * Pick up where Gregor left * preliminary example * more limiters * comments * fmt * continue * comments * print some more info * Add unit tests * add comment * Remove some alternative limiter implementations. * move, comments, fmt * Use second order timestepping * debug superbee * prim2cons 1D Adv * test * fmt, typo * typos * some more tests * fmt * Update src/solvers/dgsem_tree/finite_volume_O2.jl * Update test/test_unit.jl * Update src/solvers/dgsem_tree/dg_1d.jl * fmt * add different recontruction mode * Update src/solvers/dgsem_tree/finite_volume_O2.jl Co-authored-by: Andrés Rueda-Ramírez <[email protected]> * test + fmt * comments * correct way cells dim * increase coverage * revisit * continue * fmt * shorten * extra test * comment "inverse_weights" * change files * test vals * Update test/test_tree_1d_euler.jl * Update examples/structured_1d_dgsem/elixir_euler_source_terms_nonperiodic_fvO2.jl * Update examples/tree_1d_dgsem/elixir_euler_convergence_pure_fvO2.jl * Update test/test_tree_1d_euler.jl * fix * test compact print * comment * relabel * comments * comments * comemnts * commenbts * rm * test * rename * docstrings * comments * Apply suggestions from code review Co-authored-by: Joshua Lampert <[email protected]> * fmt * fmt * mv * fix * Apply suggestions from code review Co-authored-by: Joshua Lampert <[email protected]> --------- Co-authored-by: Andrés Rueda-Ramírez <[email protected]> Co-authored-by: Joshua Lampert <[email protected]> commit 96c7aef Author: Daniel Doehring <[email protected]> Date: Thu Oct 2 18:19:13 2025 +0200 Bundle identical `rhs!` (#2552) * Bundle identical `rhs!` * fix 1d * comment * bring back --------- Co-authored-by: Hendrik Ranocha <[email protected]> commit 5c97803 Author: Daniel Doehring <[email protected]> Date: Thu Oct 2 15:39:55 2025 +0200 Use variable name `have_nonconservative_terms` (#2592) * Use variable name `have_nonconservative_terms` * fix * cons fmt --------- Co-authored-by: Benedict <[email protected]> Co-authored-by: Hendrik Ranocha <[email protected]> commit 2688623 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu Oct 2 08:10:10 2025 +0200 Bump crate-ci/typos from 1.35.7 to 1.37.1 (#2593) * Bump crate-ci/typos from 1.35.7 to 1.37.1 Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.35.7 to 1.37.1. - [Release notes](https://github.com/crate-ci/typos/releases) - [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md) - [Commits](crate-ci/typos@v1.35.7...v1.37.1) --- updated-dependencies: - dependency-name: crate-ci/typos dependency-version: 1.37.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> * fix typos --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joshua Lampert <[email protected]>
Co-authored-by: Valentin Churavy <[email protected]>
…rixi.jl into feature-gpu-offloading
| index_range, interface) | ||
| end | ||
|
|
||
| function calc_interface_flux_interface!(surface_flux_values, |
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.
Check with @device_code but you likely must manually annotate functions like this or the callsite above with @inline
Add KernelAbstractions.jl kernels for basic rhs! functions for 3D P4estMesh implementation.