Astroworld – A universal N-body gravity engine in Python
171x Numba speedup reveals Moon in Earth residuals—Planet 9 validation engine.
A real-time CUDA accelerated Barnes-Hut tree code for the n-body problem using C++ and OpenGL.
4 million particles at 400ms per step with honest bottleneck analysis in the README.
Graphics programmers and computational physics researchers
Gadget-4 · PKDGRAV · CUDA n-body samples
The octree construction is fast, as well as the traversal. The major bottlenecks are the VRAM usage (1 million bodies require ~1GB), which could be probably halved by reusing intermediate buffers, and the particle to leaf evaluation, which would benefit from more fp32 FLOPS. Moreover, I still don't have a good heuristic to predetermine the size of the BFS queue, perhaps some sort of memory paging could solve the issue.
171x Numba speedup reveals Moon in Earth residuals—Planet 9 validation engine.
The repo actually implements an RK4 geodesic integrator in CUDA kernels to trace millions of rays and produce frame sequences — plus handy scripts to generate a Perlin accretion disk and preprocess NASA EXR star maps. It’s the sort of technical playground that shows real GPU know‑how and produces striking renders, but the experience is experimental: you must manually fetch assets, run preprocessing scripts, and there are no builds, benchmarks or accuracy notes to help anyone reproduce or compare results.
Achieves 92,000x memory savings versus fine grids using rotated ensemble averaging.
First GPU-accelerated poker solver, free when PioSolver costs hundreds.
CUDA pipeline hits 60 FPS on 45MP RAW files, competing with Darktable.
C++ rigid body simulation with end-to-end automatic differentiation for ML.