Skip to content

bump to v1.4.0

Latest

Choose a tag to compare

@sinhakrishnendu sinhakrishnendu released this 23 May 10:04

BABAPPAlign v1.4.0

This release adds automatic hardware accelerator selection for BABAPPAlign across CUDA, Apple Silicon Metal/MPS, and CPU.

BABAPPAlign now uses --device auto by default and selects the fastest usable backend in this order:

  1. CUDA
  2. Apple Silicon Metal/MPS
  3. CPU fallback

Each accelerator is checked with a small runtime tensor probe before use, so systems where PyTorch reports a backend but cannot actually execute on it will safely fall back to CPU with a warning.

Highlights

  • Added Apple Silicon Metal/MPS support
  • Added automatic CUDA → MPS → CPU device selection
  • Added runtime accelerator probing for safer backend selection
  • Updated babappalign and babappascore CLIs to support:
    • --device auto
    • --device cpu
    • --device cuda
    • --device mps
  • Removed Conda cpuonly pin to allow accelerator-capable PyTorch builds
  • Updated README and installation documentation
  • Cleaned release packaging metadata and artifacts
  • Added device-selection tests

Validation

Validated locally on Apple Silicon:

  • --device auto selected mps
  • Protein alignment completed successfully on MPS
  • Codon alignment completed successfully on MPS
  • babappascore matrix generation completed successfully on MPS
  • Test suite passed: 6 passed

The affine-gap dynamic programming alignment core is unchanged. Hardware acceleration affects performance only, not alignment correctness.