Skip to content

v0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Oct 03:50
· 10 commits to main since this release
e5310e8

Release notes for v0.4.0

  • Renames amsim to knoop. Hip-hip-hooray!
  • Fixes critical bug in CMake routine where libaec and libz were dynamically linked dependencies, which means knoop would not run unless those are installed. Existing releases remain broken unless installed in an environment which has these dependencies.
  • Refactors core/random.h (formerly core/rng.h) to use Boost's Xoshiro256pp instead of the native Xoshiro256ss random number generator, which is now removed.
  • Reworks mating model by adding stall-based termination criterion and adopting sensible default values; --tolerance now controls how far below noise floor the algorithm should aim to be (see below).
  • Renames flag --n-threads to --n-workers for compatibility with replicate multithreading (see below).
  • Adds benchmarking functionality via Google Benchmark. Some mock benchmarks are implemented in benchmarks/benchmarks.cc and are compiled into the target executable benchmarks.
  • Adds support for multithreaded replicate simulations in workers via OpenMP, made available through option --n-threads-per-worker.
  • Adds realistic empirical perturbations to spousal correlation objective each generation via generative model; this functionality can be disabled via the new flag --exact.
  • Optimises UpdateGenome class by precomputing Bernoulli threshold computation instead of reinvoking at word boundary. This led to significant speedups, making UpdateGenome about as fast as GenerateHaplotypes.
  • Adds selection of sample probands via the --include flag; samples can now be customised to only include a select subset of members.
  • Adds Doxyfile and a little bit of documentation (will be completed incrementally).
  • Renames several files and modules for clarity.

Full Changelog: v0.3.4...v0.4.0