memkind

Overview

Memkind is an easy-to-use, general-purpose allocator built on top of jemalloc which emphasizes fragmentation avoidance and scalable concurrency support. Memkind helps to fully utilize various kinds of memory available in the system, including DRAM, NVDIMM, and HBM, mostly by adding one additional argument - destination kind of memory – to standard malloc API calls. It also offers a transparent mode that allows memory tiering without any modification to the existing app, memory kinds based on file-backed memory on specified device or area supplied by the user, and much more.

Documentation

General:

High Bandwidth Memory:

Allocators:

Memtier:

Sources

Memkind is hosted on GitHub. To clone memkind repository, please run the following command:

$ git clone https://github.com/memkind/memkind.git

You could also download latest packed sources using links below:

Needed dependencies and detailed build instructions can be found in the memkind's readme file.

    Blog entries

    Blog posts related to memkind can be found using the dedicated blog tag.

    Announcements

    All news and announcements (e.g., about recent releases) related to memkind can be found here.

    Contact us

    Your participation, feedback and questions are welcome. For more information on this library, contact us:

    • Create an issue in our GitHub issues database. This is a good way to report problems or request new features.
    • Join our Google Group to participate in discussions on memkind, including the design of the API and future directions.
    • Join our #pmem Slack channel

    The contents of this web site and the associated GitHub repositories are BSD-licensed open source.