Open MPI logo

Hardware Locality announce Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Announcements mailing list

Subject: [hwloc-announce] Hardware locality (hwloc) v1.1rc1 released
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2010-11-04 17:52:39


The Hardware Locality (hwloc) team is pleased to announce the first
release candidate for v1.1:

   http://www.open-mpi.org/projects/hwloc/
   (mirrors will update shortly)

hwloc provides command line tools and a C API to obtain the hierarchical
map of key computing elements, such as: NUMA memory nodes, shared
caches, processor sockets, processor cores, and processor "threads".
hwloc also gathers various attributes such as cache and memory
information, and is portable across a variety of different operating
systems and platforms.

v1.1rc1 is the first milestone of a major feature release. Many features
and changes have been added since the v1.0 series. Although
v1.1rc1 is only a prerelease, we felt it important to announce the first
in the series in order to gain feedback and widespread testing
before v1.1 goes final. Please try hwloc out on your system, read its
improved documentation, and send us your feedback.

The following is a summary of the changes since the v1.0 series (this
list may change before v1.1 goes final):

* API
  + Increase HWLOC_API_VERSION to 0x00010100 so that API changes may be
    detected at build-time.
  + Add a memory binding interface.
  + The cpuset API (hwloc/cpuset.h) is now deprecated. It is replaced by
    the bitmap API (hwloc/bitmap.h) which offers the same features with more
    generic names since it applies to CPU sets, node sets and more.
    Backward compatibility with the cpuset API and ABI is still provided but
    it will be removed in a future release.
    Old types (hwloc_cpuset_t, ...) are still available as a way to clarify
    what kind of hwloc_bitmap_t each API function manipulates.
    Upgrading to the new API only requires to replace hwloc_cpuset_ function
    calls with the corresponding hwloc_bitmap_ calls, with the following
    renaming exceptions:
    - hwloc_cpuset_cpu -> hwloc_bitmap_only
    - hwloc_cpuset_all_but_cpu -> hwloc_bitmap_allbut
    - hwloc_cpuset_from_string -> hwloc_bitmap_sscanf
  + Add an `infos' array in each object to store couples of info names and
    values. It enables generic storage of things like the old dmi board
    infos that were previously stored in machine specific attributes.
  + Add linesize cache attribute.
* Features
  + Bitmaps (and thus CPU sets and node sets) are dynamically
    (re-)allocated, the maximal number of CPUs (HWLOC_NBMAXCPUS)
    has been removed.
  + Improve the distance-based grouping code to better support irregular
    distance matrices.
  + Add support for device-tree to get cache information (useful on Power
    architectures).
* Helpers
  + Add NVIDIA CUDA helpers in cuda.h and cudart.h to ease interoperability
    with CUDA Runtime and Driver APIs.
  + Add Myrinet Express helper in myriexpress.h to ease interoperability.
* Tools
  + Add hwloc-ps to list process' bindings.
  + Improve tools command-line options by adding a generic --input option
    (and more) which replaces the old --xml, --synthetic and --fsys-root.
  + Cleanup lstopo output configuration by adding --output-format.
  + Add --intersect in hwloc-calc, and replace --objects with --largest.
  + Add the ability to work on standard input in hwloc-calc.
  + Add --among in hwloc-distrib.
  + Add taskset-specific functions and command-line tools options to
    manipulate CPU set strings in the format of the taskset program.
  + Install hwloc-gather-topology.sh on Linux.

--
Brice Goglin