You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Benchmark, profile and optimize interactions on GPUs.
Avoid synchronization. For example, fluid-solid and solid-solid interactions have no race conditions, so all *-solid interaction kernels can be spawned on the GPU without synchronization. The same holds for all *-fluid and *-boundary interactions. However, this should happen after optimization, since we will lose timers for each individual interaction. Also, we will only see a benefit for multi-physics simulations, as a simple fluid-boundary simulation can't run any two non-trivial interactions without synchronization. Note that a single fluid-* kernel might also be able to improve performance.
Array{ELTYPE, 2}to type parameters.Make array types in structs generic #486
Semidiscretizationobject to GPU types with Adapt.jl.Recursively convert (adapt)
Semidiscretizationobject to GPU types with Adapt.jl #492GPUSystemto determine if a system is stored on the CPU or GPU #532Two alternatives: Either Minimally invasive GPU implementation with KernelAbstractions.jl without neighborhood search #493 using plain kernels for everything or Rewrite
@threadedmacro to work with GPUs #534 hiding the kernels in the@threadedmacro.SolutionSavingCallbackwork on GPUs (MakeSolutionSavingCallbackwork on GPUs #579).