Skip to content

Merge bb prefix - #12

Merged
jjschirle merged 10 commits into
masterfrom
merge-BB-prefix
Sep 4, 2026
Merged

jjschirle merged 10 commits into
masterfrom
merge-BB-prefix

Conversation

@jjschirle

Copy link
Copy Markdown
Collaborator

This PR merges the BB_prefix work into master, adding a substantially faster and more scalable implementation of Bayesian Blocks discretization for FastPIDC. This merge incorporates recent master changes, including HDF5 loading support, documentation updates, dependency cleanup, and the CUDA PUC memory-bounding changes.

Bayesian Blocks

  • Adds prefix-count-based Bayesian Blocks, avoiding repeated counting of observations within intervals during dynamic programming.
  • Adds a GPU-accelerated Bayesian Blocks backend using CUDA.
  • Supports CPU and CUDA BB backends through a common interface, preserving the existing Bayesian Blocks discretization interface.
  • Adds batched GPU execution so Bayesian Blocks can be applied efficiently across large numbers of genes without requiring all intermediate state to reside on the GPU simultaneously.
  • Adds explicit preparation/solution structures for Bayesian Blocks, separating preprocessing from the dynamic-programming solve.
  • Adds CLI support for selecting the Bayesian Blocks backend.

CUDA / memory handling

  • Retains the existing CUDA implementation of PUC while adding the new GPU Bayesian Blocks path.
  • Preserves adaptive GPU-memory-aware chunking for PUC calculations.
  • Uses storage-aware memory estimates when selecting GPU chunk sizes.

Tests

  • Adds CPU Bayesian Blocks tests.
  • Adds CUDA Bayesian Blocks tests.
  • Adds BB-specific numerical and benchmark tests.
  • Updates the main test suite to exercise the new discretization paths.
  • Existing CPU and CUDA tests continue to pass.

@jjschirle
jjschirle requested a review from aarmey September 4, 2026 19:43
@jjschirle
jjschirle merged commit 0cfc958 into master Sep 4, 2026
4 checks passed
@jjschirle
jjschirle deleted the merge-BB-prefix branch September 4, 2026 19:46
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.

2 participants