← Back
Home › Systems › Simulation and scientific computing

plasma-fusion-sim

plasma turbulence and fusion simulation

GENE, BOUT++

SystemTechniques · 9Primitives · 46 plasma-fusion-sim Batch checkpoint restartdistributed · medium: Large batch jobs (end-of-day, settlement, payroll runs) that checkpoint and restart idempotentlyHalo exchangedistributed · medium: Each rank stores its block plus a border copy of its neighbours' edge cells, refreshed by small messages every step; communication scales with block surface, not volume.›Parallel file system stripingdistributed · medium: Striping files across object storage targets (Lustre, GPFS); collective I/O and metadata serversKernel autotuningml-training · medium: Searching tile sizes and launch parameters per shape/hardware, caching the best configsGmresnumerics · medium: GMRES with restarts: Arnoldi, Givens rotations, for nonsymmetric sparse systemsChunked array storagestorage · medium: Cut an N-dimensional array into a regular grid of independently compressed blocks, so a slice read touches only the overlapping blocks and writers to different blocks run in parallel.›Incomplete factorization preconditi…numerics · medium: Sparse approximate LU or Cholesky factors (ILU, IC) that precondition Krylov solvers: fewer iterations than Jacobi, less memory than a direct solve.›Gpu memory coalescing bankinghardware-os · low: Coalesced global loads, shared memory bank conflicts, L2 and HBM bandwidth on GPUsCUDA and GPU languageslanguages · low: Programming GPUs: thousands of lockstep threads, bound by memory bandwidth; libraries first, Triton for fused kernels, CUDA C++ for peak speed.›Collective communicationml-training · low: The family of group exchanges (broadcast, reduce, all-gather, reduce-scatter, all-to-all) and the latency-plus-bytes cost model that picks ring, tree or direct algorithms by message size and topology.›Tensor layout transformsml-training · low: Choosing and converting tensor layouts (NCHW/NHWC, blocked, tiled) for kernel efficiencyAdaptive Runge-Kutta (Dormand-Princ…numerics · low: An embedded 5(4) Runge-Kutta pair estimates each step's error for free and resizes the step to meet a tolerance; the default non-stiff solver.›Fast Fourier transformnumerics · low: Computes the DFT in O(n log n) by recursively splitting into even and odd halves; the basis of fast convolution and spectral methods.›Finite differencesnumerics · low: Replace derivatives with weighted differences of grid values; simple stencils plus a stability condition (CFL) turn PDEs like heat, advection and waves into array loops.›Monte Carlo integrationnumerics · low: Estimate an expectation by averaging random samples; error falls as σ/√N in any dimension, and variance reduction (antithetic, control variates, importance sampling) shrinks σ.›Multigridnumerics · low: Smooths high-frequency error on the fine grid and solves the smooth remainder on coarser grids; O(n) elliptic solves at any resolution.›Runge-Kutta 4numerics · low: The classic four-stage, fourth-order ODE step; error drops 16× when the step halves, with no derivatives or past steps needed.›Spectral methodsnumerics · low: Represent the solution by a global Fourier or Chebyshev series; derivatives become multiplications by ik in coefficient space, giving exponential convergence for smooth problems.›Stiff solvers (implicit, BDF)numerics · low: Implicit steps solve a small nonlinear system so fast decaying modes stay stable at any step size; BDF methods are the stiff-ODE workhorse.›Idempotency keysfinance · low: Client-chosen unique key per logical operation, stored with a request fingerprint and the final response, so retries replay the first result instead of acting twice.›Write-ahead logstorage · low: Append each change to a checksummed sequential log and fsync it before touching data pages; the basis of crash durability in nearly every database.›Cron schedulingsystems · low: Cron expression parsing and next-fire-time computation, with catch-up and time-zone rulesEager rendezvous protocoldistributed · low: MPI point-to-point: eager sends for small messages, rendezvous handshake for large ones+ 2 more techniques+ 30 more primitives

Similar systems

Share the most building blocks with this one.