Skip to content

scmBayesPost v0.3.1

Choose a tag to compare

@andrebonfrer andrebonfrer released this 01 Jun 11:13
· 11 commits to main since this release

scmBayesPost v0.3.1 — Hotfix release

What was broken

Two regressions introduced in v0.3.0 affected large-dataset runs:

  1. Pre-sampler hang: .precompute_XtWX_blocks() used Matrix::which()
    to identify non-zero rows per column block, scanning up to 292k rows
    for each of 1879 treated unit blocks before a single Gibbs iteration
    ran. On the motivating dataset this caused a 5-10 minute hang at
    startup and effectively made the sampler unusable.

  2. AWS instance crash: the RhpcBLASctl threading block could crash
    R on non-standard BLAS configurations (observed on AWS r-instance
    types).

What changed

  • .precompute_XtWX_blocks() now converts X_block to CSC format once
    and reads row indices directly from the column pointer arrays
    (X_csc@p, X_csc@i). Total work is O(nnz) rather than
    O(N_stacked * K * J0). Precompute completes in seconds.

  • RhpcBLASctl block wrapped in tryCatch — BLAS configuration
    failures are caught silently and the sampler continues normally.

Installation

remotes::install_github("andrebonfrer/scmBayesPost@v0.3.1")