Commit Graph
60 Commits
Author SHA1 Message Date
wyj e1ec480669 HIP: accelerate PSF accumulation and restore parallel producers
Cooperate across 32 lanes per PSF and use two completion-protected staging slots with complete batch timing. Restore coarse OpenMP event production while serializing shared GPU submissions and direct fallback boundaries.

Add bounded benchmarks, streaming and renderer regressions, and preserve validation evidence and ownership documentation.
2026-09-06 21:38:53 -04:00
wyj 265d7b95d5 Fix: reject invalid inverse lens-map weights
Check spherical area weight sums against a fixed 1e-8 tolerance and normalize accepted weights before interpolation. Skip invalid images in both catalog paths.

Add a thin-triangle regression for both parities, document the measured tolerance margin, and refresh HDR fixtures with strict comparisons restored.
2026-09-06 17:47:09 -04:00
wyj 8741597d9d Ray: Balance movie tracing with dynamic chunks
Schedule ray-pool advancement in dynamic chunks of 32 slots to distribute frame-grouped active rays across workers while preserving stable endpoint destinations.

Add 1/4/16-thread lens-map equivalence coverage and document schedule comparisons with complete commands, input data and original logs. The 393-frame 64x36 production-source benchmark improves from 62.13 to 38.69 seconds with byte-identical PNGs and lens maps. Release and Debug test suites pass.
2026-09-06 15:56:37 -04:00
wyj 8cf6106127 Fix: Skip empty movie refinement generations
Allow frames to finish refinement independently without aborting the movie. Report genuine refinement errors with generation and frame identifiers, and clarify the sample batch contract.

Add a two-frame Schwarzschild regression covering unequal refinement progress. Validated Release and Debug make test suites and 640x360 rendering of the final eight free-fall frames in both builds.
2026-09-06 08:10:29 -04:00
wyj b69c9cfd45 Feat: generate freely falling Schwarzschild camera tracks
Integrate timelike geodesics and Fermi-Walker tetrads in ingoing Kerr-Schild coordinates, sampled at a configurable proper-time cadence.

Add movie-track-samples to preserve CSV events as frames. Document usage and singularity guards, and cover analytic orbits, transport convergence, sampling, and CSV rendering.
2026-09-06 05:56:51 -04:00
wyj 8d011b7ec5 Doc: require English commit messages 2026-09-06 04:01:38 -04:00
wyj 6ae223a642 Feat: support general single-frame cameras and add a near-horizon example 2026-09-06 04:00:21 -04:00
wyj 94149d75e4 Doc: reorganize bilingual READMEs and build guide with reference renders 2026-09-06 02:03:50 -04:00
wyj a18ebfbf1a HIP: record direct atomic PSF timings 2026-09-05 22:13:14 -04:00
wyj 7a80086f63 Feat: add initial HIP PSF backend 2026-09-05 04:23:57 -04:00
wyj e48c490337 Doc: update GPU PSF acceleration status 2026-09-05 03:47:42 -04:00
wyj e8bc553128 DOC: preserve complete benchmark output 2026-09-05 03:22:15 -04:00
wyj 92d8d294b5 Bench: record PSF event sink overhead 2026-09-05 03:20:40 -04:00
wyj 2a03cbf724 Frame: buffer cached PSF events per worker 2026-09-05 03:06:46 -04:00
wyj 4953775cdd Test: add fixed PSF image references 2026-09-04 20:28:54 -04:00
wyj ab56e23fc9 Doc: document reusable lens maps 2026-09-03 20:58:20 -04:00
wyj d43ad262fc CLI: document lens map options 2026-09-03 20:55:08 -04:00
wyj 1ee3a8cc26 Feat: add reusable lens map files 2026-09-03 19:46:05 -04:00
wyj 1a54e59eb4 Output: add CLI help text 2026-09-03 19:24:32 -04:00
wyj dd8cf29dac Doc: add GPU PSF acceleration plan 2026-08-31 15:26:47 -04:00
wyj b2ac642de7 Fix: correct ICRS camera orientation 2026-08-31 00:13:37 -04:00
wyj e8deb1ff19 Optics: add PSF luminance cutoff 2026-08-30 15:10:14 -04:00
wyj 9e23c3fcdb Optics: iterate circular PSF rows directly 2026-08-30 15:06:53 -04:00
wyj 8662064044 Optics: parameterize PSF relative tail 2026-08-30 15:05:40 -04:00
wyj ff2ba43333 Output: simplify HDR output naming 2026-08-30 02:35:09 -04:00
wyj 19f3a91b7f Makefile: build all backends with optional HDR output 2026-08-30 02:29:41 -04:00
wyj 09923b9b18 Frame: localize shadow boundary refinement 2026-08-29 22:58:04 -04:00
wyj e47005ea6b Optics: bound cache-only bright PSF splats 2026-08-29 20:02:45 -04:00
wyj 6f8ec50c64 Makefile: add Debug build diagnostics 2026-08-29 19:23:50 -04:00
wyj 9e22d59213 Frame: optimize midpoint lookup 2026-08-29 19:05:43 -04:00
wyj 6cb4184b54 Output: expand verbose render progress 2026-08-29 16:26:44 -04:00
wyj d1320fffc4 Revert: remove triangle quality refinement 2026-08-29 03:26:17 -04:00
wyj 451b700b32 Frame: guard sliver-producing refinement splits 2026-08-29 02:06:06 -04:00
wyj b95c6579bd Frame: gate fold refinement by Jacobian 2026-08-29 01:17:47 -04:00
wyj 4c575fa8b5 Frame: refine critical lens regions 2026-08-29 00:44:20 -04:00
wyj 48dcf4e707 Frame: add adaptive mesh refinement 2026-08-28 23:06:53 -04:00
wyj 4aa5f6666a Output: validate image format before rendering 2026-08-28 20:38:39 -04:00
wyj d5d21c7659 Output: write HDR FITS with camera metadata 2026-08-28 19:56:07 -04:00
wyj 5fd8e3819d Spacetime: free analytic render worker count 2026-08-28 17:20:00 -04:00
wyj 9b23f3717e Output: Add render progress logging 2026-08-28 16:19:01 -04:00
wyj 69819bb24f Optics: parallelize PSF cache construction 2026-08-28 15:32:06 -04:00
wyj 7af3a52cb9 Optics: scale PSF cache radius by parameters 2026-08-28 14:43:21 -04:00
wyj 80b891d2c8 Optics: cache pixel-area Moffat kernels 2026-08-28 13:53:06 -04:00
wyj a71180706f DOC: update video_rendering_plan.md 2026-08-28 12:54:58 -04:00
wyj 172738d932 Doc: record dense 2MASS tile benchmark 2026-08-27 19:29:55 -04:00
wyj 5d80bb1b51 Makefile: tune default CFLAGS 2026-08-27 13:04:36 -04:00
wyj b0fdf1faca Output: default to PNG with PPM fallback 2026-08-27 04:25:45 -04:00
wyj 83dc05fd52 Observer: parameterize Schwarzschild camera view 2026-08-27 04:12:17 -04:00
wyj 457c0728b4 Catalog: parallelize all-sky tile prefetch 2026-08-27 03:53:45 -04:00
wyj d9f2c83b9f Frame: Dynamically balance catalog splats 2026-08-27 00:36:38 -04:00