Porting WaterLily.jl into a backend-agnostic solver - Bernat Font
WaterLily.jl is a simple and fast fluid simulator written in pure Julia. It solves the unsteady incompressible 2D or 3D Navier-Stokes equations on a Cartesia...
WaterLily.jl is a simple and fast fluid simulator written in pure Julia. It solves the unsteady incompressible 2D or 3D Navier-Stokes equations on a Cartesian grid. The pressure Poisson equation is solved with a geometric multigrid method. Solid boundaries are modelled using the Boundary Data Immersion Method. v1.0 has ported the solver from a serial CPU execution to a backend-agnostic execution including multi-threaded CPU and GPU from different vendors (NVIDIA and AMD) thanks to KernelAbstractions.jl (KA). We have also recently published an extended abstract preprint with benchmarking…
related reading
- How to Optimize a CUDA Matmul Kernel for cuBLAS-like Performance: a Worklogsiboehm.com
- DiffEqFlux.jl – A Julia Library for Neural Differential Equationsjulialang.org
- Inside NVIDIA GPUs: Anatomy of high performance matmul kernels - Aleksa Gordićaleksagordic.com
- ⭐️ Fast LLM Inference From Scratchandrewkchan.dev
- KernelBench: Can LLMs Write GPU Kernels?scalingintelligence.stanford.edu
- What nonlinear solvers are available? - Specific Domains - Julia Programming Languagediscourse.julialang.org
- Galerkinfischerp.cs.illinois.edu
- Look Ma, No Bubbles! Designing a Low-Latency Megakernel for Llama-1B · Hazy Researchhazyresearch.stanford.edu
- Auto-research with codex: How I achieved a 232x Faster Kernel over baseline with Codex in GPU Mode's qr_v2 problemsankalp.bearblog.dev
- Retire the Abstractionshazyresearch.stanford.edu
- What happens when you run a CUDA kernelfergusfinn.com
- Implementing a fast Tensor Core matmul on the Ada Architecture | spatters.caspatters.ca