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.
28 lines
1.3 KiB
Python
28 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
"""Recreate the bounded 2MASS samples used in this investigation."""
|
|
import hashlib
|
|
from pathlib import Path
|
|
|
|
repo = Path(__file__).resolve().parents[2]
|
|
source = repo / "assets/2mass/processed/all_sky"
|
|
multi = Path("/tmp/gr-hip-catalog-multi")
|
|
single = Path("/tmp/gr-hip-catalog-subset")
|
|
multi.mkdir(exist_ok=True)
|
|
single.mkdir(exist_ok=True)
|
|
for name in ["tile_ra252_dec048.csv", "tile_ra262_dec060.csv", "tile_ra082_dec090.csv"]:
|
|
raw = (source / name).read_bytes()
|
|
rows = raw.decode().splitlines()
|
|
n = min(8192, len(rows) - 1)
|
|
sample = ("\n".join([rows[0]] + [rows[1 + i * (len(rows) - 1) // n]
|
|
for i in range(n)]) + "\n").encode()
|
|
(multi / name).write_bytes(sample)
|
|
if name == "tile_ra252_dec048.csv":
|
|
(single / name).write_bytes(sample)
|
|
(Path(__file__).parent / "catalog_8192.csv").write_bytes(sample)
|
|
small = "\n".join([rows[0]] + [rows[1 + i * (len(rows) - 1) // 256]
|
|
for i in range(256)]) + "\n"
|
|
(Path(__file__).parent / "catalog_256.csv").write_text(small)
|
|
print(name, "source_stars", len(rows) - 1, "sampled", n,
|
|
"source_sha256", hashlib.sha256(raw).hexdigest(),
|
|
"sample_sha256", hashlib.sha256(sample).hexdigest())
|