Skip to content

glmbayes 0.9.5 — OpenCL enhancements

Choose a tag to compare

@knygren knygren released this 18 May 19:55
· 62 commits to main since this release

This release is primarily about OpenCL: clearer kernel/program layout, safer assembly of the GPU program from explicit fragments, and a binomial OpenCL likelihood fix so aggregated binomial data (cbind(successes, failures) / trial counts) matches the CPU semantics.

Highlights

  • OpenCL sources (inst/cl): trimmed unused material, consolidated kernels and fragments, aligned layout with the prelude / nmath / family-kernel structure documented in inst/cl/README.md.
  • Program assembly: full OpenCL program is built from explicit pieces (global header, nmath closure, family/link kernels) instead of ad hoc concatenation—easier to audit and keep in sync with CPU paths.
  • Binomial OpenCL bugfix: f2_f3 binomial kernels now use the same proportion × trial-count logic as dbinom_glmb on CPU (fixes envelope / PLSD issues on menarche-style data).
  • Tests: expanded testthat coverage for OpenCL paths (plus Cleveland/menarche-style cases).
  • CRAN: OpenCL testthat blocks also use skip_on_cran() so CRAN machines don’t run heavy parallel/GPU tests (avoids misleading CPU vs elapsed NOTES); OpenCL tests still run when you build with OpenCL locally or on CI.

Details for 0.9.5 and 0.9.4: see NEWS.md.

install.packages("glmbayes")