Skip to content
 
 

Repository files navigation

HMSDK

HMSDK stands for Heterogeneous Memory Software Development Kit and it is especially designed to support CXL memory, which is a new promising memory system based on a CXL(Compute Express Link) open industry standard.

The more explanation can be found at the wiki page.

Download

HMSDK consists of multiple git submodules so please download it as follows.

$ git clone --recursive --shallow-submodules https://github.com/skhynix/hmsdk.git

Building hmalloc (Rust)

The hmalloc library has been rewritten in Rust. You need a stable Rust toolchain, libjemalloc-dev, and libnuma-dev installed.

$ cd hmalloc-rs
$ cargo build --release

This produces:

  • hmalloc-rs/target/release/libhmalloc.so — drop-in replacement for the original C library
  • hmalloc-rs/target/release/hmctl — memory policy control tool

The public C API (hmalloc/include/hmalloc.h) is fully preserved for compatibility with existing applications using LD_PRELOAD or direct linking.

$ HMALLOC_JEMALLOC=1 cargo test -p libhmalloc

News

  • 2026-06-04: hmalloc rewritten in Rust for memory safety guarantees
  • 2025-11-03: HMSDK v4.0 is released
    • This release is for enhanced bandwidth and capacity expansion support
    • It also includes bwprof tool for system bandwidth profiling
  • 2025-01-21: libnuma supports weighted-interleaved allocation APIs
  • 2024-09-16: HMSDK v3.0 is released
    • Fully aligned with various open source projects, which allows us drop local patches
  • 2024-07-03: HMSDK v2.0 kernel patches have landed into upstream Linux kernel (available from v6.11)
  • 2024-04-19: numactl supports --weighted-interleave option
  • 2024-02-22: HMSDK v1.1 kernel patches have landed into upstream Linux kernel (available from v6.9)
  • 2023-12-27: HMSDK v2.0 released - support DAMON based 2-tier memory management
  • 2023-05-09: HMSDK v1.1 released - support bandwidth aware interleaving, user library and tools

License

The HMSDK is released under BSD 2-Clause license. Please see LICENSE file for details.

About

Heterogeneous Memory Software Development Kit

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages