Tags give the ability to mark specific points in history as being important
  • knem-1.1.4
    450b5f7c · Bump to 1.1.4 ·
    Release knem-1.1.4

    knem 1.1.4 (June 24th, 2020)

    • Fix driver build with Linux kernel up to 5.7. Thanks to Alaa Hleihel and Helmut Jarausch for patches, and to Dave Love for reports.
    • Add -m and -s options to knem_pingpong so that both processes may be created separately, for instance in different namespaces.
    • Add a knem.pc pkg-config file (only useful for cflags), thanks to Alex Margolin for the patch.

    Tarball for download knem-1.1.4.tar.gz

  • knem-1.1.3
    13f22b79 · Bump to 1.1.3 ·
    Release knem-1.1.3

    knem 1.1.3 (November 6th, 2017)

    • Fix driver build with Linux kernel up to 4.14.

    Tarball for download knem-1.1.3.tar.gz

  • knem-1.1.2
    344c24a8 · Bump to 1.1.2 ·
    Release knem-1.1.2

    knem 1.1.2 (February 18th, 2015)

    • Distribute the kernel driver under the GPLv2 license instead of dual BSD/GPL.
    • Fix dmaengine build with Linux kernel 3.18 and RHEL 7.1. Thanks to Alaa Hleihel for reporting issues and testing patches.
    • Fix driver build with early Linux 3.20 kernel snapshots.

    Tarball for download knem-1.1.2.tar.gz

  • knem-1.1.1
    7852080f · Bump to 1.1.1 ·
    Release knem-1.1.1

    knem 1.1.1 (February 24th, 2014)

    • Fix dmaengine build with Linux kernel 3.13.
    • Fix driver build when strict uid checking is enabled.
    • Check DMA channel alignment contraints and work around overzealous restrictions on buggy IOAT RAID platforms.

    Tarball for download knem-1.1.1.tar.gz

  • knem-1.1.0
    e231aa6b · Bump to 1.1.0 ·
    Release knem-1.1.0

    knem 1.1.0 (July 25th 2013)

    • Fix a possible crash when trying to access an non-existing region (bug introduced by overzealous check in 1.0.0 release).
    • Add KNEM_FLAG_NOTIFY_FD to queue asynchronous request completions in the file descriptor so that the application can poll/read there. See knem_io.h and knem-api.html for details. Thanks to Scott Atchley for his help.
    • Regions are now only accessible to processes belonging to the same user, by default. The new KNEM_FLAG_ANY_USER_ACCESS flag should be passed when creating the region to revert to the old behavior where all processes may access a declared region.
    • When reading context verbose stats from /dev/knem as non-root, list all contexts owned by the user.
    • It is now impossible to read (or clear) statistics through a file descriptor attached to a context.
      • Reading would get NOTIFY_FD completions instead.
    • Fix build with 3.9+ kernels where the dmaengine and idr interfaces have been cleaned up.
    • Fix bugs in the driver mmap error path.

    Tarball for download knem-1.1.0.tar.gz

  • knem-1.0.0   Tag release knem-1.0.0
    da507526 · Bump to 1.0.0 !!! ·
    Release knem-1.0.0

    knem 1.0.0 (October 8th 2012)

    • Fix build with 3.5+ kernels where kmap_atomic changed.
    • Fix build with 3.7+ kernels where MAX_ID_MASK was renamed into MAX_IDR_MASK.

    Tarball for download knem-1.0.0.tar.gz

  • knem-0.9.8   Tag release knem-0.9.8
    abc1abe1 · Bump to 0.9.8 ·
    Release knem-0.9.8

    knem 0.9.8 (February 21st 2012)

    • Add -O option to set minimal workset size in knem_pingpong, to work around caches.
    • Add knem_region_cost program to benchmark region create and destroy.
    • Some RCU cleanups in the driver.
    • Miscellaneous other improvements everywhere, especially in test programs.

    Tarball for download knem-0.9.8.tar.gz

  • knem-0.9.7
    6b6635be · Bump to 0.9.7 ·
    Release knem-0.9.7

    knem 0.9.7 (July 29th 2011)

    • Fix wrong locking when trying to mmap the status array twice.
    • Modify the requirements on the target kernel configuration to better cope with current distribution kernels.
    • Show driver configuration summary at the end of configure.
    • Add support for DMA engine on RHEL/CentOS 5 kernels.
    • Fix support for Linux kernel 3.x releases.
    • Minor documentation improvements.

    Tarball for download knem-0.9.7.tar.gz

  • knem-0.9.6
    609fe073 · Bump to 0.9.6 ·
    Release knem-0.9.6

    knem 0.9.6 (April 2nd 2011)

    • Small pinning performance improvement by removing useless locking.
    • Clarify the reporting of counters when reading /dev/knem.
    • Minor fixes in the driver build configuration.
    • Minor execution fixes to some tests program.

    Tarball for download knem-0.9.6.tar.gz

  • knem-0.9.5
    8bd74815 · Bump to 0.9.5 ·
    Release knem-0.9.5

    knem 0.9.5 (February 1st 2011)

    • Fix a race condition that could cause a crash when destroying a region when another process starts accessing it.
    • Fix a memory leak when submitting empty copies.
    • Switch to the new hwloc bitmap API by default.

    Tarball for download knem-0.9.5.tar.gz

  • knem-0.9.4
    e461e64d · Bump to 0.9.4 ·
    Release knem-0.9.4

    knem 0.9.4 (December 16th 2010)

    • Mark pages as dirty when we wrote to a region.
    • Fix check_kernel_headers.sh to properly execute as a shell script in a portable manner.

    Tarball for download knem-0.9.4.tar.gz

  • knem-0.9.3   Tag knem 0.9.3
    6df18c46 · Bump to 0.9.3 ·
    Release knem-0.9.3

    knem 0.9.3 (October 20th 2010)

    • Add new "bounded" variants of copy and inline copy ioctls which take an additional length parameter so as not to copy until the end of the given regions or iovecs.
    • Add an non-locally-pinned implementation of inline copy from a local region (write=1).
      • Disable by default for now since it seems slower in most cases, pinlocalread=0 in module parameters should be passed to enable it.
    • Fix build when configure is invoked with an absolute path.
    • Update documentation about the switch from SVN to GIT.

    Tarball for download knem-0.9.3.tar.gz

  • knem-0.9.2   Import SVN tag knem-0.9.2 in GIT
    35bc8285 · Tag knem 0.9.2 ·
    Release knem-0.9.2

    knem 0.9.2 (August 30th 2010, svn r529)

    • Many improvements to the HTML documentation and to the API comments in knem_io.h.
    • Add DKMS support to ease kernel module update when a new kernel is installed. See dkms.conf for details.
    • Fix the detection of hwloc at configure to properly support cross- compilation environments and installations in custom directories.
    • Use automake to implement make check.
    • Misc minor fixes.

    Tarball for download knem-0.9.2.tar.gz

  • knem-0.9.1   Import SVN tag knem-0.9.1 in GIT
    3472c67b · Tag knem 0.9.1 ·
    Release knem-0.9.1

    knem 0.9.1 (July 6th 2010, svn r488)

    The hwloc release.

    • When enforcing the kernel thread binding with the BIND_OFFLOAD ioctl, take precedence over the binding kernel module parameter.
    • When hwloc is available, place one process per core by default in knem_collectives instead of one per logical processor.
    • Add knem_offload_test to benchmark the overlapping and copying abilities when offloading the copy on a kernel thread on the same hyperthread, core, socket, ... using hwloc to traverse the topology up to its top.
    • Touch udev rules at the end of RPM package install so that udev reloads them properly once the rdma group was created.
    • Some documentation updates.
      • Split knem-api.html out of knem.html
    • Add REPORTING-BUGS, README.devel, TODO and autogen.sh to the tarball.

    Tarball for download knem-0.9.1.tar.gz

  • knem-0.9.0   Import SVN tag knem-0.9.0 in GIT
    b73019a5 · Tag knem 0.9.0 ·
    Release knem-0.9.0

    knem 0.9.0 (June 14th 2010, svn r465)

    • Wait for deferred callbacks to be done before unloading the module, otherwise the kernel may oops if some processes did not cleanup their resources yet.
    • Remove unneeded locking around idr_for_each.
    • Install a udev rule file in ${prefix}/etc/10-knem.rules so as to make /dev/knem group 'rdma' by default.
    • Add a knem_local_install script to install the module and udev rules in the standard directories so that modprobe finds the module and udev setups the device group automatically.
    • Add a RPM spec file to ease packaging through rpmbuild -tb .
    • Document the installation process.

    Tarball for download knem-0.9.0.tar.gz

  • knem-0.8.901   Import SVN tag knem-0.8.901 in GIT
    abb172b5 · Tag knem 0.8.901 ·
    Release knem-0.8.901

    knem 0.8.901 aka 0.9-rc1 (May 18th 2010, svn r447)

    The IDR release.

    • Fix process id management when the kernel has been running for a very long time (cookie generation may be wrong, causing the lookup to fail when submitting a copy).
    • Fix build on 2.6.34 kernel.
    • Increase the number of instances that may use knem at the same time:
      • When using a recent kernel (2.6.27 or later, with RCU-ready IDR), the actual limit is practically unreachable.
      • Otherwise, bump the limit to 1024 so that each process may use multiple contexts at the same time for different communicators or communication implementations.
    • Improve closing time by releasing resources asynchronously using a RCU callback.
    • Improve region lookup thanks to a IDR instead of a hash table when using a recent kernel (2.6.27 or later, with RCU-ready IDR).
    • Cleanup the allocation of region ids by using a IDA to make really sure two regions will never have the same id at the same time.
    • Applications now must open the device in write mode to get knem features, readers only get the ability to read statistics.
    • Only list other processes in verbose statistics if we have administrator privileges.
    • Add knem_collectives tool program to benchmark Nto1 and 1toN operations with multiple processes accessing a single memory region simultaneously.
    • Add knem_cost tool program to benchmark low-level operations.
    • Rename tools better.
    • Cleanup tools usage.
    • Miscellaneous code rework and improvements.
    • Update documentation and README.

    Tarball for download knem-0.8.901.tar.gz

  • knem-0.8.1   Import SVN tag knem-0.8.1 in GIT
    a47be49c · Tag knem 0.8.1 ·
    Release knem-0.8.1

    knem 0.8.1 (March 22nd 2010, svn r370)

    • Switch from CeCILL-B to BSD license.
    • Documentation updates.

    Tarball for download knem-0.8.1.tar.gz

  • knem-0.8.0   Import SVN tag knem-0.8.0 in GIT
    3c6f4587 · Tag knem 0.8.0 ·
    Release knem-0.8.0

    knem 0.8.0 (March 3rd 2010, svn r363)

    • Fix build on final 2.6.33 kernel.
    • Added a workaround for issues with the kernel build system trying to create files in the build directory during make install.

    Tarball for download knem-0.8.0.tar.gz

  • knem-0.7.901   Import SVN tag knem-0.7.901 in GIT
    91d2ff0f · Tag knem 0.7.901 ·
    Release knem-0.7.901

    knem 0.7.901 (February 1st 2010, svn r356)

    The scalable release.

    • Use RCU locks to optimize the lookup of the target process and of regions (when the SINGLEUSE flag isn't set).
    • Improve scalability with the number of regions by storing them in a hash table instead of a single list.
    • Fix the status_test user program on 32bit architectures.
    • Fix make check to not try to bind processes on non-existing cores on machines with only 1 or 2 cores.
    • Fix some debug messages in the driver.
    • Do not ignore the DMA copy flag when DMA is disabled totally in the kernel, just don't try to use DMA (as if there was no DMA channel available).
    • No need to setup the DMA cleanup timer if not using DMA.
    • List currently open knem instances and regions when reading /dev/knem when verbose statistics are enabled.
    • Properly handle potential buffer overflow when reading /dev/knem.
    • Cleanup the management of KCC and KARCH when configuring the kernel build.

    Tarball for download knem-0.7.901.tar.gz

  • knem-0.7.0   Import SVN tag knem-0.7.0 in GIT
    4e4d8a1b · Tag knem 0.7.0 ·
    Release knem-0.7.0

    knem 0.7.0 (December 15th 2009, svn r319)

    • Miscellaneous minor changes.

    Tarball for download knem-0.7.0.tar.gz