Skip to content

v0.0.6 — one reference × many queries (--query-list), hits-estimate - #7

Closed
alejandrogzi wants to merge 3 commits into
v0.0.5from
v0.0.6
Closed

alejandrogzi wants to merge 3 commits into
v0.0.5from
v0.0.6

Conversation

@alejandrogzi

Copy link
Copy Markdown
Member

Stacked on #6 (v0.0.5), which is stacked on #5 (v0.0.4). Merge and tag in order; this PR then retargets to master.

Syncs the tested experimental tree (alejandrogzi/hspZ experimental @ 29e9e43) into production with the production packaging kept (file headers, clap attribute). Sources are experimental's byte-for-byte except those.

What changes

  • --query-list: one reference, many queries in one process. hspz run --reference ref.fa --query-list queries.txt --output OUT builds and uploads each reference bin once for all listed queries; every query keeps its own plan, cap, seed batches, dedup scopes and -D history, so its output under OUT/000001/… is byte-identical to a standalone run. -Z gives one archive per job; OUT/queries.tsv records job → path, size, sha256, blocks, units, HSPs, completion. This release: W=1; identical reference bins required across jobs; -B 0, --kegalign-bins, --from-manifest rejected in batch mode; a failing job aborts the batch.
  • hspz hits-estimate (CPU only). Exact per-work-unit seed-hit counts before any GPU work (matches the --time ledger on the whole genome, 6.12e12 hits); a planning/diagnostic tool.

Measurements (Delta L4, W=1, hg38 reference, ABBA, per-query outputs byte-identical to standalone)

query list standalone × N (a / b) --query-list (a / b) aggregate wall
100 × 5 Mbp 10,400 / 11,581 s 1,899 / 1,891 s −82%
3 × 5 Mbp 311 / 313 s 117 / 120 s −62%
chr19 + chr18 + chr11 (61–121 Mbp) 1,042 / 1,042 s 1,014 / 1,014 s −2.6% (GPU-bound)

Exactness: 149 unit tests; ZLUDA gate with three queries incl. several blocks, masked/N + empty output and duplicate record names, -D -Z archives and reversed list order; 100/100 jobs identical on the L4 in both reps; frozen single-query digests unchanged. Reviews: grok-4.6 PORT WITH FIXES (all applied).

Release check: Cargo.toml version 0.0.6 (release.yml asserts tag == version); CLI reference regenerated.

🤖 Generated with Claude Code

@alejandrogzi

Copy link
Copy Markdown
Member Author

Superseded: rounds 83-96 are collapsed into a single v0.0.4 release (one branch, one changelog entry, one PR). Nothing here is dropped — the replacement PR carries this branch's tree plus the on-disk reference index and multi-GPU batching.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant