Releases: NVIDIA-Merlin/HierarchicalKV
HierarchicalKV 0.1.0-beta.12
v0.1.0-beta.12 [fix] Fix init_bucket failure caused by max_hbm being smaller than sl…
HierarchicalKV 0.1.0-beta.11
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
Full Changelog: v0.1.0-beta.10...v0.1.0-beta.11
HierarchicalKV 0.1.0-beta.10
Release Notes
This is the 10th pre-release of HierarchicalKV!
What's Changed
- [fix] Removed the thread_local attribute of global_epoch by @LinGeLin in #184
- [Opt]Add virtual base class HashTableBase by @LinGeLin in #185
- [CI/CD]rename cuda defs by @Mr-Nineteen in #187
Full Changelog: v0.1.0-beta.9...v0.1.0-beta.10
HierarchicalKV 0.1.0-beta.9
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
Release Notes
This is the 8th pre-release of HierarchicalKV!
What's Changed
Features
Bug Fix
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
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
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
Release Notes
This is the 5th pre-release of HierarchicalKV!
What's Changed
Features
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
andexport_batch_if
benchmark by @rhdong in #140 - [Opt] Add type check on
key_type
andscore_type
by @rhdong in #153
New Contributors
- @Quentin-Anthony made their first contribution in #142
Full Changelog: v0.1.0-beta.4...v0.1.0-beta.5
HierarchicalKV 0.1.0-beta.4
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
andfind_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
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
andassign
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