Releases: LLNL/mpibind
Releases · LLNL/mpibind
Slurm SPANK plugin
Python interface/bindings
This release provides a Python interface for mpibind including unit tests and example programs.
Support mpibind+flux spack variant
Major features of this release include the following:
- Added a lua script to load the mpibind plugin for Flux. The location of this script can be added to the
FLUX_SHELL_RC_PATH
environment variable that loads external plugins into Flux. - Added utility functions to better support modules that use mpibind such as the Flux plugin or Python bindings.
Since the mpibind plugin depends on a Flux header, Flux is a dependency of the mpibind+flux
variant. In other words, when installing mpibind+flux
in Spack, mpibind
will install the Flux plugin along with flux-core
.
Increased mapping granularity to hardware threads
- When multiple workers are assigned to the same core, mpibind now maps the workers to individual threads when possible.
- Test suite improvements:
- Updated the test-suite expected mappings.
- Improved documentation to debug the test-suite.
- Updated the build process so that tests are not built when
libtap
is not present. - Provided a fix for macOS systems.
- mpibind is now in
spack
. - Added programs to test GPU properties and their IDs.
- The build version of mpibind is now based on the github version.
- Delegated the installation of the Flux plugin into Flux to the user.
- Fixed Flux dependency when building the flux plugin.
Improved support for I/O devices
- Added functions to the API to select type of I/O ID.
- Added support for various I/O device IDs including: PCI bus, UUID,
VISIBLE_DEVICES, and name. This is particularly useful for handling
GPUs in a more precise manner through UUIDs or PCI IDs, which are
unique. - Added Infrastructure to support other devices besides GPUs such as
NICs. - Deprecated
mpibind_get_gpu_type
- Implemented the verbose option of the Flux plugin.
- Added Makefile for affinity programs; it was ignored when programs were
added.
Affinity programs
Added programs to show CPU and GPU affinity at run time.
They include MPI, OpenMP, and MPI+OpenMP variants.
Flux plugin
Added the Flux plugin: Jobs under Flux can use mpibind for mapping and affinity.
Autotools + test suite
- Added support for pkgconfig:
mpibind.pc
- Added test suite using
libtap
- Fixed issue with SMT-1 topologies.
- Added suport for GNU Autotools.
First release of mpibind
This release provides the C-bindings of mpibind.
- mpibind provides the mapping of each worker to the underlying hardware.
- The caller is responsible for binding the worker to the assigned resources.
- mpibind depends on the hwloc library version 2+
- mpibind provides helper functions to set the appropriate environment variables for AMD/NVIDIA GPUs and OpenMP threads.