Skip to content

Releases: bacpop/pp-sketchlib

Sketchlib v2.1.4

06 Jan 17:21
cfa6a49
Compare
Choose a tag to compare

Very minor update to remove the annoying mismatched versions warning

Also updated the CI to use CUDA 12.6

What's Changed

  • Fix broken PopPUNK link & replace with valid site by @ctb in #95
  • Remove the mismatched version warning by @johnlees in #97

New Contributors

  • @ctb made their first contribution in #95

Full Changelog: v2.1.3...v2.1.4

Sketchlib v2.1.3

22 Mar 16:51
adf033f
Compare
Choose a tag to compare
  • Replace robin_hood hashmap (no longer maintained) with unordered_dense
  • Add local mode for testing/customising compilation
  • Fix efficiency of query sparse modes

What's Changed

Full Changelog: v2.1.2...v2.1.3

Sketchlib v2.1.2

19 Dec 17:15
7ee661b
Compare
Choose a tag to compare
  • Fix a previously undetected segfault when multithreaded
  • Hopefully(!) fix for new clang compilers

What's Changed

Full Changelog: v2.1.1...v2.1.2

Sketchlib v2.1.1

10 Jan 18:01
8c364ee
Compare
Choose a tag to compare

Small improvement to poor regressions, to fix a CI failure in PopPUNK

What's Changed

Full Changelog: v2.1.0...v2.1.1

Sketchlib v2.1.0

22 Nov 14:09
bdb9f8d
Compare
Choose a tag to compare
  • Remove armadillo from the code entirely in favour of Eigen
  • Actually link BLAS (used in the regression), LAPACK not actually needed
  • Use a new regression solver, see 'Normal equations' under https://eigen.tuxfamily.org/dox/group__LeastSquares.html
  • Solve issues with bool in highfive code, now uint8_t explicitly used
  • Use KMeansRex, as the kmeans in armadillo is now removed

nvcc now sees the eigen code and throws up a few warnings, but this doesn't seem to be causing as many problems as it used to

What's Changed

  • BLAS linking; CI fix; better message for deprecated function by @johnlees in #84

Full Changelog: v2.0.1...v2.1.0

Sketchlib v2.0.1

24 Oct 11:44
c61ee1a
Compare
Choose a tag to compare

Minor update which should not change/break the API, adds a few small new features. #82 simplifies and parallelises sparsification by a threshold (and removes kNN).

What's Changed

New Contributors

Full Changelog: v2.0.0...v2.0.1

Sketchlib v2.0.0

29 Apr 13:59
9c416f7
Compare
Choose a tag to compare

This is a new major version due to overhaul of the CLI.

New features:

  • CLI is now written with docopt, and should be more straightforward to use (#72).
  • New self sparse query, which works with CUDA too (#67). Used in mandrake.

Bug fixes:

  • Sparsification functions fixed and added to tests.

Other:

  • Enable pip install and pushing to pypi (#70)
  • Adding docker build and test on buildkite (#70)

Sketchlib 1.7.4

22 Jul 16:23
1d31abf
Compare
Choose a tag to compare

New features:

  • Sketching kernel overhaul: should be faster, and supports read datasets larger than the device memory size (#63 #64)
  • Increase the size of the countmin table on GPUs to 2^30 columns, takes up about 30% of a 3090's memory (#64)
  • Better progress meter for read sketching (#64)
  • Save whether the DB was calculated using the reverse complement strand (#65)

Bug fixes:

  • Fix indices for reference vs query distance calculations, hit when reaching ~100k queries (#64)
  • If sketching craps out early, save the successful sketches up until that point to the HDF5 DB without corrupting it, so it can be joined later. (#64)

Other:

  • Refactor the CUDA code a bit, putting classes into their own files. (#64)

Sketchlib 1.7.3

18 Jun 13:00
52664e1
Compare
Choose a tag to compare

New features:

  • Better parallel efficiency for distance calculation on a CPU (#62)

Bug fixes:

  • Progress meter caused crash with small numbers of distances (#62)
  • Smoother progress meter for distances (#62)
  • Remove device reset which could cause problems with both GPU dists and a GPU graph in poppunk (#62)

Sketchlib 1.7.2

08 Jun 10:32
4bc635d
Compare
Choose a tag to compare

New features:

  • Progress bars for main CPU functions #61
  • Handle Ctrl-C in both CPU and GPU functions #38

Bug fixes:

  • Deal with errors during sketching gracefully #61

Other:

  • Change CMakeLists to work with gcc on OS X (to allow use of openmp)