tirogla
Home
Systems
API
About
Log in
Home
Systems
API
About
Log in
← Back
Home
›
Systems
›
Simulation and scientific computing
sph-solver
smoothed particle hydrodynamics
DualSPHysics
Open the sph-solver page
sph-solver
Batch checkpoint restart
distributed: Large batch jobs (end-of-day, settlement, payroll runs) that checkpoint and restart idempotently
Halo exchange
distributed: 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.
›
Space filling curves
geometry: Z-order/Morton (geohash) and Hilbert curves mapping multi-dimensional points to sortable keys
Marching cubes
graphics: Extract triangle meshes from scalar fields (marching cubes, dual contouring)
Gpu memory coalescing banking
hardware-os: Coalesced global loads, shared memory bank conflicts, L2 and HBM bandwidth on GPUs
CUDA and GPU languages
languages: Programming GPUs: thousands of lockstep threads, bound by memory bandwidth; libraries first, Triton for fused kernels, CUDA C++ for peak speed.
›
Floating-point error
numerics: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.
›
Verlet / leapfrog
numerics: Half-kick, drift, half-kick: a second-order, time-reversible, symplectic integrator with one force evaluation per step whose energy error stays bounded for millions of steps.
›
Complementarity contact solver
physics: Contact as LCP or convex optimization (PGS, Newton) with friction cones; soft contacts
Neighbor lists
physics: Cell lists plus Verlet buffer lists for O(n) short-range pair interactions
Periodic boundary conditions
physics: Minimum image convention and wrapping for simulations in periodic boxes
Rigid-body dynamics
physics: Advance one 3D rigid body per step from force and torque: semi-implicit Euler for position, an inertia tensor in the body frame, and quaternion orientation updated by the exponential map.
›
Smoothed particle hydrodynamics
physics: SPH kernels for density, pressure and viscosity on particles; neighbor search
Spatial hashing
physics: Uniform grid stored in a hash table: bucket objects by cell, test only neighbouring cells; O(n) neighbour search for many similar-sized objects such as particles.
›
Parallel prefix sum
search-sort: Work-efficient scan (Blelloch, decoupled look-back) on CPU SIMD and GPUs; stream compaction
Radix sort
search-sort: Non-comparison sort that distributes keys by 8-bit digits; several times faster than comparison sorts on large arrays of integers, floats or fixed-size keys.
›
Chunked array storage
storage: 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.
›
Idempotency keys
finance: 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 log
storage: 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 scheduling
systems: Cron expression parsing and next-fire-time computation, with catch-up and time-zone rules
Eager rendezvous protocol
distributed: MPI point-to-point: eager sends for small messages, rendezvous handshake for large ones
Rdma
networking: RDMA verbs over InfiniBand/RoCE: queue pairs, memory registration, one-sided ops
Zero-copy I/O
networking: Move bytes between files, sockets and NICs by passing page references instead of copying through user space: sendfile, splice, MSG_ZEROCOPY, kTLS.
›
Finite differences
numerics: 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.
›
Sparse matrices (CSR)
numerics: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.
›
Contact manifold generation
physics: Build persistent contact point sets from collision normals by clipping, with feature IDs for warm starts
Quaternion rotations
geometry: Unit quaternions as 3D rotations: 4 floats, cheap composition, no gimbal lock, plus the conversions, interpolation choices and numerical care needed in practice.
›
Semi-implicit Euler
numerics: Update velocity from forces first, then position with the new velocity: explicit Euler cost, but symplectic and stable; the default game-physics integrator.
›
Fast hash functions
data-structures: Non-cryptographic hashes built from 64×64→128-bit multiplies and xor-shifts; pick by key size, trust level and whether the hash is persisted.
›
+ 4 more
Leases
distributed: A lock that expires on its own: bounded-time ownership that survives crashes and partitions, given bounded clock drift and fencing tokens on writes.
›
Cryptographic hashes (SHA-2,
BLAKE3)
security: Collision-resistant fingerprints of data; SHA-256 for interoperability, BLAKE3 for speed, HMAC/HKDF for keyed uses.
›
Exponential backoff with jitter
systems: Retry after delays that grow geometrically and are randomized, so failed clients spread out instead of hammering a recovering service in synchronized waves.
›
CRC32C checksums
hardware-os: The Castagnoli CRC-32 with dedicated instructions on x86 (SSE4.2) and ARMv8. It is the standard fast integrity check for storage blocks, logs and network frames.
›
fsync, O_DSYNC and O_DIRECT
hardware-os: What fsync, fdatasync, O_DSYNC, O_DIRECT and F_FULLFSYNC really guarantee on Linux and macOS, and the exact call sequences for crash-safe files.
›
Explicit Euler
numerics: Step an ODE forward by its current slope, y += h·f(t, y); first-order, one evaluation per step, the baseline every other integrator is measured against.
›
Thomas tridiagonal solver
numerics: O(n) tridiagonal linear solve used in implicit finite-difference and spline schemes
Polygon clipping
geometry: Polygon intersection/union/difference (Weiler-Atherton, Martinez) for spatial predicates
GJK and EPA
physics: GJK decides whether (and how far apart) two convex shapes are from their support functions alone; EPA expands its simplex into penetration depth and normal.
›
Separating axis theorem
physics: Convex shapes are disjoint iff some axis separates their projections; testing face normals and edge crosses gives overlap, depth and contact normal.
›
Fixed timestep loop
graphics: Fixed simulation dt with accumulator, render interpolation, spiral-of-death guard
+ 2 more
Fencing tokens
distributed: A number that grows with every lock grant and is checked by the protected resource, so a paused ex-holder's late write is rejected.
›
PRNGs (PCG, xoshiro)
numerics: Small, fast, statistically strong non-cryptographic generators: PCG32 and xoshiro256**, with seeding, parallel streams and unbiased ranges.
›
SIMD programming
hardware-os: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.
›
d-ary heap
data-structures: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.
›
Exact geometric predicates
geometry: Robust orient and incircle tests with adaptive-precision floats (Shewchuk) or exact arithmetic
Point in polygon
geometry: Ray-casting/winding tests and indexed polygon lookup for reverse geocoding
Open the sph-solver page
sph-solver
Batch checkpoint restart
distributed: Large batch jobs (end-of-day, settlement, payroll runs) that checkpoint and restart idempotently
Halo exchange
distributed: 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.
›
Space filling curves
geometry: Z-order/Morton (geohash) and Hilbert curves mapping multi-dimensional points to sortable keys
Marching cubes
graphics: Extract triangle meshes from scalar fields (marching cubes, dual contouring)
Gpu memory coalescing banking
hardware-os: Coalesced global loads, shared memory bank conflicts, L2 and HBM bandwidth on GPUs
CUDA and GPU languages
languages: Programming GPUs: thousands of lockstep threads, bound by memory bandwidth; libraries first, Triton for fused kernels, CUDA C++ for peak speed.
›
Floating-point error
numerics: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.
›
Verlet / leapfrog
numerics: Half-kick, drift, half-kick: a second-order, time-reversible, symplectic integrator with one force evaluation per step whose energy error stays bounded for millions of steps.
›
Complementarity contact solver
physics: Contact as LCP or convex optimization (PGS, Newton) with friction cones; soft contacts
Neighbor lists
physics: Cell lists plus Verlet buffer lists for O(n) short-range pair interactions
Periodic boundary conditions
physics: Minimum image convention and wrapping for simulations in periodic boxes
Rigid-body dynamics
physics: Advance one 3D rigid body per step from force and torque: semi-implicit Euler for position, an inertia tensor in the body frame, and quaternion orientation updated by the exponential map.
›
Smoothed particle hydrodynamics
physics: SPH kernels for density, pressure and viscosity on particles; neighbor search
Spatial hashing
physics: Uniform grid stored in a hash table: bucket objects by cell, test only neighbouring cells; O(n) neighbour search for many similar-sized objects such as particles.
›
Parallel prefix sum
search-sort: Work-efficient scan (Blelloch, decoupled look-back) on CPU SIMD and GPUs; stream compaction
Radix sort
search-sort: Non-comparison sort that distributes keys by 8-bit digits; several times faster than comparison sorts on large arrays of integers, floats or fixed-size keys.
›
Chunked array storage
storage: 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.
›
Idempotency keys
finance: 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 log
storage: 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 scheduling
systems: Cron expression parsing and next-fire-time computation, with catch-up and time-zone rules
Eager rendezvous protocol
distributed: MPI point-to-point: eager sends for small messages, rendezvous handshake for large ones
Rdma
networking: RDMA verbs over InfiniBand/RoCE: queue pairs, memory registration, one-sided ops
Zero-copy I/O
networking: Move bytes between files, sockets and NICs by passing page references instead of copying through user space: sendfile, splice, MSG_ZEROCOPY, kTLS.
›
Finite differences
numerics: 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.
›
Sparse matrices (CSR)
numerics: Compressed sparse row stores only nonzeros as row pointers, column indices and values; SpMV streams them once, so it is memory-bandwidth bound.
›
Contact manifold generation
physics: Build persistent contact point sets from collision normals by clipping, with feature IDs for warm starts
Quaternion rotations
geometry: Unit quaternions as 3D rotations: 4 floats, cheap composition, no gimbal lock, plus the conversions, interpolation choices and numerical care needed in practice.
›
Semi-implicit Euler
numerics: Update velocity from forces first, then position with the new velocity: explicit Euler cost, but symplectic and stable; the default game-physics integrator.
›
Fast hash functions
data-structures: Non-cryptographic hashes built from 64×64→128-bit multiplies and xor-shifts; pick by key size, trust level and whether the hash is persisted.
›
Object storage
cloud: S3-compatible blob storage at cents per GB-month with 11 nines durability; pick by egress price, request price and latency, not by storage price alone.
›
Delta encoding
compression: Store differences between consecutive values instead of the values, turning sorted IDs, timestamps and counters into small numbers that pack into few bits.
›
Zstandard (zstd)
compression: LZ77 plus Huffman and FSE entropy coding, with levels from LZ4-like speed to xz-like ratio, all decoding at about 1-2 GB/s.
›
HTTP range requests
networking: Ask for byte offsets with Range and get a 206 slice back; the standard way to resume, seek and read big remote files piecewise.
›
Leases
distributed: A lock that expires on its own: bounded-time ownership that survives crashes and partitions, given bounded clock drift and fencing tokens on writes.
›
Cryptographic hashes (SHA-2,
BLAKE3)
security: Collision-resistant fingerprints of data; SHA-256 for interoperability, BLAKE3 for speed, HMAC/HKDF for keyed uses.
›
Exponential backoff with jitter
systems: Retry after delays that grow geometrically and are randomized, so failed clients spread out instead of hammering a recovering service in synchronized waves.
›
CRC32C checksums
hardware-os: The Castagnoli CRC-32 with dedicated instructions on x86 (SSE4.2) and ARMv8. It is the standard fast integrity check for storage blocks, logs and network frames.
›
fsync, O_DSYNC and O_DIRECT
hardware-os: What fsync, fdatasync, O_DSYNC, O_DIRECT and F_FULLFSYNC really guarantee on Linux and macOS, and the exact call sequences for crash-safe files.
›
Explicit Euler
numerics: Step an ODE forward by its current slope, y += h·f(t, y); first-order, one evaluation per step, the baseline every other integrator is measured against.
›
Thomas tridiagonal solver
numerics: O(n) tridiagonal linear solve used in implicit finite-difference and spline schemes
Polygon clipping
geometry: Polygon intersection/union/difference (Weiler-Atherton, Martinez) for spatial predicates
GJK and EPA
physics: GJK decides whether (and how far apart) two convex shapes are from their support functions alone; EPA expands its simplex into penetration depth and normal.
›
Separating axis theorem
physics: Convex shapes are disjoint iff some axis separates their projections; testing face normals and edge crosses gives overlap, depth and contact normal.
›
Fixed timestep loop
graphics: Fixed simulation dt with accumulator, render interpolation, spiral-of-death guard
Bit packing and PFOR
compression: Store blocks of integers with exactly b bits each and patch rare outliers separately (PFOR); the fastest integer codec family, billions of values per second.
›
Varint (LEB128)
compression: Variable-length integers in 7-bit groups with a continuation bit; small numbers take 1 byte, the wire format of Protobuf, WebAssembly and DWARF.
›
Fencing tokens
distributed: A number that grows with every lock grant and is checked by the protected resource, so a paused ex-holder's late write is rejected.
›
PRNGs (PCG, xoshiro)
numerics: Small, fast, statistically strong non-cryptographic generators: PCG32 and xoshiro256**, with seeding, parallel streams and unbiased ranges.
›
d-ary heap
data-structures: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.
›
Exact geometric predicates
geometry: Robust orient and incircle tests with adaptive-precision floats (Shewchuk) or exact arithmetic
Point in polygon
geometry: Ray-casting/winding tests and indexed polygon lookup for reverse geocoding
SIMD programming
hardware-os: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.
›
Copy for AI
Similar systems
Share the most building blocks with this one.
lbm-solver
26 %
molecular-dynamics
24 %
ocean-model
19 %
seismic-imaging
19 %
earthquake-sim
19 %