Skip to content
Tags give the ability to mark specific points in history as being important
This project is mirrored from https://*****@github.com/RWTH-OS/memkind.git. Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
  • v1.2.0
    * Thu Aug 18 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.2.0
    - memkind_create() and memkind_ops have been deprecated (moved to
      memkind_deprecated.h).
    - Deprecated the headers from memkind/internal and added compile-time
      warnings to them (plan is to remove those from rpm packages).
    - autohbw files have been moved to memkind/autohbw directory.
    - API decorators (memkind_malloc_pre, memkind_malloc_post etc.) now
      need to be enabled with configure-time option --enable-decorators.
    - Allocation time optimizations with up to 20% improvement.
  • v1.1.1
    * Wed Jul 13 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.1.1
    - Performance improvement for memkind_free() in scenario where NULL
      was passed as kind (reduced by 60%).
    - Introduced integration with Travis CI.
    - Fixed issue where memory returned from calloc was not filled with zeroes
      when using memkind_pmem kinds.
    - Fixed issue where interleave kinds was failing on systems without
      Transparent Huge Pages module configured.
    - Resolved several issues that was causing compilation errors on some systems.
    - test/test.sh is now able to detect system configuration, and run only those
      tests which requirements are meet.
    - Added gtest to repo to avoid downloading it during build proecess.
  • v1.1.0
    * Mon May 23 2016 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v1.1.0
    - Implemented algorithm for detecting high-bandwidth memory on Intel Xeon Phi X200
      without parsing PMTT.
    - PMTT-parsing service has been removed.
    - memkind struct definition from memkind.h has been replaced by forward
      declaration. Definition has been moved to /internal/memkind_private.h and
      shouldn't be considered as part of library interface anymore.
    - Performance improvment for hugetlb kinds (check_available() is no longer
      parsing sysfs every time).
    - Performance fix by removing --enable-safe from jemmaloc build flags.
    - New tests for validating high-bandwidth memory detection has been added.
    - AFTS has been split into two groups: memkind-afts.ts and memkind-afts-ext.ts,
      based on amount of required memory (for details view test/README).
  • v1.0.0
    c78715a8 · Update ChangeLog to 1.0.0 ·
    * Thu March 03 2016 Artur Koziej <artur.koziej@intel.com> v1.0.0
    - hbwmalloc.h released as stable API.
    - Introduce API standards: STANDARD API, NON-STANDARD API, EXPERIMENTAL API.
    - Introduce memkind versioning API.
    - Fix type names in hbwmalloc API.
    - Change error codes to POSIX standard ones in hbwmalloc API.
    - Move API headers to include directory.
    - Move NON-STANDARD API, or EXPERIMENTAL API to include/memkind/internal directory.
    - New man page (memkind_interleave.3) describing interleave kind.
    - Significant documentation improvement.
    - Performance fix for jemalloc - significantly decrease of library initialization time.
    - Enforce 2MB alignment in jemalloc due to the Linux kernel bug (munmap() fails for huge pages, when the size is not aligned).
    - Move to systemd defined service (memkind.service), drop init.d script.
    - New rpm layout (memkind and memkind-devel).
    - Remove false dependency on OpenMP.
    - Extend test base for stress, longevity and initialization performance tests.
    - Fix memory leak in ctl_growk().
    - Rename namespace: hbwmalloc -> hbw.
    - Rename class: hbwmalloc_allocator -> allocator.
  • v0.3.0
    * Thu Oct 15 2015 Krzysztof Kulakowski <krzysztof.kulakowski@intel.com> v0.3.0
    - Added two new kinds: MEMKIND_INTERLEAVE and MEMKIND_HBW_INTERLEAVE
      (for details please take a look at man/memkind.3)
    - Added support for file-backed memory heaps
      (for details please take a look at man/memkind_pmem.3)
    - Added autohbw library, that intercepts the standard heap allocations,
      which let use high-bandwidth memory without modifying existing codebase
      (for details please take a look at examples/autohbw_README)
    - jemalloc is now, staticly linked, internal component of memkind RPM
      instead of rpm dependency.
    - Added memkind_allocated example which demonstrates usage of memkind
      with alignas() alignment specifier introduced in C++11
      (for details please take a look at examples/README)
    - Added support for using thread local storage to improve performance in
      multithreaded applications (enabled by configure time option: --enable-tls)
    - Added posibility to set number of jemalloc arenas per kind by
      configure time parameter or enviromental variable
      (for details please take a look at MEMKIND_ARENA_NUM_PER_KIND section
      of man/memkind.3).
    - Added decorators to the memkind allocation APIs.
      These are weak symbols (pre and post for each API) which can modify
      the input and output of each of the calls.
    - Significantly extended test base (new groups of tests: performance,
      multithreaded, PMTT, nagtive, stress).
  • v0.2.2
    Tagging version 0.2.2 which contains bug fix for huge allocations using dynamic kinds
  • v0.2.1
    fixes for release 0.2.0
  • v0.2.0
    * Fri Jan 8 2015 Christopher Cantalupo <christopher.m.cantalupo@intel.com> v0.2.0
    - Bumped memkind ABI version to 0:1:0.
    - Removed memkind_get_kind_for_free() from externally facing API's.  Instead if
      memkind_free() is called with zero passed for the kind then
      memkind_get_kind_for_free() is called internally.
    - Moved to single callback memkind_partition_mmap() to simplify
      jemalloc modifications.
    - Added hooks for setting file descriptor and offset for mmap enabling
      file-backed memory kinds.
    - Added a void pointer called "priv" to memkind structure for storing data for
      user-defined kinds.
    - Removed call to sched_getcpu(), now thread id is hashed to determine the arena
      index.
    - Fixed several issues with init.d/memkind script and spec file scriptlets that
      are exposed by SLES-12.
    - Introduced an example library called numakind.
      The numakind library will allocate from the closest NUMA node to a thread as
      measured when that thread makes its first allocation call.
    - Fixed error handling in memkind_gbtlb_mmap() that could cause a segfault when
      gigabyte pages are not available.
    - Added tests for PMTT parser.
    - Removed binary mock PMTT table from source code, replaced it with a hexdump.
    - Fixed a number of issues in test scripts which were suppressing errors.
    - Removed unnecessary includes from header files.
    - Better error checking in example code.
    - Documentation update and clean up.
  • v0.1.0
    Initial release to github