Skip to content

Releases: NVIDIA-Merlin/HierarchicalKV

HierarchicalKV 0.1.0-beta.12

13 Jun 16:34
Compare
Choose a tag to compare
Pre-release
v0.1.0-beta.12

[fix] Fix init_bucket failure caused by max_hbm being smaller than sl…

HierarchicalKV 0.1.0-beta.11

20 May 19:08
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 11th pre-release of HierarchicalKV!

What's Changed

  • Add GDPR info to footer by @mikemckiernan in #186
  • Allow changing the reserved keys by @jq in #191
  • [Revert] "[opt] Allocate hbm uniformly for buckets to avoid fragmentation." by @rhdong in #192

New Contributors

  • @jq made their first contribution in #191

Full Changelog: v0.1.0-beta.10...v0.1.0-beta.11

HierarchicalKV 0.1.0-beta.10

23 Apr 01:37
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 10th pre-release of HierarchicalKV!

What's Changed

Full Changelog: v0.1.0-beta.9...v0.1.0-beta.10

HierarchicalKV 0.1.0-beta.9

04 Mar 19:02
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 9th pre-release of HierarchicalKV!

What's Changed

New Contributors

Full Changelog: v0.1.0-beta.8...v0.1.0-beta.9

HierarchicalKV 0.1.0-beta.8

07 Dec 20:44
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 8th pre-release of HierarchicalKV!

What's Changed

Features

Bug Fix

  • [Fix] make thrust temp memory allocation managed by HKV allocator. by @rhdong in #178

Optimization & Refactoring

  • [Opt] optimize kernels of find_or_insert, insert_or_assign, hybrid mode. by @jiashuy in #164
  • [opt] Allocate hbm uniformly for buckets to avoid fragmentation. by @LinGeLin in #181

Full Changelog: v0.1.0-beta.7...v0.1.0-beta.8

HierarchicalKV 0.1.0-beta.7

10 Oct 08:12
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 7th pre-release of HierarchicalKV!

What's Changed

Features

  • [Feat] Support three new evict strategy(lfu, epoch_lfu, epoch_lru) by @rhdong in #152
  • [Feat&Opt] triple-group lock by @rhdong in #165
  • [Feat] assign score API by @rhdong in #167
  • [Feat] support c++11/c++14 compile by @evanrang in #172
  • [Feat] add bazel build script by @Mr-Nineteen in #173

Bug Fix

  • [Fix] fixup the call to tlp_v2_upsert_and_evict due to error on cuda11.2. by @jiashuy in #159
  • [Fix] Attempt to fix GPU/CPU race condition of the memory pool test. by @bashimao in #161
  • [Fix] no update score for existing keys randomly by @rhdong in #171

Optimization & Refactoring

  • [Opt] Optimize insert_and_evict API using pipeline and TLP. by @jiashuy in #157
  • [Opt] Optimize assign API using kernel level pipeline and TLP on HBM. by @jiashuy in #160
  • [Opt] Support Sm70 on V100 by @rhdong in #169
  • [Refactor] optimize the accum by new algorithm by @rhdong in #168
  • [CI] optimze bazel compile guidance by @rhdong in #175

New Contributors

  • @evanrang made their first contribution in #172

Full Changelog: v0.1.0-beta.6...v0.1.0-beta.7

HierarchicalKV 0.1.0-beta.6

28 Jul 03:15
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 6th pre-release of HierarchicalKV!

What's Changed

Features

  • [Feat] remove all of the cudaMallocManaged call by @rhdong in #156
  • [Feat] make allocator customizable by @rhdong in #145

Bug Fix

  • [Fix] build merlin target add group_lock.hpp by @Mr-Nineteen in #155
  • [Fix] Support value type of different size for pipeline lookup kernel. by @jiashuy in #151

Full Changelog: v0.1.0-beta.5...v0.1.0-beta.6

HierarchicalKV 0.1.0-beta.5

24 Jul 06:20
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 5th pre-release of HierarchicalKV!

What's Changed

Features

  • [Feat] Supportinsert_and_evict async version by @rhdong in #146

Bug Fix

  • [Fix] dead lock when keys are not unique. by @rhdong in #141
  • [Fix] the offset of keys when init bucket; unit test about bucket size. by @jiashuy in #148
  • [Fix] bad data consistency on Customized Strategy by @rhdong in #149
  • [Fix] rehash dead loop on specific MAX_CAPACITY. by @rhdong in #154

Optimization & Refactoring

  • [Opt] Using filter and kernel level pipeline to optimize lookup kernels by @jiashuy in #136
  • [Opt] let LRU mode use device clock by @rhdong in #137
  • [CI-fix] Just let CI env fail as UT fails by @rhdong in #139
  • [Benchmark]Update to reflect new default benchmark settings by @Quentin-Anthony in #142
  • [Benchmark] Add export_batch and export_batch_if benchmark by @rhdong in #140
  • [Opt] Add type check on key_type and score_type by @rhdong in #153

New Contributors

Full Changelog: v0.1.0-beta.4...v0.1.0-beta.5

HierarchicalKV 0.1.0-beta.4

28 May 03:57
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 4th pre-release of HierarchicalKV!

What's Changed

Features

  • [Feat] Support set_max_capacity API to dynamically control the max_capacity by @Lifann in #117
  • [Feat] find and find_or_insert with return values' addresses by @rhdong in #122
  • [Feat] template the erase_if and export_batch_if API by @Lifann in #132

Bug Fix

  • [Fix] add back the title for one benchmark by @rhdong in #124
  • [Fix] benchmark 'unsupport API' by @rhdong in #129
  • [Fix] Fixed FlexPinnedBuffer destructor by @LinGeLin in #130

Optimization & Refactoring

  • [Opt] rewrite the benchmark to test each API separately. by @jiashuy in #113
  • [CI] By default, bazel build HKV in C++ 17 mode by @Mr-Nineteen in #115
  • [Opt]Use the corresponding stream by @LinGeLin in #119
  • [Refactor] lock free with Locked key by @rhdong in #120
  • [Refactor] optimize the assign and find_or_insert by new algorithm by @rhdong in #121
  • [Opt] optimize bucket struct to improve cache L1/L2 hit rate. by @rhdong in #123
  • [Opt] remove cudaHostAllocWriteCombined to avoid exception on some scenarios. by @rhdong in #131

New Contributors

HierarchicalKV 0.1.0-beta.3

11 Apr 00:34
Compare
Choose a tag to compare
Pre-release

Release Notes

This is the 3rd pre-release of HierarchicalKV!

Changes

  • [Feat] Support insert_and_evict, which enables trustable insert behavior when the table is already full
  • [Feat] Support find_or_insert and assign APIs
  • [Feat] Support Bazel build
  • [Opt] Optimize the table HBM/HMEM consumption for small-size tables.
  • [Opt] set slice size according to the max capacity.
  • [Feat] Set bucket number to the min needed for saving mem if no rehash
  • [Fix] Temporarily revert the constant memory for Table structs

Thanks to our Contributors

@bashimao @jiashuy @Lifann @mikemckiernan @Mr-Nineteen and @rhdong