[hwloc-announce] hwloc 2.10.0 released

2023-12-04 Thread Brice Goglin

hwloc (Hardware Locality) 2.10.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.10/

v2.10.0 is a quite a big release with lots of improvements.
Most of them focus on heterogeneous memory (including CXL)
with the concept of "Tiers" to group similar kinds of NUMA nodes.

But there's also better support for various CPUs (NVIDIA Grace,
LoongArch, AMD, Zhaoxin). And command-line tools have a lot
of new features. Netloc is also finally removed since many people
seem unaware of its death several years ago.

v2.10 is likely the last major release before the new v3.0
appears (hopefully early 2024). v3.0 will slightly break the API
and ABI, remove support from obsolete hardware, etc.
Additional v2.10.x stable releases (and even v2.11.x if necessary)
will be published in parallel to the v3.0 development and early
releases.


The following is a summary of the changes since v2.9.3.

Version 2.10.0
-
* Heterogeneous Memory core improvements
  + Better heuristics to identify the subtype of memory such as HBM,
DRAM, NVM, CXL-DRAM, etc.
  + Build memory tiers, i.e. sets of NUMA nodes with the same subtype
and similar performance.
- NUMA node tier ranks are exposed in the new MemoryTier info
  attribute (starts from 0 for highest bandwidth tier)..
  + See the new Heterogeneous Memory section in the documentation.
* API
  + Add hwloc_topology_free_group_object() to discard a Group created
by hwloc_topology_alloc_group_object().
* Linux backend
  + Fix cpukinds on NVIDIA Grace to report identical cores even if they
actually have very small frequency differences.
Thanks to John C. Linford for the report.
  + Add CXLDevice attributes to CXL DAX objects and NUMA nodes to show
which PCI device implements which window.
  + Ignore buggy memory-side caches and memory attributes when fake NUMA
emulation is enabled on the Linux kernel command-line.
  + Add more info attributes in MemoryModule Misc objects,
thanks to Zubiao Xiong for the patch.
  + Get CPUModel and CPUFamily info attributes on LoongArch platforms.
* x86 backend
  + Add support for new AMD CPUID leaf 0x8026 for better detection
of Core Complex and Die on Zen4 processors.
  + Improve Zhaoxin CPU topology detection.
* Tools
  + Input locations and many command-line options (e.g. hwloc-calc -I -N -H,
lstopo --only) now accept filters such as "NUMA[HBM]" so that only
objects are that type and subtype are considered.
- NUMA[tier=1] is also accepted for selecting NUMA nodes depending
  on their MemoryTier info attribute.
  + Add --object-output to hwloc-calc to report the type as a prefix to
object indexes, e.g. Core:2 instead of 2 in the output of -I.
  + hwloc-info --ancestor and --descendants now accepts kinds of objects
instead of single types.
- The new --first option only shows the first matching object.
  + Add --children-of-pid to hwloc-ps to show a hierarchy of processes.
Thanks to Antoine Morvan for the suggestion.
  + Add --misc-from to lstopo to add Misc objects described in a file.
- To be combined with the new hwloc-ps --lstopo-misc for a customizable
  lstopo --top replacement.
* Misc
  + lstopo may now configure the layout of memory object placed above,
for instance with --children-order memory:above:vert.
  + Fix XML import from memory or stdin when using libxml2 2.12.
  + Fix installation failures when configuring with --target,
thanks to Clement Foyer for the patch.
  + Fix support for 128bit pointer architectures.
  + Remove Netloc.


Changes since 2.10.0rc2 consists mostly in the libxml2 2.12 import fix.
--
Brice



OpenPGP_signature.asc
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.10.0rc2 released

2023-11-23 Thread Brice Goglin
rc2 was just released. We added some additional regression tests for 
recent architectures, fixed a bug in the new parsing code of DIMM size 
on big endian platforms, and added some docs about PCI device attributes.


Available from https://www.open-mpi.org/software/hwloc/v2.10/ as usual.

Brice


Le 09/11/2023 à 13:52, Brice Goglin a écrit :

hwloc (Hardware Locality) 2.10.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.10/

v2.10.0 is a quite a big release with lots of improvements.
Most of them focus on heterogeneous memory (including CXL)
with the concept of "Tiers" to group similar kinds of NUMA nodes.

But there's also better support for various CPUs (NVIDIA Grace,
LoongArch, AMD, Zhaoxin). And command-line tools have a lot
of new features. Netloc is also finally removed since many people
seem unaware of its death several years ago.

v2.10 is likely the last major release before the new v3.0
appears (hopefully early 2024). v3.0 will slightly break the API
and ABI, remove support from obsolete hardware, etc.
Additional v2.10.x stable releases (and even v2.11.x if necessary)
will be published in parallel to the v3.0 development and early
releases.


The following is a summary of the changes since v2.9.3.

Version 2.10.0
--
* Heterogeneous Memory core improvements
   + Better heuristics to identify the subtype of memory such as HBM,
 DRAM, NVM, CXL-DRAM, etc.
   + Build memory tiers, i.e. sets of NUMA nodes with the same subtype
 and similar performance.
 - NUMA node tier ranks are exposed in the new MemoryTier info
   attribute (starts from 0 for highest bandwidth tier)..
   + See the new Heterogeneous Memory section in the documentation.
* API
   + Add hwloc_topology_free_group_object() to discard a Group created
 by hwloc_topology_alloc_group_object().
* Linux backend
   + Fix cpukinds on NVIDIA Grace to report identical cores even if they
 actually have very small frequency differences.
 Thanks to John C. Linford for the report.
   + Add CXLDevice attributes to CXL DAX objects and NUMA nodes to show
 which PCI device implements which window.
   + Ignore buggy memory-side caches and memory attributes when fake NUMA
 emulation is enabled on the Linux kernel command-line.
   + Add more info attributes in MemoryModule Misc objects,
 thanks to Zubiao Xiong for the patch.
   + Get CPUModel and CPUFamily info attributes on LoongArch platforms.
* x86 backend
   + Add support for new AMD CPUID leaf 0x8026 for better detection
 of Core Complex and Die on Zen4 processors.
   + Improve Zhaoxin CPU topology detection.
* Tools
   + Input locations and many command-line options (e.g. hwloc-calc -I -N -H,
 lstopo --only) now accept filters such as "NUMA[HBM]" so that only
 objects are that type and subtype are considered.
 - NUMA[tier=1] is also accepted for selecting NUMA nodes depending
   on their MemoryTier info attribute.
   + Add --object-output to hwloc-calc to report the type as a prefix to
 object indexes, e.g. Core:2 instead of 2 in the output of -I.
   + hwloc-info --ancestor and --descendants now accepts kinds of objects
 instead of single types.
 - The new --first option only shows the first matching object.
   + Add --children-of-pid to hwloc-ps to show a hierarchy of processes.
 Thanks to Antoine Morvan for the suggestion.
   + Add --misc-from to lstopo to add Misc objects described in a file.
 - To be combined with the new hwloc-ps --lstopo-misc for a customizable
   lstopo --top replacement.
* Misc
   + lstopo may now configure the layout of memory object placed above,
 for instance with --children-order memory:above:vert.
   + Fix installation failures when configuring with --target,
 thanks to Clement Foyer for the patch.
   + Fix support for 128bit pointer architectures.
   + Remove Netloc.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.10.0rc1 released

2023-11-20 Thread Brice Goglin
This announce was never delivered because of an issue with the mailing 
list server. Hopefully this one will go through and we'll be able to 
release the final 2.10 in a couple days.


Brice



Le 09/11/2023 à 13:52, Brice Goglin a écrit :

hwloc (Hardware Locality) 2.10.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.10/

v2.10.0 is a quite a big release with lots of improvements.
Most of them focus on heterogeneous memory (including CXL)
with the concept of "Tiers" to group similar kinds of NUMA nodes.

But there's also better support for various CPUs (NVIDIA Grace,
LoongArch, AMD, Zhaoxin). And command-line tools have a lot
of new features. Netloc is also finally removed since many people
seem unaware of its death several years ago.

v2.10 is likely the last major release before the new v3.0
appears (hopefully early 2024). v3.0 will slightly break the API
and ABI, remove support from obsolete hardware, etc.
Additional v2.10.x stable releases (and even v2.11.x if necessary)
will be published in parallel to the v3.0 development and early
releases.


The following is a summary of the changes since v2.9.3.

Version 2.10.0
--
* Heterogeneous Memory core improvements
   + Better heuristics to identify the subtype of memory such as HBM,
 DRAM, NVM, CXL-DRAM, etc.
   + Build memory tiers, i.e. sets of NUMA nodes with the same subtype
 and similar performance.
 - NUMA node tier ranks are exposed in the new MemoryTier info
   attribute (starts from 0 for highest bandwidth tier)..
   + See the new Heterogeneous Memory section in the documentation.
* API
   + Add hwloc_topology_free_group_object() to discard a Group created
 by hwloc_topology_alloc_group_object().
* Linux backend
   + Fix cpukinds on NVIDIA Grace to report identical cores even if they
 actually have very small frequency differences.
 Thanks to John C. Linford for the report.
   + Add CXLDevice attributes to CXL DAX objects and NUMA nodes to show
 which PCI device implements which window.
   + Ignore buggy memory-side caches and memory attributes when fake NUMA
 emulation is enabled on the Linux kernel command-line.
   + Add more info attributes in MemoryModule Misc objects,
 thanks to Zubiao Xiong for the patch.
   + Get CPUModel and CPUFamily info attributes on LoongArch platforms.
* x86 backend
   + Add support for new AMD CPUID leaf 0x8026 for better detection
 of Core Complex and Die on Zen4 processors.
   + Improve Zhaoxin CPU topology detection.
* Tools
   + Input locations and many command-line options (e.g. hwloc-calc -I -N -H,
 lstopo --only) now accept filters such as "NUMA[HBM]" so that only
 objects are that type and subtype are considered.
 - NUMA[tier=1] is also accepted for selecting NUMA nodes depending
   on their MemoryTier info attribute.
   + Add --object-output to hwloc-calc to report the type as a prefix to
 object indexes, e.g. Core:2 instead of 2 in the output of -I.
   + hwloc-info --ancestor and --descendants now accepts kinds of objects
 instead of single types.
 - The new --first option only shows the first matching object.
   + Add --children-of-pid to hwloc-ps to show a hierarchy of processes.
 Thanks to Antoine Morvan for the suggestion.
   + Add --misc-from to lstopo to add Misc objects described in a file.
 - To be combined with the new hwloc-ps --lstopo-misc for a customizable
   lstopo --top replacement.
* Misc
   + lstopo may now configure the layout of memory object placed above,
 for instance with --children-order memory:above:vert.
   + Fix installation failures when configuring with --target,
 thanks to Clement Foyer for the patch.
   + Fix support for 128bit pointer architectures.
   + Remove Netloc.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

Re: [hwloc-announce] hwloc 2.9.3rc1 released

2023-09-12 Thread Brice Goglin

The final 2.9.3 was just released with no change after rc1.

Brice


Le 07/09/2023 à 15:02, Brice Goglin a écrit :

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.9.3.
http://www.open-mpi.org/software/hwloc/v2.9/

2.9.3 brings some small fixes and many small documentation improvements.
The following is a summary of the changes since v2.9.2.

Version 2.9.3
-
* Handle Linux glibc allocation errors in binding routines (CVE-2022-47022).
* Fix hwloc-calc when searching objects on heterogeneous memory platforms,
   thanks to Antoine Morvan for the report.
* Fix hwloc_get_next_child() when there are some memory-side caches.
* Don't crash if the topology is empty because Linux cgroups are wrong.
* Improve some hwloc-bind warnings in case of command-line parsing errors.
* Many documentation improvements all over the place, including:
   + hwloc_topology_restrict() and hwloc_topology_insert_group() may reorder
 children, causing the logical indexes of objects to change.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

Re: [hwloc-announce] hwloc 2.9.3rc1 released

2023-09-07 Thread Brice Goglin
Sorry for the noise, the download link below has been broken for several 
release mails:


https://www.open-mpi.org/software/hwloc/v2.9/

(the main page is https://www.open-mpi.org/projects/hwloc/)

Brice



Le 07/09/2023 à 15:02, Brice Goglin a écrit :

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.9.3.
http://www.open-mpi.org/projects/hwloc/v2.9/

2.9.3 brings some small fixes and many small documentation improvements.
The following is a summary of the changes since v2.9.2.

Version 2.9.3
-
* Handle Linux glibc allocation errors in binding routines (CVE-2022-47022).
* Fix hwloc-calc when searching objects on heterogeneous memory platforms,
   thanks to Antoine Morvan for the report.
* Fix hwloc_get_next_child() when there are some memory-side caches.
* Don't crash if the topology is empty because Linux cgroups are wrong.
* Improve some hwloc-bind warnings in case of command-line parsing errors.
* Many documentation improvements all over the place, including:
   + hwloc_topology_restrict() and hwloc_topology_insert_group() may reorder
 children, causing the logical indexes of objects to change.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.9.3rc1 released

2023-09-07 Thread Brice Goglin

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.9.3.

   http://www.open-mpi.org/projects/hwloc/v2.9/

2.9.3 brings some small fixes and many small documentation improvements.
The following is a summary of the changes since v2.9.2.

Version 2.9.3
-
* Handle Linux glibc allocation errors in binding routines (CVE-2022-47022).
* Fix hwloc-calc when searching objects on heterogeneous memory platforms,
  thanks to Antoine Morvan for the report.
* Fix hwloc_get_next_child() when there are some memory-side caches.
* Don't crash if the topology is empty because Linux cgroups are wrong.
* Improve some hwloc-bind warnings in case of command-line parsing errors.
* Many documentation improvements all over the place, including:
  + hwloc_topology_restrict() and hwloc_topology_insert_group() may reorder
children, causing the logical indexes of objects to change.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.9.2 released

2023-06-28 Thread Brice Goglin

Hello

The final 2.9.2 was just released with no changes after rc1. See below.

Brice



Le 23/06/2023 à 12:24, Brice Goglin a écrit :

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.9.2.
http://www.open-mpi.org/projects/hwloc/v2.9/

2.9.2 brings many small fixes and many small documentation improvements.
The following is a summary of the changes since v2.9.1.

Version 2.9.2
-
* Don't forget L3i when defining filters for multiple levels of caches
   with hwloc_topology_set_cache/icache_types_filter().
* Fix object total_memory after hwloc_topology_insert_group_object().
* Fix the (non-yet) exporting in synthetic description for complex memory
   hierarchies with memory-side caches, etc.
* Fix some default size attributes when building synthetic topologies.
* Fix size units in hwloc-annotate.
* Improve bitmap reallocation error management in many functions.
* Documentation improvements:
   + Better document return values of functions.
   + Add "Error reporting" section (in hwloc.h and in the doxygen doc).
   + Add FAQ entry "What may I disable to make hwloc faster?"
   + Improve FAQ entries "Why is lstopo slow?"
 and "I only need ..., why should I use hwloc?"
   + Clarify how to deal with cpukinds in hwloc-calc and hwloc-bind
 manpages.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.9.2rc1 released

2023-06-23 Thread Brice Goglin

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.9.2.

   http://www.open-mpi.org/projects/hwloc/v2.9/

2.9.2 brings many small fixes and many small documentation improvements.
The following is a summary of the changes since v2.9.1.

Version 2.9.2
-
* Don't forget L3i when defining filters for multiple levels of caches
  with hwloc_topology_set_cache/icache_types_filter().
* Fix object total_memory after hwloc_topology_insert_group_object().
* Fix the (non-yet) exporting in synthetic description for complex memory
  hierarchies with memory-side caches, etc.
* Fix some default size attributes when building synthetic topologies.
* Fix size units in hwloc-annotate.
* Improve bitmap reallocation error management in many functions.
* Documentation improvements:
  + Better document return values of functions.
  + Add "Error reporting" section (in hwloc.h and in the doxygen doc).
  + Add FAQ entry "What may I disable to make hwloc faster?"
  + Improve FAQ entries "Why is lstopo slow?"
and "I only need ..., why should I use hwloc?"
  + Clarify how to deal with cpukinds in hwloc-calc and hwloc-bind
manpages.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.9.1 released

2023-04-03 Thread Brice Goglin

hwloc 2.9.1 was just released with no changes since rc1.

Brice



Le 28/03/2023 à 16:02, Brice Goglin a écrit :

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.9.1.
http://www.open-mpi.org/projects/hwloc/v2.9/

2.9.1 fixes several issues, all users are encouraged to upgrade.
The following is a summary of the changes since v2.9.0.

Version 2.9.1
-
* Don't forget to apply object type filters to "perflevel" caches detected
   on recent Mac OS X releases, thanks to Michel Lesoinne for the report.
* Fix a failed assertion in hwloc_topology_restrict() when some NUMA nodes
   are removed because of HWLOC_RESTRICT_FLAG_REMOVE_CPULESS but no PUs are.
   Thanks to Mark Grondona for reporting the issue.
* Mark HPE Cray Slingshot NICs with subtype "Slingshot".

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.9.1rc1 released

2023-03-28 Thread Brice Goglin

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.9.1.

   http://www.open-mpi.org/projects/hwloc/v2.9/

2.9.1 fixes several issues, all users are encouraged to upgrade.
The following is a summary of the changes since v2.9.0.

Version 2.9.1
-
* Don't forget to apply object type filters to "perflevel" caches detected
  on recent Mac OS X releases, thanks to Michel Lesoinne for the report.
* Fix a failed assertion in hwloc_topology_restrict() when some NUMA nodes
  are removed because of HWLOC_RESTRICT_FLAG_REMOVE_CPULESS but no PUs are.
  Thanks to Mark Grondona for reporting the issue.
* Mark HPE Cray Slingshot NICs with subtype "Slingshot".

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.7.2 released

2023-01-03 Thread Brice Goglin

hwloc (Hardware Locality) 2.7.2 is now available for download.

   http://www.open-mpi.org/software/hwloc/v2.7/

2.7.2 brings two fixes for users who cannot upgrade to hwloc 2.8+
(these fixes are already in 2.8.0 and 2.9.0).

Version 2.7.2
-
* Fix a crash when LevelZero devices have multiple subdevices,
  e.g. on PonteVecchio GPUs, thanks to Jonathan Peyton.
* Fix a leak when importing cpukinds from XML,
  thanks to Hui Zhou.

--
Brice




OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.9.0 released

2022-12-14 Thread Brice Goglin

hwloc (Hardware Locality) 2.9.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.9/

v2.9.0 is a small release that publishes several improvements
and fixes from the last months.

We are working on a v3.0 releases that will slightly break the
API and ABI, remove support from obsolete hardware, etc.
v2.9.x (and maybe even a v2.10.x if necessary) will be maintained
in parallel to v3.0 development and first releases.


The following is a summary of the changes since v2.8.0.

Version 2.9.0
-
* Backends
  + Expose the memory size of CXL memory devices (Type 3) on Linux.
  + The LevelZero backend now reports the "XeLinkBandwidth" distance
matrix between L0 devices (and subdevices) when available.
  + Add support for CUDA compute capability up to 9.0.
* Tools
  + lstopo now switches to console mode when its output is redirected.
Graphical window mode may be forced back with --of window.
  + hwloc-calc now accepts "numa" in -H, and I/O subtypes such as "gpu"
in -I and -N.

Changes since 2.9.0rc1 are cosmetic.
--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.9.0rc1 released

2022-12-08 Thread Brice Goglin

hwloc (Hardware Locality) 2.9.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.9/

v2.9.0 is a small release that publishes several improvements
and fixes from the last months.

We are working on a v3.0 releases that will slightly break the
API and ABI, remove support from obsolete hardware, etc.
v2.9.x (and maybe even a v2.10.x if necessary) will be maintained
in parallel to v3.0 development and first releases.


The following is a summary of the changes since v2.8.0.

Version 2.9.0
-
* Backends
  + Expose the memory size of CXL memory devices (Type 3) on Linux.
  + The LevelZero backend now reports the "XeLinkBandwidth" distance
matrix between L0 devices (and subdevices) when available.
  + Add support for CUDA compute capability up to 9.0.
* Tools
  + lstopo now switches to console mode when its output is redirected.
Graphical window mode may be forced back with --of window.
  + hwloc-calc now accepts "numa" in -H, and I/O subtypes such as "gpu"
in -I and -N.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.8.0 released

2022-07-05 Thread Brice Goglin

hwloc (Hardware Locality) 2.8.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.8/

v2.8.0 comes with several unrelated improvements all over the place.

The following is a summary of the changes since v2.7.0.

Version 2.8.0
-
* API
  + Add HWLOC_TOPOLOGY_FLAG_NO_DISTANCES, _NO_MEMATTRS and _NO_CPUKINDS
to reduce the overhead when unneeded.
  + Add separate Read/Write Bandwidth/Latency memory attributes and
implement them on Linux.
* Backends
  + NUMA nodes may now have a subtype such as DRAM, HBM, SPM, or NVM
on heterogeneous memory platforms on Linux.
- Add DAXType and DAXParent attributes on Linux to tell where a
  DAX device or its corresponding NUMA node come from (SPM for
  Specific-Purpose or NVM for Non-Volatile Memory).
  + Detect heterogeneous caches in hybrid CPUs on MacOS X,
thanks to Paul Bone for the help.
  + Max frequencies are not ignored in Linux cpukinds anymore (they were
ignored in hwloc 2.7.0), but they may be slightly adjusted to avoid
reporting hybrid CPUs because Intel Turbo Boost Max 3.0.
- See the documentation of environment variable HWLOC_CPUKINDS_MAXFREQ.
  + Hardwire the PCI locality of HPE Cray EX235a nodes.
* Tools
  + lstopo and other tools may now load Linux and x86 cpuid topology files
from a tarball.
  + lstopo may now replace the P# and L# index prefixes with custom strings
thanks to --os-index-prefix and --logical-index-prefix options.
* Misc
  + Add --disable-readme to avoid regenerating the top-level hwloc README
file from the documentation.

There are no changes since 2.8.0rc1.
--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.8.0rc1 released

2022-06-29 Thread Brice Goglin

hwloc (Hardware Locality) 2.8.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.8/

v2.8.0 comes with several unrelated improvements all over the place.

The following is a summary of the changes since v2.7.0.

Version 2.8.0
-
* API
  + Add HWLOC_TOPOLOGY_FLAG_NO_DISTANCES, _NO_MEMATTRS and _NO_CPUKINDS
to reduce the overhead when unneeded.
  + Add separate Read/Write Bandwidth/Latency memory attributes and
implement them on Linux.
* Backends
  + NUMA nodes may now have a subtype such as DRAM, HBM, SPM, or NVM
on heterogeneous memory platforms on Linux.
- Add DAXType and DAXParent attributes on Linux to tell where a
  DAX device or its corresponding NUMA node come from (SPM for
  Specific-Purpose or NVM for Non-Volatile Memory).
  + Detect heterogeneous caches in hybrid CPUs on MacOS X,
thanks to Paul Bone for the help.
  + Max frequencies are not ignored in Linux cpukinds anymore (they were
ignored in hwloc 2.7.0), but they may be slightly adjusted to avoid
reporting hybrid CPUs because Intel Turbo Boost Max 3.0.
- See the documentation of environment variable HWLOC_CPUKINDS_MAXFREQ.
  + Hardwire the PCI locality of HPE Cray EX235a nodes.
* Tools
  + lstopo and other tools may now load Linux and x86 cpuid topology files
from a tarball.
  + lstopo may now replace the P# and L# index prefixes with custom strings
thanks to --os-index-prefix and --logical-index-prefix options.
* Misc
  + Add --disable-readme to avoid regenerating the top-level hwloc README
file from the documentation.

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.7.1 released

2022-03-24 Thread Brice Goglin

hwloc (Hardware Locality) 2.7.1 is now available for download.

   http://www.open-mpi.org/software/hwloc/v2.7/

2.7.1 fixes several issues, all users are encouraged to upgrade.
The following is a summary of the changes since v2.7.0.

Version 2.7.1
-
* Workaround crashes when virtual machines report incoherent x86 CPUID
  information about numbers of cores and threads.
  Thanks to Peter Bense for the report.
* Use setenv() instead of putenv() when trying to force enable oneAPI L0
  support, to avoid issues with applications that touch the environment,
  thanks to Josh Hursey for the patch.
* Add some warnings at the end of configure when GPU libraries are
  missing on the system or their path is missing in the environment.

There are no changes since rc1.
--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.7.1rc1 released

2022-03-21 Thread Brice Goglin

The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 2.7.1.

   http://www.open-mpi.org/projects/hwloc/v2.7/

2.7.1 fixes several issues, all users are encouraged to upgrade.
The following is a summary of the changes since v2.7.0.

Version 2.7.1
-
* Workaround crashes when virtual machines report incoherent x86 CPUID
  information about numbers of cores and threads.
  Thanks to Peter Bense for the report.
* Use setenv() instead of putenv() when trying to force enable oneAPI L0
  support, to avoid issues with applications that touch the environment,
  thanks to Josh Hursey for the patch.
* Add some warnings at the end of configure when GPU libraries are
  missing on the system or their path is missing in the environment.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.7.0 released

2021-12-13 Thread Brice Goglin

hwloc (Hardware Locality) 2.7.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.7/

v2.7.0 arrives surprisingly early (less than 2 months after v2.6.0)
because several important changes did not deserve to wait:
* Better topology discovery on large machines running Windows 11 or
  Windows Server 2022.
* Improvements to Windows CMake support.
* Improved oneAPI Level0 support.

The following is a summary of the changes since v2.6.0.

Version 2.7.0
-
* Backends
  + Add support for NUMA nodes and caches with more than 64 PUs across
multiple processor groups on Windows 11 and Windows Server 2022.
  + Group objects are not created for Windows processor groups anymore,
except if HWLOC_WINDOWS_PROCESSOR_GROUP_OBJS=1 in the environment.
  + Expose "Cluster" group objects on Linux kernel 5.16+ for CPUs
that share some internal cache or bus. This can be equivalent
to the L2 Cache level on some platforms (e.g. x86) or a specific
level between L2 and L3 on others (e.g. ARM Kungpeng 920).
Thanks to Jonathan Cameron for the help.
- HWLOC_DONT_MERGE_CLUSTER_GROUPS=1 may be set in the environment
  to prevent these groups from being merged with identical caches, etc.
  + Improve the oneAPI LevelZero backend:
- Expose subdevices such as "ze0.1" inside root OS devices ("ze0")
  when the hardware contains multiple subdevices.
- Add many new attributes to describe device type, and the
  numbers of slices, subslices, execution units and threads.
- Expose the memory information as LevelZeroHBM/DDR/MemorySize infos.
  + Ignore the max frequencies of cores in Linux cpukinds when the
base frequencies are available (to avoid exposing hybrid CPUs
when Intel Turbo Boost Max 3.0 gives slightly different max
frequencies to CPU cores).
- May be reverted by setting HWLOC_CPUKINDS_MAXFREQ=1 in the environment.
* Tools
  + Add --grey and --palette options to switch lstopo to greyscale or
white-background-only graphics, or to tune individual colors.
* Build
  + Windows CMake builds now support non-MSVC compilers, detect several
features at build time, can build/run tests, etc.
Thanks to Michael Hirsch and Alexander Neumann .

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.7.0rc1 released

2021-12-06 Thread Brice Goglin

hwloc (Hardware Locality) 2.7.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.7/

v2.7.0 arrives surprisingly early (less than 2 months after v2.6.0)
because several important changes did not deserve to wait:
* Better topology discovery on large machines running Windows 11 or
  Server 2022.
* Improvements to Windows CMake support.
* Improved oneAPI Level0 support.

Hopefully we will release the final 2.7.0 before christmas.

The following is a summary of the changes since v2.6.0.

Version 2.7.0
-
* Backends
  + Add support for NUMA nodes and caches with more than 64 PUs across
multiple processor groups on Windows 11 and Windows Server 2022.
  + Group objects are not created for Windows processor groups anymore,
except if HWLOC_WINDOWS_PROCESSOR_GROUP_OBJS=1 in the environment.
  + Expose "Cluster" group objects on Linux kernel 5.16+ for CPUs
that share some internal cache or bus. This can be equivalent
to the L2 Cache level on some platforms (e.g. x86) or a specific
level between L2 and L3 on others (e.g. ARM Kungpeng 920).
Thanks to Jonathan Cameron for the help.
- HWLOC_DONT_MERGE_CLUSTER_GROUPS=1 may be set in the environment
  to prevent these groups from being merged with identical caches, etc.
  + Improve the oneAPI LevelZero backend:
- Expose subdevices such as "ze0.1" inside root OS devices ("ze0")
  when the hardware contains multiple subdevices.
- Add many new attributes to describe device type, and the
  numbers of slices, subslices, execution units and threads.
- Expose the memory information as LevelZeroHBM/DDR/MemorySize infos.
  + Ignore the max frequencies of cores in Linux cpukinds when the
base frequencies are available (to avoid exposing hybrid CPUs
when Intel Turbo Boost Max 3.0 gives slightly different max
frequencies to CPU cores).
- May be reverted by setting HWLOC_CPUKINDS_MAXFREQ=1 in the environment.
* Tools
  + Add --grey and --palette options to switch lstopo to greyscale or
white-background-only graphics, or to tune individual colors.
* Build
  + Windows CMake builds now support non-MSVC compilers, detect several
features at build time, can build/run tests, etc.
Thanks to Michael Hirsch and Alexander Neumann .

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.6.0 released

2021-10-28 Thread Brice Goglin

hwloc (Hardware Locality) 2.6.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.6/

v2.6.0 is a small release that improves existing support
for hybrid CPUs, AMD GPUs, and Linux memory binding.
It also adds Windows CMake support.

The following is a summary of the changes since v2.5.0.


Version 2.6.0
-
* Backends
  + Expose two cpukinds for energy-efficient cores (icestorm) and
high-performance cores (firestorm) on Apple M1 on Mac OS X.
  + Use sysfs CPU "capacity" to rank hybrid cores by efficiency
on Linux when available (mostly on recent ARM platforms for now).
  + Improve HWLOC_MEMBIND_BIND (without the STRICT flag) on Linux kernel
>= 5.15: If more than one node is given, the kernel may now use all
of them instead of only the first one before falling back to others.
  + Expose cache os_index when available on Linux, it may be needed
when using resctrl to configure cache partitioning, memory bandwidth
monitoring, etc.
  + Add a "XGMIHops" distances matrix in the RSMI backend for AMD GPU
interconnected through XGMI links.
  + Expose AMD GPU memory information (VRAM and GTT) in the RSMI backend.
  + Add OS devices such as "bxi0" for Atos/Bull BXI HCAs on Linux.
* Tools
  + lstopo has a better placement algorithm with respect to I/O
objects, see --children-order in the manpage for details.
  + hwloc-annotate may now change object subtypes and cache or memory
sizes.
* Build
  + Allow to specify the ROCm installation for building the RSMI backend:
- Use a custom installation path if specified with --with-rocm=.
- Use /opt/rocm- if specified with --with-rocm-version=
  or the ROCM_VERSION environment variable.
- Try /opt/rocm if it exists.
- See "How do I enable ROCm SMI and select which version to use?"
  in the FAQ for details.
  + Add a CMakeLists for Windows under contrib/windows-cmake/ .
* Documentation
  + Add FAQ entry "How do I create a custom heterogeneous and
 asymmetric topology?"


--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.6.0rc2 released

2021-10-25 Thread Brice Goglin

Hello

2.6.0rc2 is out. The main change since rc1 is the addition of Windows CMake
builds (under contrib/windows-cmake/). There are also some additional minor
fixes. The final 2.6.0 is expected in a couple days or early next week.

Brice


Le 13/10/2021 à 15:51, Brice Goglin a écrit :

hwloc (Hardware Locality) 2.6.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.6/

v2.6.0 is a small release that improves existing support
for hybrid CPUs, AMD GPUs, Linux memory binding, etc.

The following is a summary of the changes since v2.5.0.

Version 2.6.0
-
* Backends
   + Expose two cpukinds for energy-efficient cores (icestorm) and
 high-performance cores (firestorm) on Apple M1 on Mac OS X.
   + Use sysfs CPU "capacity" to rank hybrid cores by efficiency
 on Linux when available (mostly on recent ARM platforms for now).
   + Improve HWLOC_MEMBIND_BIND (without the STRICT flag) on Linux kernel
 >= 5.15: If more than one node is given, the kernel may now use all
 of them instead of only the first one before falling back to others.
   + Expose cache os_index when available on Linux, it may be needed
 when using resctrl to configure cache partitioning, memory bandwidth
 monitoring, etc.
   + Add a "XGMIHops" distances matrix in the RSMI backend for AMD GPU
 interconnected through XGMI links.
   + Expose AMD GPU memory information (VRAM and GTT) in the RSMI backend.
   + Add OS devices such as "bxi0" for Atos/Bull BXI HCAs on Linux.
* Tools
   + lstopo has a better placement algorithm with respect to I/O
 objects, see --children-order in the manpage for details.
   + hwloc-annotate may now change object subtypes and cache or memory
 sizes.
* Build
   + Allow to specify the ROCm installation for building the RSMI backend:
 - Use a custom installation path if specified with --with-rocm=.
 - Use /opt/rocm- if specified with --with-rocm-version=
   or the ROCM_VERSION environment variable.
 - Try /opt/rocm if it exists.
 - See "How do I enable ROCm SMI and select which version to use?"
   in the FAQ for details.
* Documentation
   + Add FAQ entry "How do I create a custom heterogeneous and
  asymmetric topology?"

--
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.5.0 released

2021-06-14 Thread Brice Goglin

hwloc (Hardware Locality) 2.5.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.5/

v2.5.0 is a fairly big release with 3 major topics:
* NVIDIA NVLink and AMD XGMI bandwidth matrices between GPUs.
  The distances API has been extended to make them convenient
  to consult but we may add more helpers based user feedback.
* A new "levelzero" backend for Intel oneAPI L0 devices.
  GPU distances will be added in the future.
* New topology flags to mitigate spurious binding changes
  during hwloc discovery on Windows.

The following is a summary of the changes since v2.4.0.


Version 2.5.0
-
* API
  + Add hwloc/windows.h to query Windows processor groups.
  + Add hwloc_get_obj_with_same_locality() to convert between objects
with same locality, for instance NUMA nodes and Packages,
or OS devices within a PCI device.
  + Add hwloc_distances_transform() to modify distances structures.
- hwloc-annotate and lstopo have new distances-transform options.
  + hwloc_distances_add() is replaced with _add_create() followed by
_add_values() and _add_commit(). See hwloc/distances.h for details.
  + Add topology flags to mitigate binding modifications during
hwloc discovery, especially on Windows:
- HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING and _MEMBINDING
  restrict discovery to PUs and NUMA nodes inside the binding.
- HWLOC_TOPOLOGY_FLAG_DONT_CHANGE_BINDING prevents from ever
  changing the binding during discovery.
* Backends
  + Add a levelzero backend for oneAPI L0 devices, exposed as OS devices
of subtype "LevelZero" and name such as "ze0".
- Add hwloc/levelzero.h for interoperability between converting
  between L0 API devices and hwloc cpusets or OS devices.
  + Expose NEC Vector Engine cards on Linux as OS devices of subtype
"VectorEngine" and name "ve0", etc.
Thanks to Anara Kozhokanova, Tim Cramer and Erich Focht for the help.
  + Add a NVLinkBandwidth distances structure between NVIDIA GPUs
(and POWER processor or NVSwitches) in the NVML backend,
and a XGMIBandwidth distances structure between AMD GPUs
in the RSMI backends.
- See "Topology Attributes: Distances, Memory Attributes and CPU Kinds"
  in the documentation for details about these new distances.
  + Add support for NUMA node 0 being offline in Linux, thanks to Jirka Hladky.
* Build
  + Add --with-cuda-version= or look at the CUDA_VERSION
environment variable to find the appropriate CUDA pkg-config files.
Thanks to Stephen Herbein for the suggestion.
- Also add --with-cuda= to specify the CUDA installation path
  manually (and its NVML and OpenCL components).
  Thanks to Andrea Bocci for the suggestion.
- See "How do I enable CUDA and select which CUDA version to use?"
  in the FAQ for details.
* Tools
  + lstopo now has a --windows-processor-groups option on Windows.
  + hwloc-ps now has a --short-name option to avoid long/truncated
command path.
  + hwloc-ps now has a --single-ancestor option to return a single
(possibly too large) object where a process is bound.
  + hwloc-ps --pid-cmd may now query environment variables,
including MPI-specific variables to find out process ranks.


Changes since rc1 are only minor fixes.
 --
Brice



OpenPGP_signature
Description: OpenPGP digital signature
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.5.0rc1 released

2021-06-08 Thread Brice Goglin

hwloc (Hardware Locality) 2.5.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.5/

v2.5.0 is a fairly big release with 3 major topics:
* NVIDIA NVLink and AMD XGMI bandwidth matrices between GPUs.
  The distances API has been extended to make them convenient
  to consult but we may add more helpers based user feedback.
* A new "levelzero" backend for Intel oneAPI L0 devices.
  GPU distances will be added in the future.
* New topology flags to mitigate spurious binding changes
  during hwloc discovery on Windows.

The following is a summary of the changes since v2.5.0.

Version 2.5.0
-
* API
  + Add hwloc/windows.h to query Windows processor groups.
  + Add hwloc_get_obj_with_same_locality() to convert between objects
with same locality, for instance NUMA nodes and Packages,
or OS devices within a PCI device.
  + Add hwloc_distances_transform() to modify distances structures.
- hwloc-annotate and lstopo have new distances-transform options.
  + hwloc_distances_add() is replaced with _add_create() followed by
_add_values() and _add_commit(). See hwloc/distances.h for details.
  + Add topology flags to mitigate binding modifications during
hwloc discovery, especially on Windows:
- HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING and _MEMBINDING
  restrict discovery to PUs and NUMA nodes inside the binding.
- HWLOC_TOPOLOGY_FLAG_DONT_CHANGE_BINDING prevents from ever
  changing the binding during discovery.
* Backends
  + Add a levelzero backend for oneAPI L0 devices, exposed as OS devices
of subtype "LevelZero" and name such as "ze0".
- Add hwloc/levelzero.h for interoperability between converting
  between L0 API devices and hwloc cpusets or OS devices.
  + Expose NEC Vector Engine cards on Linux as OS devices of subtype
"VectorEngine" and name "ve0", etc.
Thanks to Anara Kozhokanova, Tim Cramer and Erich Focht for the help.
  + Add a NVLinkBandwidth distances structure between NVIDIA GPUs
(and POWER processor or NVSwitches) in the NVML backend,
and a XGMIBandwidth distances structure between AMD GPUs
in the RSMI backends.
- See "Topology Attributes: Distances, Memory Attributes and CPU Kinds"
  in the documentation for details about these new distances.
  + Add support for NUMA node 0 being offline in Linux, thanks to Jirka Hladky.
* Build
  + Add --with-cuda-version= or look at the CUDA_VERSION
environment variable to find the appropriate CUDA pkg-config files.
Thanks to Stephen Herbein for the suggestion.
- Also add --with-cuda= to specify the CUDA installation path
  manually (and its NVML and OpenCL components).
  Thanks to Andrea Bocci for the suggestion.
- See "How do I enable CUDA and select which CUDA version to use?"
  in the FAQ for details.
* Tools
  + lstopo now has a --windows-processor-groups option on Windows.
  + hwloc-ps now has a --short-name option to avoid long/truncated
command path.
  + hwloc-ps now has a --single-ancestor option to return a single
(possibly too large) object where a process is bound.
  + hwloc-ps --pid-cmd may now query environment variables,
including MPI-specific variables to find out process ranks.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.4.1 released

2021-02-22 Thread Brice Goglin
hwloc (Hardware Locality) 2.4.1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.4/

v2.4.1 fixes several bugs. All users are encouraged to upgrade.

The following is a summary of the changes since v2.4.0:

* Fix AMD OpenCL device locality when PCI bus or device number >= 128.
  Thanks to Edgar Leon for reporting the issue.
  + Applications using any of the following inline functions must
be recompiled to get the fix: hwloc_opencl_get_device_pci_busid()
hwloc_opencl_get_device_cpuset(), hwloc_opencl_get_device_osdev().
* Fix the ranking of cpukinds on non-Windows systems,
  thanks to Ivan Kochin for the report.
* Fix the insertion of custom Groups after loading the topology,
  thanks to Scott Hicks.
* Add support for CPU0 being offline in Linux, thanks to Garrett Clay.
* Fix missing x86 Package and Core objects FreeBSD/NetBSD.
  Thanks to Thibault Payet and Yuri Victorovich for the report.
* Fix the import of very large distances with heterogeneous object types.
* Fix a memory leak in the Linux backend,
  thanks to Perceval Anichini.

There are no changes since rc3.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.4.1rc3 released

2021-02-11 Thread Brice Goglin
Hello

Several bugs were reported since rc2, so here's rc3 with the
following noticeable changes:
* Fix the ranking of cpukinds on non-Windows systems,
  thanks to Ivan Kochin for the report.
* Add support for CPU0 being offline in Linux, thanks to Garrett Clay.

There are a couple corner cases that still need improvement
in the cpukinds code, especially for Windows, but I don't
think I should wait for these before releasing the final 2.4.1
next week.

Brice


Le 03/02/2021 à 13:34, Brice Goglin a écrit :
> Hello
> I just published rc2 with this additional fix (and some minor ones):
> * Fix the insertion of custom Groups after loading the topology,
>   thanks to Scott Hicks.
> Brice
>
>
>
> Le 26/01/2021 à 11:49, Brice Goglin a écrit :
>> hwloc (Hardware Locality) 2.4.1rc1 is now available for download.
>>
>>  https://www.open-mpi.org/software/hwloc/v2.4/
>>
>> v2.4.1 fixes several bugs (only the last one is specific to 2.4,
>> others are older). All users are encouraged to upgrade.
>>
>> The following is a summary of the changes since v2.4.0.
>>
>> Version 2.4.1
>> -
>> * Fix AMD OpenCL device locality when PCI bus or device number >= 128.
>>   Thanks to Edgar Leon for reporting the issue.
>>   + Applications using any of the following inline functions must
>> be recompiled to get the fix: hwloc_opencl_get_device_pci_busid()
>> hwloc_opencl_get_device_cpuset(), hwloc_opencl_get_device_osdev().
>> * Fix missing x86 Package and Core objects FreeBSD/NetBSD.
>>   Thanks to Thibault Payet and Yuri Victorovich for the report.
>> * Fix the import of very large distances with heterogeneous object types.
>> * Fix a memory leak in the Linux backend,
>>   thanks to Perceval Anichini.
>>
>> --
>> Brice
>>
>>
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.4.1rc2 released

2021-02-03 Thread Brice Goglin
Hello

I just published rc2 with this additional fix (and some minor ones):

* Fix the insertion of custom Groups after loading the topology,
  thanks to Scott Hicks.

Brice



Le 26/01/2021 à 11:49, Brice Goglin a écrit :
> hwloc (Hardware Locality) 2.4.1rc1 is now available for download.
>
>   https://www.open-mpi.org/software/hwloc/v2.4/
>
> v2.4.1 fixes several bugs (only the last one is specific to 2.4,
> others are older). All users are encouraged to upgrade.
>
> The following is a summary of the changes since v2.4.0.
>
> Version 2.4.1
> -
> * Fix AMD OpenCL device locality when PCI bus or device number >= 128.
>   Thanks to Edgar Leon for reporting the issue.
>   + Applications using any of the following inline functions must
> be recompiled to get the fix: hwloc_opencl_get_device_pci_busid()
> hwloc_opencl_get_device_cpuset(), hwloc_opencl_get_device_osdev().
> * Fix missing x86 Package and Core objects FreeBSD/NetBSD.
>   Thanks to Thibault Payet and Yuri Victorovich for the report.
> * Fix the import of very large distances with heterogeneous object types.
> * Fix a memory leak in the Linux backend,
>   thanks to Perceval Anichini.
>
> --
> Brice
>
>
___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.4.1rc1 released

2021-01-26 Thread Brice Goglin
hwloc (Hardware Locality) 2.4.1rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.4/

v2.4.1 fixes several bugs (only the last one is specific to 2.4,
others are older). All users are encouraged to upgrade.

The following is a summary of the changes since v2.4.0.

Version 2.4.1
-
* Fix AMD OpenCL device locality when PCI bus or device number >= 128.
  Thanks to Edgar Leon for reporting the issue.
  + Applications using any of the following inline functions must
be recompiled to get the fix: hwloc_opencl_get_device_pci_busid()
hwloc_opencl_get_device_cpuset(), hwloc_opencl_get_device_osdev().
* Fix missing x86 Package and Core objects FreeBSD/NetBSD.
  Thanks to Thibault Payet and Yuri Victorovich for the report.
* Fix the import of very large distances with heterogeneous object types.
* Fix a memory leak in the Linux backend,
  thanks to Perceval Anichini.

--
Brice


___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.4.0 released

2020-12-01 Thread Brice Goglin
hwloc (Hardware Locality) 2.4.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.3/

v2.4.0 is a small release that mainly brings support for hybrid CPUs
through a new API in hwloc/cpukinds.h.

The following is a summary of the changes since v2.3.0.

Version 2.4.0
-
* API
  + Add hwloc/cpukinds.h for reporting information about hybrid CPUs.
- Use Linux cpufreq frequencies to rank cores by efficiency.
- Use x86 CPUID hybrid leaf and future Linux kernels sysfs CPU type
  files to identify Intel Atom and Core cores.
- Use the Windows native EfficiencyClass to separate kinds.
* Backends
  + Properly handle Linux kernel 5.10+ exposing ACPI HMAT information
with knowledge of Generic Initiators.
* Tools
  + lstopo has new --cpukinds and --no-cpukinds options for showing
CPU kinds or not in textual and graphical modes respectively.
  + hwloc-calc has a new --cpukind option for filtering PUs by kind.
  + hwloc-annotate has a new cpukind command for modifying CPU kinds.
* Misc
  + Fix hwloc_bitmap_nr_ulongs(), thanks to Norbert Eicker.
  + Add a documentation section about
"Topology Attributes: Distances, Memory Attributes and CPU Kinds".
  + Silence some spurious warnings in the OpenCL backend and when showing
process binding with lstopo --ps.


There are no changes since 2.4.0rc2.
--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.4.0rc1 released

2020-11-23 Thread Brice Goglin
hwloc (Hardware Locality) 2.4.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.4/

v2.4.0 is a small release that mainly brings support for hybrid CPUs
through a new API in hwloc/cpukinds.h.

The following is a summary of the changes since v2.3.0.

Version 2.4.0
-
* API
  + Add hwloc/cpukinds.h for reporting information about hybrid CPUs.
- Use Linux cpufreq frequencies to rank cores by efficiency.
- Use x86 CPUID hybrid leaf and future Linux kernels sysfs CPU type
  files to identify Intel Atom and Core cores.
- Use the Windows native EfficiencyClass to separate kinds.
* Backends
  + Properly handle Linux kernel 5.10+ exposing ACPI HMAT information
with knowledge of Generic Initiators.
* Tools
  + lstopo has new --cpukinds and --no-cpukinds options for showing
CPU kinds or not in textual and graphical modes respectively.
  + hwloc-calc has a new --cpukind option for filtering PUs by kind.
  + hwloc-annotate has a new cpukind command for modifying CPU kinds.
* Misc
  + Fix hwloc_bitmap_nr_ulongs(), thanks to Norbert Eicker.
  + Add a documentation section about
"Topology Attributes: Distances, Memory Attributes and CPU Kinds".
  + Silence some spurious warnings in the OpenCL backend and when showing
process binding with lstopo --ps.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.2.0 released

2020-03-30 Thread Brice Goglin
hwloc (Hardware Locality) 2.2.0 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.2/

v2.2.0 only brings a small list of small features. Larger changes were
planned but they are not ready, they will be in 2.3 in a couple months.

Upgrading from 2.1.0 should be safe, hence I don't expect to release
any 2.1.1 stable release ever. Hopefully the 1.11.x isn't used by anybody
anymore either.

The following is a summary of the changes since v2.1.0.

Version 2.2.0
-
* API
  + Add hwloc_bitmap_singlify_by_core() to remove SMT from a given cpuset,
thanks to Florian Reynier for the suggestion.
  + Add --enable-32bits-pci-domain to stop ignoring PCI devices with domain
>16bits (e.g. 1:02:03.4). Enabling this option breaks the library ABI.
Thanks to Dylan Simon for the help.
* Backends
  + Add support for Linux cgroups v2.
  + Add NUMA support for FreeBSD.
  + Add get_last_cpu_location support for FreeBSD.
  + Remove support for Intel Xeon Phi (MIC, Knights Corner) co-processors.
* Tools
  + Add --uid to filter the hwloc-ps output by uid on Linux.
  + Add a GRAPHICAL OUTPUT section in the manpage of lstopo.
* Misc
  + Use the native dlopen instead of libltdl,
unless --disable-plugin-dlopen is passed at configure time.

Changes since rc1 are minor fixes for make check on unusual systems.
--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.1.0rc1 released

2019-09-24 Thread Brice Goglin
hwloc (Hardware Locality) 2.1.0rc1 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.1/

v2.1.0 brings quite a lot of improvements.
There are two new object types: "Die" for Xeon 9200 processors,
and "MemorySideCache" (used when DDR is a cache in front of NVDIMMs).

There's also better support for discovering the locality of memory
(e.g. when DDR and NVDIMMs are used as separate NUMA nodes).

lstopo got a lot of improvements: nicer graphical output, factorization
of identical objects (when you have mny cores in your CPUs),
many keyboard shortcuts to configure interactive outputs.

Bash completions are also available to ease command-line invocations.


The following is a summary of the changes since v2.0.4.

Version 2.1.0
-
* API
  + Add a new "Die" object (HWLOC_OBJ_DIE) for upcoming x86 processors
with multiple dies per package, in the x86 and Linux backends.
  + Add the new HWLOC_OBJ_MEMCACHE object type for memory-side caches.
- They are filtered-out by default, except in command-line tools.
- They are only available on very recent platforms running Linux 5.2+
  and uptodate ACPI tables.
- The KNL MCDRAM in cache mode is still exposed as a L3 unless
  HWLOC_KNL_MSCACHE_L3=0 in the environment.
  + Add HWLOC_RESTRICT_FLAG_BYNODESET and _REMOVE_MEMLESS for restricting
topologies based on some memory nodes.
  + Add hwloc_topology_set_components() for blacklisting some components
from being enabled in a topology.
  + Add hwloc_bitmap_nr_ulongs() and hwloc_bitmap_from/to_ulongs(),
thanks to Junchao Zhang for the suggestion.
  + Improve the API for dealing with disallowed resources
- HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM is replaced with FLAG_INCLUDE_DISALLOWED
  and --whole-system command-line options with --disallowed.
  . Former names are still accepted for backward compatibility.
- Add hwloc_topology_allow() for changing allowed sets after load().
- Add the HWLOC_ALLOW=all environment variable to totally ignore
  administrative restrictions such as Linux Cgroups.
- Add disallowed_pu and disallowed_numa bits to the discovery support
  structure.
  + Group objects have a new "dont_merge" attribute to prevent them from
being automatically merged with identical parent or children.
  + Add more distances-related features:
- Add hwloc_distances_get_name() to retrieve a string describing
  what a distances structure contain.
- Add hwloc_distances_get_by_name() to retrieve distances structures
  based on their name.
- Add hwloc_distances_release_remove()
- Distances may now cover objects of different types with new kind
  HWLOC_DISTANCES_KIND_HETEROGENEOUS_TYPES.
* Backends
  + Add support for Linux 5.3 new sysfs cpu topology files with Die information.
  + Add support for Intel v2 Extended Topology Enumeration in the x86 backend.
  + Improve memory locality on Linux by using HMAT initiators (exposed
since Linux 5.2+), and NUMA distances for CPU-less NUMA nodes.
  + The x86 backend now properly handles offline CPUs.
  + Detect the locality of NVIDIA GPU OpenCL devices.
  + Ignore NUMA nodes that correspond to NVIDIA GPU by default.
- They may be unignored if HWLOC_KEEP_NVIDIA_GPU_NUMA_NODES=1 in the 
environment.
- Fix their CPU locality and add info attributes to identify them.
Thanks to Max Katz and Edgar Leon for the help.
  + Add support for IBM S/390 drawers.
  + Rework the heuristics for discovering KNL Cluster and Memory modes
to stop assuming all CPUs are online (required for mOS support).
Thanks to Sharath K Bhat for testing patches.
  + Ignore NUMA node information from AMD topoext in the x86 backend,
unless HWLOC_X86_TOPOEXT_NUMANODES=1 is set in the environment.
  + Expose Linux DAX devices as hwloc Block OS devices.
  + Remove support for /proc/cpuinfo-only topology discovery in Linux
kernel prior to 2.6.16.
  + Disable POWER device-tree-based topology on Linux by default.
- It may be reenabled by setting HWLOC_USE_DT=1 in the environment.
  + Discovery components are now divided in phases that may be individually
blacklisted.
- The linuxio component has been merged back into the linux component.
* Tools
  + lstopo
- lstopo factorizes objects by default in the graphical output when
  there are more than 4 identical children.
  . New options --no-factorize and --factorize may be used to configure 
this.
  . Hit the 'f' key to disable factorizing in interactive outputs.
- Both logical and OS/physical indexes are now displayed by default
  for PU and NUMA nodes.
- The X11 and Windows interactive outputs support many keyboard
  shortcuts to dynamically customize the attributes, legend, etc.
- Add --linespacing and change default margins and linespacing.
- Add --allow for changing allowed sets.
- Add a native SVG backend. Its graphical output may be slightly less
  pretty 

[hwloc-announce] hwloc 2.0.4rc1 and 1.11.13rc1 released

2019-06-03 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidates of 2.0.4 and 1.11.13.

   http://www.open-mpi.org/projects/hwloc/

The most important change is support for upcoming Intel processors with
multiple Dies per CPU. hwloc release 2.1 will add a new "Die" object.
In the meantime 1.11.13 and 2.0.4 represent those Dies as "Die" groups.

The following is a summary of the major changes between 2.0.3 and 2.0.4.
Changes between 1.11.12 and 1.11.13 are identical.

* Add support for Linux 5.3 new sysfs cpu topology files with Die information.
* Add support for Intel v2 Extended Topology Enumeration in the x86 backend.
* Tiles, Modules and Dies are exposed as Groups for now.
  + HWLOC_DONT_MERGE_DIE_GROUPS=1 may be set in the environment to prevent
Die groups from being automatically merged with identical parent or 
children.
* Ignore NUMA node information from AMD topoext in the x86 backend,
  unless HWLOC_X86_TOPOEXT_NUMANODES=1 is set in the environment.
* Group objects have a new "dont_merge" attribute to prevent them from
  being automatically merged with identical parent or children.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 2.0.2 released

2018-09-03 Thread Brice Goglin
hwloc (Hardware Locality) 2.0.2 is now available for download.

https://www.open-mpi.org/software/hwloc/v2.0/

2.0.2 addresses all known bugs in the 2.0 series, and brings some
improvements.

Summary of the changes since 2.0.1:
* Add support for Hygon Dhyana processors in the x86 backend,
  thanks to Pu Wen for the patch.
* Fix symbol renaming to also rename internal components,
  thanks to Evan Ramos for the patch.
* Fix build on HP-UX, thanks to Richard Lloyd for reporting the issues.
* Detect PCI link speed without being root on Linux >= 4.13.
* Add HWLOC_VERSION* macros to the public headers,
  thanks to Gilles Gouaillardet for the suggestion.

Most of these changes are also in 1.11.11.

2.0.2 might be the last 2.0.x releases because 2.1.0 is expected
in the near future.
--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce


[hwloc-announce] hwloc 2.0.2rc2 released

2018-08-28 Thread Brice Goglin
2.0.2rc2 is out.

We had some last minute minor fixes. Some of them touch the build
system, hence I'd like a bit of testing before the final release.

FWIW the only noticeable change is that hwloc should build again on
HP-UX. If anybody can provide remote access to HP-UX, it would avoid
such future breakage.

Brice



Le 15/08/2018 à 15:34, Brice Goglin a écrit :
> The Hardware Locality (hwloc) team is pleased to announce the first
> release candidate of 2.0.2.
>
>http://www.open-mpi.org/projects/hwloc/
>
> 2.0.2 addresses all known bugs in the 2.0 series, and brings some
> improvements.
>
> The following is a summary of the changes since 2.0.1:
>
> * Add support for Hygon Dhyana processors in the x86 backend,
>   thanks to Pu Wen for the patch.
> * Fix symbol renaming to also rename internal components,
>   thanks to Evan Ramos for the patch.
> * Detect PCI link speed without being root on Linux >= 4.13.
> * Add HWLOC_VERSION* macros to the public headers,
>   thanks to Gilles Gouaillardet for the suggestion.
>
> Most of these changes are also in 1.11.11.
>
> 2.0.1 will likely be the last 2.0.x releases because 2.1.0 is expected
> in the near future.
> --
> Brice
>

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] hwloc 1.11.11rc2 released

2018-08-28 Thread Brice Goglin
1.11.11rc2 is out.

We had some last minute minor fixes. Some of them touch the build
system, hence I'd like a bit of testing before the final release.

FWIW the only noticeable change is that hwloc should build again on
HP-UX. If anybody can provide remote access to HP-UX, it would avoid
such future breakage.

Any similarity to another recent email is purely coincidental.

Brice



Le 15/08/2018 à 15:37, Brice Goglin a écrit :
> The Hardware Locality (hwloc) team is pleased to announce the first
> release candidate of 1.11.11.
>
>http://www.open-mpi.org/projects/hwloc/
>
> 1.11.11 addresses all known bugs in the 1.11 series, and brings some
> improvements.
>
> The following is a summary of the changes since 1.11.10:
>
> * Add support for Hygon Dhyana processors in the x86 backend,
>   thanks to Pu Wen for the patch.
> * Fix symbol renaming to also rename internal components,
>   thanks to Evan Ramos for the patch.
> * Detect PCI link speed without being root on Linux >= 4.13.
>
> All these changes are also in 2.0.2.
>
> There will likely be additional ultrastable 1.11.x releases in the future,
> even after 2.1.0 is released.
> --
> Brice
>

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] Hardware Locality (hwloc) 1.11.11rc1 released

2018-08-15 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of 1.11.11.

   http://www.open-mpi.org/projects/hwloc/

1.11.11 addresses all known bugs in the 1.11 series, and brings some
improvements.

The following is a summary of the changes since 1.11.10:

* Add support for Hygon Dhyana processors in the x86 backend,
  thanks to Pu Wen for the patch.
* Fix symbol renaming to also rename internal components,
  thanks to Evan Ramos for the patch.
* Detect PCI link speed without being root on Linux >= 4.13.

All these changes are also in 2.0.2.

There will likely be additional ultrastable 1.11.x releases in the future,
even after 2.1.0 is released.
--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce


[hwloc-announce] Hardware Locality (hwloc) v2.0.1 released

2018-03-26 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v2.0.1:

   http://www.open-mpi.org/projects/hwloc/

v2.0.1 addresses all known bugs in the v2.0 series, and brings some
minor improvements.

*** The library soname was broken in 2.0.0. In theory it may allow
mixing libhwloc 2.0.0 and 1.11.x, which are incompatible.
Hence we are changing the soname again in 2.0.1, which means you'll
have to recompile applications even if the ABI didn't actually change.
Sorry for the mess. Let's forget about 2.0.0 for ever.


The following is a summary of the changes since v2.0.0:

* Bump the library soname to 15:0:0 to avoid conflicts with hwloc 1.11.x
  releases. The hwloc 2.0.0 soname was buggy (12:0:0), applications will
  have to be recompiled.
* Serialize pciaccess discovery to fix concurrent topology loads in
  multiple threads.
* Fix hwloc-dump-hwdata to only process SMBIOS information that correspond
  to the KNL and KNM configuration.
* Add a heuristic for guessing KNL/KNM memory and cluster modes when
  hwloc-dump-hwdata could not run as root earlier.
* Add --no-text lstopo option to remove text from some boxes in the
  graphical output. Mostly useful for removing Group labels.
* Some minor fixes to memory binding.

All these fixes are also in 1.11.10 when relevant.

There are no changes since rc1.
--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] Hardware Locality (hwloc) v2.0.1rc1 released

2018-03-20 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of v2.0.1.

   http://www.open-mpi.org/projects/hwloc/

v2.0.1 addresses all known bugs in the v2.0 series, and brings some
minor improvements.

*** The library soname was broken in 2.0.0. In theory it may allow
mixing libhwloc 2.0.0 and 1.11.x, which are incompatible.
Hence we are changing the soname again in 2.0.1, which means you'll
have to recompile applications even if the ABI didn't actually change.
Sorry for the mess. Let's forget about 2.0.0 for ever.


The following is a summary of the changes since v2.0.0:

* Bump the library soname to 15:0:0 to avoid conflicts with hwloc 1.11.x
  releases. The hwloc 2.0.0 soname was buggy (12:0:0), applications will
  have to be recompiled.
* Serialize pciaccess discovery to fix concurrent topology loads in
  multiple threads.
* Fix hwloc-dump-hwdata to only process SMBIOS information that correspond
  to the KNL and KNM configuration.
* Add a heuristic for guessing KNL/KNM memory and cluster modes when
  hwloc-dump-hwdata could not run as root earlier.
* Add --no-text lstopo option to remove text from some boxes in the
  graphical output. Mostly useful for removing Group labels.
* Some minor fixes to memory binding.

All these fixes are also in 1.11.10 when relevant.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce

[hwloc-announce] Hardware Locality (hwloc) v1.11.10rc1 released

2018-03-20 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of v1.11.10.

   http://www.open-mpi.org/projects/hwloc/

v1.11.10 addresses all known bugs in the v1.11 series, and brings some
improvements.

The following is a summary of the changes since v1.11.9:

* Fix detection of cores and hyperthreads on Mac OS X.
* Serialize pciaccess discovery to fix concurrent topology loads in
  multiple threads.
* Fix first touch area memory binding on Linux when thread memory
  binding is different.
* Some minor fixes to memory binding.
* Fix hwloc-dump-hwdata to only process SMBIOS information that correspond
  to the KNL and KNM configuration.
* Add a heuristic for guessing KNL/KNM memory and cluster modes when
  hwloc-dump-hwdata could not run as root earlier.
* Fix discovery of NVMe OS devices on Linux >= 4.0.
* Add get_area_memlocation() on Windows.
* Add CPUVendor, Model, ... attributes on Mac OS X.

Some of these fixes were in 2.0.0, some will be in 2.0.1 (to be released very 
soon).
To avoid confusion about which fix is already released in which branch in the 
future,
we will now try to synchronize 1.11.x and 2.0.x stable releases as much as 
possible.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce


[hwloc-announce] Hardware locality (hwloc) v2.0.0 release

2018-02-05 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the
release of v2.0.0:

   http://www.open-mpi.org/projects/hwloc/

v2.0.0 is the result of more than 2 years of work.
There are lots of changes as listed below, including
* Better support for upcoming heterogeneous/hybrid/non-volatile
  memory technologies, which involves significant changes in the
  way NUMA nodes are attached to the tree and placed in a level.
* API changes to cleanup bad ideas from 8 years ago

The documentation contains a guide for upgrading your code to
the new v2.0 API:
  https://www.open-mpi.org/projects/hwloc/doc/v2.0.0/a00327.php
If you need more help, please contact hwloc-us...@lists.open-mpi.org

If you really can't upgrade now, note that we will still publish
other v1.11.x ultrastable releases in the future months.


Version 2.0.0
-
*** The ABI of the library has changed. ***
  For instance some hwloc_obj fields were reordered, added or removed, see 
below.
  + HWLOC_API_VERSION and hwloc_get_api_version() now give 0x0002.
  + See "How do I handle ABI breaks and API upgrades ?" in the FAQ
and "Upgrading to hwloc 2.0 API" in the documentation.
* Major API changes
  + Memory, I/O and Misc objects are now stored in dedicated children lists,
not in the usual children list that is now only used for CPU-side objects.
- hwloc_get_next_child() may still be used to iterate over these 4 lists
  of children at once.
- hwloc_obj_type_is_normal(), _memory() and _io() may be used to check
  the kind of a given object type.
  + Topologies always have at least one NUMA object. On non-NUMA machines,
a single NUMA object is added to describe the entire machine memory.
The NUMA level cannot be ignored anymore.
  + The NUMA level is special since NUMA nodes are not in the main hierarchy
of objects anymore. Its depth is a fake negative depth that should not be
compared with normal levels.
- If all memory objects are attached to parents at the same depth,
  it may be retrieved with hwloc_get_memory_parents_depth().
  + The HWLOC_OBJ_CACHE type is replaced with 8 types HWLOC_OBJ_L[1-5]CACHE
and HWLOC_OBJ_L[1-3]ICACHE that remove the need to disambiguate levels
when looking for caches with _by_type() functions.
- New hwloc_obj_type_is_{,d,i}cache() functions may be used to check whether
  a given type is a cache.
  + Reworked ignoring/filtering API
- Replace hwloc_topology_ignore*() functions with 
hwloc_topology_set_type_filter()
  and hwloc_topology_set_all_types_filter().
  . Contrary to hwloc_topology_ignore_{type,all}_keep_structure() which
removed individual objects, HWLOC_TYPE_FILTER_KEEP_STRUCTURE only 
removes
entire levels (so that topology do not become too asymmetric).
- Remove HWLOC_TOPOLOGY_FLAG_ICACHES in favor of 
hwloc_topology_set_icache_types_filter()
  with HWLOC_TYPE_FILTER_KEEP_ALL.
- Remove HWLOC_TOPOLOGY_FLAG_IO_DEVICES, _IO_BRIDGES and _WHOLE_IO in favor 
of
  hwloc_topology_set_io_types_filter() with HWLOC_TYPE_FILTER_KEEP_ALL or
  HWLOC_TYPE_FILTER_KEEP_IMPORTANT.
  + The distance API has been completely reworked. It is now described
in hwloc/distances.h.
  + Return values
- Most functions in hwloc/bitmap.h now return an int that may be negative
  in case of failure to realloc/extend the internal storage of a bitmap.
- hwloc_obj_add_info() also returns an int in case allocations fail.
* Minor API changes
  + Object attributes
- obj->memory is removed.
  . local_memory and page_types attributes are now in obj->attr->numanode
  . total_memory moves obj->total_memory.
- Objects do not have allowed_cpuset and allowed_nodeset anymore.
  They are only available for the entire topology using
  hwloc_topology_get_allowed_cpuset() and 
hwloc_topology_get_allowed_nodeset().
- Objects now have a "subtype" field that supersedes former "Type" and
  "CoProcType" info attributes.
  + Object and level depths are now signed ints.
  + Object string printing and parsing
- hwloc_type_sscanf() deprecates the old hwloc_obj_type_sscanf().
- hwloc_type_sscanf_as_depth() is added to convert a type name into
  a level depth.
- hwloc_obj_cpuset_snprintf() is deprecated in favor of 
hwloc_bitmap_snprintf().
  + Misc objects
- Replace hwloc_topology_insert_misc_object_by_cpuset() with
  hwloc_topology_insert_group_object() to precisely specify the location
  of an additional hierarchy level in the topology.
- Misc objects have their own level and depth to iterate over all of them.
- Misc objects may now only be inserted as a leaf object with
  hwloc_topology_insert_misc_object() which deprecates
  hwloc_topology_insert_misc_object_by_parent().
  + hwloc_topology_restrict() doesn't remove objects that contain memory
by default anymore.
- The list of existing restrict flags was modified.
  + The discovery support array now 

[hwloc-announce] Hardware locality (hwloc) v2.0.0rc2 released

2018-01-29 Thread Brice Goglin
Hello

2.0.0rc2 is out. Changes since rc1 include:
* Mac OS X core and hyperthread discovery fixes
* Memory binding improvements on Linux and Windows
* Some clarification about the memory binding policies
* Some minor configure/build fixes
* Many documentation updates

I'd like to say we won't need a rc3, but we got several reports
after rc1, hence I can't be sure it won't happen again :)

Note that the Upgrading page is being moved from the wiki
to the official documentation (available from the Related Pages tab):
https://www.open-mpi.org/projects/hwloc/doc/v2.0.0rc2/a00327.php

Brice



Le 16/01/2018 à 16:51, Brice Goglin a écrit :

> The Hardware Locality (hwloc) team is pleased to announce the first
> release candidate for v2.0.0:
>
>http://www.open-mpi.org/projects/hwloc/
>
> v2.0.0 is the result of more than 2 years of work.
> There are lots of changes as listed below, including
> * Better support for upcoming heterogeneous/hybrid/non-volatile
>   memory technologies, which involves significant changes in the
>   way NUMA nodes are attached to the tree and placed in a level.
> * API changes to cleanup bad ideas from 8 years ago
>
> You are strongly encouraged to
> ** try porting your code to this release candidate as soon as possible **
> and report any issue about the new API.
> We can still change the API until the final 2.0 is released.
> But we cannot break it later!
>
> See https://github.com/open-mpi/hwloc/wiki/Upgrading-to-v2.0-API
> for details about API changes.
>
> Version 2.0.0
> -
> *** The ABI of the library has changed. ***
>   For instance some hwloc_obj fields were reordered, added or removed, see 
> below.
>   + HWLOC_API_VERSION and hwloc_get_api_version() now give 0x0002.
>   + See "How do I handle ABI breaks and API upgrades ?" in the FAQ
> and https://github.com/open-mpi/hwloc/wiki/Upgrading-to-v2.0-API
> * Major API changes
>   + Memory, I/O and Misc objects are now stored in dedicated children lists,
> not in the usual children list that is now only used for CPU-side objects.
> - hwloc_get_next_child() may still be used to iterate over these 4 lists
>   of children at once.
> - hwloc_obj_type_is_normal(), _memory() and _io() may be used to check
>   the kind of a given object type.
>   + Topologies always have at least one NUMA object. On non-NUMA machines,
> a single NUMA object is added to describe the entire machine memory.
> The NUMA level cannot be ignored anymore.
>   + The NUMA level is special since NUMA nodes are not in the main hierarchy
> of objects anymore. Its depth is a fake negative depth that should not be
> compared with normal levels.
> - If all memory objects are attached to parents at the same depth,
>   it may be retrieved with hwloc_get_memory_parents_depth().
>   + The HWLOC_OBJ_CACHE type is replaced with 8 types HWLOC_OBJ_L[1-5]CACHE
> and HWLOC_OBJ_L[1-3]ICACHE that remove the need to disambiguate levels
> when looking for caches with _by_type() functions.
> - New hwloc_obj_type_is_{,d,i}cache() functions may be used to check 
> whether
>   a given type is a cache.
>   + Reworked ignoring/filtering API
> - Replace hwloc_topology_ignore*() functions with 
> hwloc_topology_set_type_filter()
>   and hwloc_topology_set_all_types_filter().
>   . Contrary to hwloc_topology_ignore_{type,all}_keep_structure() which
> removed individual objects, HWLOC_TYPE_FILTER_KEEP_STRUCTURE only 
> removes
> entire levels (so that topology do not become too asymmetric).
> - Remove HWLOC_TOPOLOGY_FLAG_ICACHES in favor of 
> hwloc_topology_set_icache_types_filter()
>   with HWLOC_TYPE_FILTER_KEEP_ALL.
> - Remove HWLOC_TOPOLOGY_FLAG_IO_DEVICES, _IO_BRIDGES and _WHOLE_IO in 
> favor of
>   hwloc_topology_set_io_types_filter() with HWLOC_TYPE_FILTER_KEEP_ALL or
>   HWLOC_TYPE_FILTER_KEEP_IMPORTANT.
>   + The distance API has been completely reworked. It is now described
> in hwloc/distances.h.
>   + Return values
> - Most functions in hwloc/bitmap.h now return an int that may be negative
>   in case of failure to realloc/extend the internal storage of a bitmap.
> - hwloc_obj_add_info() also returns an int in case allocations fail.
> * Minor API changes
>   + Object attributes
> - obj->memory is removed.
>   . local_memory and page_types attributes are now in obj->attr->numanode
>   . total_memory moves obj->total_memory.
> - Objects do not have allowed_cpuset and allowed_nodeset anymore.
>   They are only available for the entire topology using
>   hwloc_topology_get_allowed_cpuset() and 
> hwloc_topology_get_allowed_nodeset().
> - Ob

[hwloc-announce] Hardware Locality (hwloc) v1.11.9 released

2018-01-18 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.11.9:

   http://www.open-mpi.org/projects/hwloc/

v1.11.9 addresses all known bugs in the v1.11 series, and brings some
improvements, mostly to the x86 backend.

The following is a summary of the changes since v1.11.8:

* Add support for Zhaoxin ZX-C and ZX-D processors in the x86 backend,
  thanks to Jeff Zhao for the patch.
* Fix AMD Epyc 24-core L3 cache locality in the x86 backend.
* Don't crash in the x86 backend when the CPUID vendor string is unknown.
* Fix the missing pu discovery support bit on some OS.
* Fix the management of the lstopoStyle info attribute for custom colors.
* Add verbose warnings when failing to load hwloc v2.0+ XMLs.

Changes since rc1 are cleanups in the x86 backend.

The final v2.0.0 will be in the next weeks. And there will be other
v1.11.x stable releases even after v2.0.0 comes out.
--
Brice


___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce


[hwloc-announce] Hardware Locality (hwloc) v1.11.9rc1 released

2018-01-11 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of v1.11.9.

   http://www.open-mpi.org/projects/hwloc/

v1.11.9 addresses all known bugs in the v1.11 series, and brings some
improvements, mostly to the x86 backend.

The following is a summary of the changes since v1.11.8:

* Add support for Zhaoxin ZX-C and ZX-D processors in the x86 backend,
  thanks to Jeff Zhao for the patch.
* Fix AMD Epyc 24-core L3 cache locality in the x86 backend.
* Fix the missing pu discovery support bit on some OS.
* Fix the management of the lstopoStyle info attribute for custom colors.
* Add verbose warnings when failing to load hwloc v2.0+ XMLs.

v2.0.0rc1 will likely be released next week. And there will be other
v1.11.x stable releases even after v2.0.0 comes out.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce


[hwloc-announce] Hardware Locality (hwloc) v1.11.8 released

2017-09-06 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.11.8:

   http://www.open-mpi.org/projects/hwloc/

v1.11.8 addresses all known bugs in the v1.11 series, and brings some
improvements, mostly to Solaris support and command-line tools.

Windows users, prebuilt zipballs are back.

The following is a summary of the changes since v1.11.7:

* Multiple Solaris improvements, thanks to Maureen Chew for the help:
  + Detect caches on Sparc.
  + Properly detect allowed/disallowed PUs and NUMA nodes with processor sets.
  + Add hwloc_get_last_cpu_location() support for the current thread.
* Add support for CUDA compute capability 7.0 and fix support for 6.[12].
* Tools improvements
  + Fix search for objects by physical index in command-line tools.
  + Add missing "cpubind:get_thisthread_last_cpu_location" in the output
of hwloc-info --support.
  + Add --pid and --name to specify target processes in hwloc-ps.
  + Display thread names in lstopo and hwloc-ps on Linux.
* Doc improvements
  + Add a FAQ entry about building on Windows.
  + Install missing sub-manpage for hwloc_obj_add_info() and
hwloc_obj_get_info_by_name().

Changes since rc1 are minor.

--
Brice


___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce


[hwloc-announce] Hardware Locality (hwloc) v1.11.8rc1 released

2017-08-30 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of v1.11.8.

   http://www.open-mpi.org/projects/hwloc/

v1.11.8 addresses all known bugs in the v1.11 series, and brings some
improvements, mostly to Solaris support and command-line tools.

Windows users, please note that zipballs are not available yet
(our new build machine/script doesn't embed MSYS2 DLL dependencies yet).
If you want to test beta zipballs, please let me know.

The following is a summary of the changes since v1.11.7:

* Multiple Solaris improvements, thanks to Maureen Chew for the help:
  + Detect caches on Sparc.
  + Properly detect allowed/disallowed PUs and NUMA nodes with processor sets.
  + Add hwloc_get_last_cpu_location() support for the current thread.
* Add support for CUDA compute capability 7.0 and fix support for 6.[12].
* Tools improvements
  + Fix search for objects by physical index in command-line tools.
  + Add missing "cpubind:get_thisthread_last_cpu_location" in the output
of hwloc-info --support.
  + Add --pid and --name to specify target processes in hwloc-ps.
  + Display thread names in lstopo and hwloc-ps on Linux.
* Doc improvements
  + Add a FAQ entry about building on Windows.
  + Install missing sub-manpage for hwloc_obj_add_info() and
hwloc_obj_get_info_by_name().

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/hwloc-announce


[hwloc-announce] Hardware Locality (hwloc) v1.11.6 released

2017-02-23 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.11.6:

   http://www.open-mpi.org/projects/hwloc/

v1.11.6 addresses all known bugs in the v1.11 series. It also brings
one small improvement.

The following is a summary of the changes since v1.11.5:

* Make the Linux discovery about twice faster, especially on the CPU side,
  by trying to avoid sysfs file accesses as much as possible.
* Add support for AMD Family 17h processors (Zen) SMT cores in the Linux
  and x86 backends.
* Add the HWLOC_TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES flag (and the
  HWLOC_THISSYSTEM_ALLOWED_RESOURCES environment variable) for reading the
  set of allowed resources from the local operating system even if the
  topology was loaded from XML or synthetic.
* Fix hwloc_bitmap_set/clr_range() for infinite ranges that do not
  overlap currently defined ranges in the bitmap.
* Don't reset the lstopo zoom scale when moving the X11 window.
* lstopo now has --flags for manually setting topology flags.
* hwloc_get_depth_type() returns HWLOC_TYPE_DEPTH_UNKNOWN for Misc objects.

Changes since 1.11.6rc1 are minor.

--
Brice

___
hwloc-announce mailing list
hwloc-announce@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/hwloc-announce


[hwloc-announce] Hardware Locality (hwloc) v1.11.2 released

2015-12-17 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.11.2:

   http://www.open-mpi.org/projects/hwloc/

v1.11.2 will address all known bugs in the v1.11 series and bring
some minor new features (mostly improvements for x86, especially KNL).

The following is a summary of the changes since v1.11.1:

* Improve support for Intel Knights Landing Xeon Phi on Linux:
  + Group local NUMA nodes of normal memory (DDR) and high-bandwidth memory
(MCDRAM) together through "Cluster" groups so that the local MCDRAM is
easy to find.
- See "How do I find the local MCDRAM NUMA node on Intel Knights
  Landing Xeon Phi?" in the documentation.
- For uniformity across all KNL configurations, always have a NUMA node
  object even if the host is UMA.
  + Fix the detection of the memory-side cache:
- Add the hwloc-dump-hwdata superuser utility to dump SMBIOS information
  into /var/run/hwloc/ as root during boot, and load this dumped
  information from the hwloc library at runtime.
- See "Why do I need hwloc-dump-hwdata for caches on Intel Knights
  Landing Xeon Phi?" in the documentation.
  Thanks to Grzegorz Andrejczuk for the patches and for the help.
* The x86 and linux backends may now be combined for discovering CPUs
  through x86 CPUID and memory from the Linux kernel.
  This is useful for working around buggy CPU information reported by Linux
  (for instance the AMD Bulldozer/Piledriver bug below).
  Combination is enabled by passing HWLOC_COMPONENTS=x86 in the environment.
* Fix L3 cache sharing on AMD Opteron 63xx (Piledriver) and 62xx (Bulldozer)
  in the x86 backend. Thanks to many users who helped.
* Fix the overzealous L3 cache sharing fix added to the x86 backend in 1.11.1
  for AMD Opteron 61xx (Magny-Cours) processors.
* The x86 backend may now add the info attribute Inclusive=0 or 1 to caches
  it discovers, or to caches discovered by other backends earlier.
  Thanks to Guillaume Beauchamp for the patch.
* Fix the management on alloc_membind() allocation failures on AIX, HP-UX
  and OSF/Tru64.
* Fix spurious failures to load with ENOMEM on AIX in case of Misc objects
  below PUs.
* lstopo improvements in X11 and Windows graphical mode:
  + Add + - f 1 shortcuts to manually zoom-in, zoom-out, reset the scale,
or fit the entire window.
  + Display all keyboard shortcuts in the console.
* Debug messages may be disabled at runtime by passing HWLOC_DEBUG_VERBOSE=0
  in the environment when --enable-debug was passed to configure.
* Add a FAQ entry "What are these Group objects in my topology?".

--
Brice



[hwloc-announce] Hardware locality (hwloc) v1.11.0rc1 released

2015-06-02 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate for v1.11.0:

   http://www.open-mpi.org/projects/hwloc/

v1.11.0rc1 is the first milestone of a major feature release.
It brings support for the upcoming "Knights Landing" Xeon Phi,
more information about memory and storage devices on Linux,
as well as many small improvements everywhere.

By the way, there is now a best of lstopo at
   http://www.open-mpi.org/projects/hwloc/lstopo/

Version 1.11.0
--
* API
  + Socket objects are renamed into Package to align with the terminology
used by processor vendors. The old HWLOC_OBJ_SOCKET type and "Socket"
name are still supported for backward compatibility.
  + HWLOC_OBJ_NODE is replaced with HWLOC_OBJ_NUMANODE for clarification.
HWLOC_OBJ_NODE is still supported for backward compatibility.
"Node" and "NUMANode" strings are supported as in earlier releases.
* Detection improvements
  + Add support for Intel Knights Landing Xeon Phi.
Thanks to Grzegorz Andrejczuk and Lukasz Anaczkowski.
  + Add Vendor, Model, Revision, SerialNumber, Type and LinuxDeviceID
info attributes to Block OS devices on Linux. Thanks to Vineet Pedaballe
for the help.
- Add --disable-libudev to avoid dependency on the libudev library.
  + Add "MemoryDevice" Misc objects with information about DIMMs, on Linux
when privileged and when I/O is enabled.
Thanks to Vineet Pedaballe for the help.
  + Add a PCISlot attribute to PCI devices on Linux when supported to
identify the physical PCI slot where the board is plugged.
  + Add CPUStepping info attribute on x86 processors,
thanks to Thomas Röhl for the suggestion.
  + Ignore the device-tree on non-Power architectures to avoid buggy
detection on ARM. Thanks to Orion Poplawski for reporting the issue.
  + Work-around buggy Xeon E5v3 BIOS reporting invalid PCI-NUMA affinity
for the PCI links on the second processor.
  + Add support for CUDA compute capability 5.x, thanks Benjamin Worpitz.
  + Many fixes to the x86 backend
- Add L1i and fix L2/L3 type on old AMD processors without topoext support.
- Fix Intel CPU family and model numbers when basic family isn't 6 or 15.
- Fix package IDs on recent AMD processors.
- Fix misc issues due to incomplete APIC IDs on x2APIC processors.
- Avoid buggy discovery on old SGI Altix UVs with non-unique APIC IDs.
  + Gather total machine memory on NetBSD.
* Tools
  + lstopo
- Collapse identical PCI devices unless --no-collapse is given.
  This avoids gigantic outputs when a PCI device contains dozens of
  identical virtual functions.
- The ASCII art output is now called "ascii", for instance in
  "lstopo -.ascii".
  The former "txt" extension is retained for backward compatibility.
- Automatically scales graphical box width to the inner text in Cairo,
  ASCII and Windows outputs.
- Add --rect to lstopo to force rectangular layout even for NUMA nodes.
- Objects may have a Type info attribute to specific a better type name
  and display it in lstopo.
  + hwloc-annotate
- May now operate on all types of objects, including I/O.
- May now insert Misc objects in the topology.
- Do not drop instruction caches and I/O devices from the output anymore.
  + Fix lstopo path in hwloc-gather-topology after install.
* Misc
  + Fix PCI Bridge-specific depth attribute.
  + Fix hwloc_bitmap_intersect() for two infinite bitmaps.
  + Improve the performance of object insertion by cpuset for large
topologies.
  + Prefix verbose XML import errors with the source name.
  + Improve pkg-config checks and error messages.
  + Fix excluding after a component with an argument in the HWLOC_COMPONENTS
environment variable.
  + Fix the recommended way in documentation and examples to allocate memory
on some node, it should use HWLOC_MEMBIND_BIND.
Thanks to Nicolas Bouzat for reporting the issue.
  + Add a "Miscellaneous objects" section in the documentation.
  + Add a FAQ entry "What happens to my topology if I disable symmetric
multithreading, hyper-threading, etc. ?" to the documentation.

--
Brice



[hwloc-announce] Hardware locality (hwloc) v1.10.0 release

2014-10-07 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.10.0:

   http://www.open-mpi.org/projects/hwloc/

v1.10.0 is the new feature release. There is no new major change
in this release, just improvements everywhere.
If you are buying new Intel Xeon E5 with 10 cores or more, this
release is required for proper Socket/NUMA detection until the
Linux kernel gets fixed.

* API
  + Add hwloc_topology_export_synthetic() to export a topology to a
synthetic string without using lstopo. See the Synthetic topologies
section in the documentation.
  + Add hwloc_topology_set/get_userdata() to let the application save
a private pointer in the topology whenever it needs a way to find
its own object corresponding to a topology.
  + Add hwloc_get_numanode_obj_by_os_index() and document that this function
as well as hwloc_get_pu_obj_by_os_index() are good at converting
nodesets and cpusets into objects.
  + hwloc_distrib() does not ignore any objects anymore when there are
too many of them. They get merged with others instead.
Thanks to Tim Creech for reporting the issue.
* Tools
  + hwloc-bind --get  now executes the command after displaying
the binding instead of ignoring the command entirely.
Thanks to John Donners for the suggestion.
  + Clarify that memory sizes shown in lstopo are local by default
unless specified (total memory added in the root object).
* Synthetic topologies
  + Synthetic topology descriptions may now specify attributes such as
memory sizes and OS indexes. See the Synthetic topologies section
in the documentation.
  + lstopo now exports in this fully-detailed format by default.
The new option --export-synthetic-flags may be used to revert
back the old format.
* Documentation
  + Add the doc/examples/ subdirectory with several real-life examples,
including the already existing hwloc-hello.C for basics.
Thanks to Rob Aulwes for the suggestion.
  + Improve the documentation of CPU and memory binding in the API.
  + Add a FAQ entry about operating system errors, especially on AMD
platforms with buggy cache information.
  + Add a FAQ entry about loading many topologies in a single program.
* Misc
  + Work around buggy Linux kernels reporting 2 sockets instead
1 socket with 2 NUMA nodes for each Xeon E5 v3 (Haswell) processor.
  + pciutils/libpci support is now removed since libpciaccess works
well and there's also a Linux-specific PCI backend. For the record,
pciutils was GPL and therefore disabled by default since v1.6.2.
  + Add --disable-cpuid configure flag to work around buggy processor
simulators reporting invalid CPUID information.
Thanks for Andrew Friedley for reporting the issue.
  + Fix a racy use of libltdl when manipulating multiple topologies in
different threads.
Thanks to Andra Hugo for reporting the issue and testing patches.
  + Fix some build failures in private/misc.h.
Thanks to Pavan Balaji and Ralph Castain for the reports.
  + Fix failures to detect X11/Xutil.h on some Solaris platforms.
Thanks to Siegmar Gross for reporting the failure.
  + The plugin ABI has changed, this release will not load plugins
built against previous hwloc releases.

Changes since v1.10rc1 are minor.
--
Brice



[hwloc-announce] Hardware locality (hwloc) v1.10rc1 released

2014-09-24 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate for v1.10:

   http://www.open-mpi.org/projects/hwloc/

v1.10rc1 is the first milestone of a major feature release.
There is no new major feature in this release, just improvements
everywhere.
If you are buying new Intel Xeon E5 with 10 cores or more, this
release is required for proper Socket/NUMA detection until the
kernel gets fixed.

* API
  + Add hwloc_topology_export_synthetic() to export a topology to a
synthetic string without using lstopo. See the Synthetic topologies
section in the documentation.
  + Add hwloc_topology_set/get_userdata() to let the application save
a private pointer in the topology whenever it needs a way to find
its own object corresponding to a topology.
  + Add hwloc_get_numanode_obj_by_os_index() and document that this function
as well as hwloc_get_pu_obj_by_os_index() are good at converting
nodesets and cpusets into objects.
  + hwloc_distrib() does not ignore any objects anymore when there are
too many of them. They get merged with others instead.
Thanks to Tim Creech for reporting the issue.
* Tools
  + hwloc-bind --get  now executes the command after displaying
the binding instead of ignoring the command entirely.
Thanks to John Donners for the suggestion.
  + Clarify that memory sizes shown in lstopo are local by default
unless specified (total memory added in the root object).
* Synthetic topologies
  + Synthetic topology descriptions may now specify attributes such as
memory sizes and OS indexes. See the Synthetic topologies section
in the documentation.
  + lstopo now exports in this fully-detailed format by default.
The new option --export-synthetic-flags may be used to revert
back the old format.
* Documentation
  + Add the doc/examples/ subdirectory with several real-life examples,
including the already existing hwloc-hello.C for basics.
Thanks to Rob Aulwes for the suggestion.
  + Improve the documentation of CPU and memory binding in the API.
  + Add a FAQ entry about operating system errors, especially on AMD
platforms with buggy cache information.
  + Add a FAQ entry about loading many topologies in a single program.
* Misc
  + Work around buggy Linux kernels reporting 2 sockets instead
1 socket with 2 NUMA nodes for each Xeon E5 v3 (Haswell) processor.
  + pciutils/libpci support is now removed since libpciaccess works
well and there's also a Linux-specific PCI backend. For the record,
pciutils was GPL and therefore disabled by default since v1.6.2.
  + Add --disable-cpuid configure flag to work around buggy processor
simulators reporting invalid CPUID information.
Thanks for Andrew Friedley for reporting the issue.
  + Fix a racy use of libltdl when manipulating multiple topologies in
different threads.
Thanks to Andra Hugo for reporting the issue and testing patches.
  + The plugin ABI has changed, this release will not load plugins
built against previous hwloc releases.

v1.10rc1 also contains some bug fixes that are waiting for a v1.9.2 stable
release that may or may not ever happen:

* Fix some build failures in private/misc.h.
  Thanks to Pavan Balaji and Ralph Castain for the reports.
* Fix failures to detect X11/Xutil.h on some Solaris platforms.
  Thanks to Siegmar Gross for reporting the failure.

--
Brice



[hwloc-announce] Hardware locality (hwloc) v1.9.1rc1 released

2014-08-25 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of v1.9.1:

   http://www.open-mpi.org/projects/hwloc/

v1.9.1 is a bug fix release which addresses all known bugs in
the v1.9 series.

The following is a summary of the changes since v1.9:

* Fix a crash when the PCI locality is invalid. Attach to the root object
  instead. Thanks to Nicolas Denoyelle for reporting the issue.
* Fix -f in lstopo manpage. Thanks to Jirka Hladky for reporting the issue.
* Fix hwloc_obj_type_sscanf() and others when strncasecmp() is not properly
  available. Thanks to Nick Papior Andersen for reporting the problem.
* Mark Linux file descriptors as close-on-exec to avoid leaks on exec.
* Fix some minor memory leaks.

--
Brice




[hwloc-announce] hwloc @ SC13 next week

2013-11-13 Thread Brice Goglin
Hello,

Jeff and I and many other hwloc contributors will be at SC13 in Denver
next week.

Feel free to pass by Inria booth #2116 to see me. At least you
definitely want to see our Lego Turing machine
http://inriasc2013.tumblr.com/

You may also want to checkout Cisco booth #2535 for an interesting
presentation of a spinoff of hwloc for the network. Stay tuned.
Jeff will also talk about this on the Inria booth Wednesday at 2pm,
and at the Open MPI BoF Tuesday at 12:15.

See you there
Brice



[hwloc-announce] Hardware locality (hwloc) v1.8rc1 released

2013-11-06 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate for v1.8:

   http://www.open-mpi.org/projects/hwloc/

v1.8rc1 is the first milestone of a major feature release.
It adds PCI discovery on Linux without dependencies on external libs,
a new API to manipulate differences between very similar topologies,
multiple improvements to command-line tools, and more.

* New components
  + Add the "linuxpci" component that always works on Linux even when
libpciaccess and libpci aren't available (and even with a modified
file-system root). By default the old "pci" component runs first
because "linuxpci" lacks device names (obj->name is always NULL).
* API
  + Add the topology difference API in hwloc/diff.h for manipulating
many similar topologies.
  + Add hwloc_topology_dup() for duplicating an entire topology.
  + hwloc.h and hwloc/helper.h have been reorganized to clarify the
documentation sections. The actual inline code has moved out of hwloc.h
into the new hwloc/inlines.h.
  + Deprecated functions are now in hwloc/deprecated.h, and not in the
official documentation anymore.
* Tools
  + Add hwloc-diff and hwloc-patch tools together with the new diff API.
  + Add hwloc-compress-dir to (de)compress an entire directory of XML files
using hwloc-diff and hwloc-patch.
  + Object colors in the graphical output of lstopo may be changed by adding
a "lstopoStyle" info attribute. See CUSTOM COLORS in the lstopo(1) manpage
for details. Thanks to Jirka Hladky for discussing the idea.
  + hwloc-gather-topology may now gather I/O-related files on Linux when
--io is given. Only the linuxpci component supports discovering I/O
objects from these extended tarballs.
  + hwloc-annotate now supports --ri to remove/replace info attributes with
a given name.
  + hwloc-info supports "root" and "all" special locations for dumping
information about the root object.
  + lstopo now supports --append-legend to append custom lines of text
to the legend in the graphical output. Thanks to Jirka Hladky for
discussing the idea.
  + hwloc-calc and friends have a more robust parsing of locations given
on the command-line and they report useful error messages about it.
  + Add --whole-system to hwloc-bind, hwloc-calc, hwloc-distances and
hwloc-distrib, and add --restrict to hwloc-bind for uniformity among
tools.
* Misc
  + Calling hwloc_topology_load() or hwloc_topology_set_*() on an already
loaded topology now returns an error (deprecated since release 1.6.1).
  + Fix the initialisation of cpusets and nodesets in Group objects added
when inserting PCI hostbridges.
  + Never merge Group objects that were added explicitly by the user with
hwloc_custom_insert_group_object_by_parent().
  + Add a sanity check during dynamic plugin loading to prevent some
crashes when hwloc is dynamically loaded by another plugin mechanisms.
  + Add --with-hwloc-plugins-path to specify the install/load directories
of plugins.
  + Add the MICSerialNumber info attribute to the root object when running
hwloc inside a Xeon Phi to match the same attribute in the MIC OS device
when running in the host.

--
Brice



[hwloc-announce] Hardware Locality (hwloc) v1.7.2 released

2013-09-03 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.7.2:

   http://www.open-mpi.org/projects/hwloc/

v1.7.2 is a bug fix release which addresses all known bugs in the
v1.7 series.

The following is a summary of the changes since v1.7.1:

* Do not create invalid block OS devices on very old Linux kernel such
  as RHEL4 2.6.9.
* Fix PCI subvendor/device IDs.
* Fix the management of Misc objects inserted by parent.
  Thanks to Jirka Hladky for reporting the problem.
* Add a PortState into attribute to OpenFabrics OS devices.
* Add a MICSerialNumber info attribute to Xeon PHI/MIC OS devices.
* Improve verbose error messages when failing to load from XML.

The only difference with rc1 is a fix for a memory leak introduced in rc1.
--
Brice




[hwloc-announce] Hardware locality (hwloc) v1.7.2rc1 released

2013-08-29 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of v1.7.2:

   http://www.open-mpi.org/projects/hwloc/

v1.7.2 is a bug fix release which addresses all known bugs in the
v1.7 series.

The following is a summary of the changes since v1.7.1:

* Do not create invalid block OS devices on very old Linux kernel such
  as RHEL4 2.6.9.
* Fix PCI subvendor/device IDs.
* Fix the management of Misc objects inserted by parent.
  Thanks to Jirka Hladky for reporting the problem.
* Add a PortState into attribute to OpenFabrics OS devices.
* Add a MICSerialNumber info attribute to Xeon PHI/MIC OS devices.
* Improve verbose error messages when failing to load from XML.

--
Brice



[hwloc-announce] Hardware Locality (hwloc) v1.7.1 released

2013-05-21 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.7.1:

   http://www.open-mpi.org/projects/hwloc/

v1.7.1 is a bug fix release which addresses all known bugs in the
v1.7 series.

The following is a summary of the changes since v1.7:

* Fix a failed assertion in the distance grouping code when loading a XML
  file that already contains some groups.
  Thanks to Laercio Lima Pilla for reporting the problem.
* Remove unexpected Group objects when loading XML topologies with I/O
  objects and NUMA distances.
  Thanks to Elena Elkina for reporting the problem and testing patches.
* Fix PCI link speed discovery when using libpciaccess.
* Fix invalid libpciaccess virtual function device/vendor IDs when using
  SR-IOV PCI devices on Linux.
* Fix GL component build with old NVCtrl releases.
  Thanks to Jirka Hladky for reporting the problem.
* Fix embedding breakage caused by libltdl.
  Thanks to Pavan Balaji for reporting the problem.
* Always use the system-wide libltdl instead of shipping one inside hwloc.
* Document issues when enabling plugins while embedding hwloc in another
  project, in the documentation section Embedding hwloc in Other Software.
* Add a FAQ entry "How to get useful topology information on NetBSD?"
  in the documentation.
* Somes fixes in the renaming code for embedding.
* Miscellaneous minor build fixes.

--
Brice




[hwloc-announce] Hardware locality (hwloc) v1.7.1rc1 released

2013-05-16 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate of v1.7.1:

   http://www.open-mpi.org/projects/hwloc/

v1.7.1 is a bug fix release which addresses all known bugs in the
v1.7 series.

The following is a summary of the changes since v1.7:

* Fix a failed assertion in the distance grouping code when loading a XML
  file that already contains some groups.
  Thanks to Laercio Lima Pilla for reporting the problem.
* Remove unexpected Group objects when loading XML topologies with I/O
  objects and NUMA distances.
  Thanks to Elena Elkina for reporting the problem and testing patches.
* Fix PCI link speed discovery when using libpciaccess.
* Fix invalid libpciaccess virtual function device/vendor IDs when using
  SR-IOV PCI devices on Linux.
* Fix GL component build with old NVCtrl releases.
  Thanks to Jirka Hladky for reporting the problem.
* Fix embedding breakage caused by libltdl.
  Thanks to Pavan Balaji for reporting the problem.
* Always use the system-wide libltdl instead of shipping one inside hwloc.
* Document issues when enabling plugins while embedding hwloc in another
  project, in the documentation section Embedding hwloc in Other Software.
* Add a FAQ entry "How to get useful topology information on NetBSD?"
  in the documentation.
* Somes fixes in the renaming code for embedding.
* Miscellaneous minor build fixes.

--
Brice




[hwloc-announce] Hardware locality (hwloc) v1.7 released

2013-04-08 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.7:

   http://www.open-mpi.org/projects/hwloc/

v1.7 is a major new release series.  The v1.6 series focused on the core
rework to ease the addition of new discovery components. As expected,
v1.7 now adds many new discovery components for GPUs, Xeon Phi, BlueGene/Q,
and NetBSD.

There are also a couple changes in the API and in command-line tools,
many documentation improvements, the ability to build external plugins,
and more.

* New operating system backends
  + Add BlueGene/Q compute node kernel (CNK) support. See the FAQ in the
documentation for details. Thanks to Jeff Hammond, Christopher Samuel
and Erik Schnetter for their help.
  + Add NetBSD support, thanks to Aleksej Saushev.
* New I/O device discovery
  + Add co-processor OS devices such as "mic0" for Intel Xeon Phi (MIC)
on Linux. Thanks to Jerome Vienne for helping.
  + Add co-processor OS devices such as "cuda0" for NVIDIA CUDA-capable GPUs.
  + Add co-processor OS devices such as "opencl0d0" for OpenCL GPU devices
on the AMD OpenCL implementation.
  + Add GPU OS devices such as ":0.0" for NVIDIA X11 displays.
  + Add GPU OS devices such as "nvml0" for NVIDIA GPUs.
Thanks to Marwan Abdellah and Stefan Eilemann for helping.
  These new OS devices have some string info attributes such as CoProcType,
  GPUModel, etc. to better identify them.
  See the I/O Devices and Attributes documentation sections for details.
* New components
  + Add the "opencl", "cuda", "nvml" and "gl" components for I/O device
discovery.
  + "nvml" also improves the discovery of NVIDIA GPU PCIe link speed.
  All of these new components may be built as plugins. They may also be
  disabled entirely by passing --disable-opencl/cuda/nvml/gl to configure.
  See the I/O Devices, Components and Plugins, and FAQ documentation
  sections for details.
* API
  + Add hwloc_topology_get_flags().
  + Add hwloc/plugins.h for building external plugins.
See the Adding new discovery components and plugins section.
* Interoperability
  + Add hwloc/opencl.h, hwloc/nvml.h, hwloc/gl.h and hwloc/intel-mic.h
to retrieve the locality of OS devices that correspond to AMD OpenCL
GPU devices or indexes, to NVML devices or indexes, to NVIDIA X11
displays, or to Intel Xeon Phi (MIC) device indexes.
  + Add new helpers in hwloc/cuda.h and hwloc/cudart.h to convert
between CUDA devices or indexes and hwloc OS devices.
  + Add hwloc_ibv_get_device_osdev() and clarify the requirements
of the OpenFabrics Verbs helpers in hwloc/openfabrics-verbs.h.
* Tools
  + hwloc-info is not only a synonym of lstopo -s anymore, it also
dumps information about objects given on the command-line.
* Documentation
  + Add a section "Existing components and plugins".
  + Add a list of common OS devices in section "Software devices".
  + Add a new FAQ entry "Why is lstopo slow?" about lstopo slowness
issues because of GPUs.
  + Clarify the documentation of inline helpers in hwloc/myriexpress.h
and hwloc/openfabrics-verbs.h.
* Misc
  + Improve cache detection on AIX.
  + The HWLOC_COMPONENTS variable now excludes the components whose
names are prefixed with '-'.
  + lstopo --ignore PU now works when displaying the topology in
graphical and textual mode (not when exporting to XML).
  + Make sure I/O options always appear in lstopo usage, not only when
using pciutils/libpci.
  + Remove some unneeded Linux specific includes from some interoperability
headers.
  + Fix some inconsistencies in hwloc-distrib and hwloc-assembler-remote
manpages. Thanks to Guy Streeter for the report.
  + Fix a memory leak on AIX when getting memory binding.
  + Fix many small memory leaks on Linux.  + The `libpci' component is now 
called `pci' but the old name is still
accepted in the HWLOC_COMPONENTS variable for backward compatibility.

--
Brice




[hwloc-announce] Hardware locality (hwloc) v1.7rc1 released

2013-03-27 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate for v1.7:

   http://www.open-mpi.org/projects/hwloc/

v1.7rc1 is the first milestone of a major feature release. The v1.6
series focused on the core rework to ease the addition of new discovery
components. As expected, v1.7 now adds many new discovery components
for GPUs, Xeon Phi, BlueGene/Q, and NetBSD.

There are also a couple changes in the API and in command-line tools,
many documentation improvements, the ability to build external plugins,
and more.

* New operating system backends
  + Add BlueGene/Q compute node kernel (CNK) support. See the FAQ in the
documentation for details. Thanks to Jeff Hammond, Christopher Samuel
and Erik Schnetter for their help.
  + Add NetBSD support, thanks to Aleksej Saushev.
* New I/O device discovery
  + Add co-processor OS devices such as "mic0" for Intel Xeon Phi (MIC)
on Linux. Thanks to Jerome Vienne for helping.
  + Add co-processor OS devices such as "cuda0" for NVIDIA CUDA-capable GPUs.
  + Add co-processor OS devices such as "opencl0d0" for OpenCL GPU devices
on the AMD OpenCL implementation.
  + Add GPU OS devices such as ":0.0" for NVIDIA X11 displays.
  + Add GPU OS devices such as "nvml0" for NVIDIA GPUs.
Thanks to Marwan Abdellah and Stefan Eilemann for helping.
  These new OS devices have some string info attributes such as CoProcType,
  GPUModel, etc. to better identify them.
  See the I/O Devices and Attributes documentation sections for details.
* New components
  + Add the "opencl", "cuda", "nvml" and "gl" components for I/O device
discovery.
  + "nvml" also improves the discovery of NVIDIA GPU PCIe link speed.
  All of these new components may be built as plugins. They may also be
  disabled entirely by passing --disable-opencl/cuda/nvml/gl to configure.
  See the I/O Devices, Components and Plugins, and FAQ documentation
  sections for details.
* API
  + Add hwloc_topology_get_flags().
  + Add hwloc/plugins.h for building external plugins.
See the Adding new discovery components and plugins section.
* Interoperability
  + Add hwloc/opencl.h, hwloc/nvml.h, hwloc/gl.h and hwloc/intel-mic.h
to retrieve the locality of OS devices that correspond to AMD OpenCL
GPU devices or indexes, to NVML devices or indexes, to NVIDIA X11
displays, or to Intel Xeon Phi (MIC) device indexes.
  + Add new helpers in hwloc/cuda.h and hwloc/cudart.h to convert
between CUDA devices or indexes and hwloc OS devices.
  + Add hwloc_ibv_get_device_osdev() and clarify the requirements
of the OpenFabrics Verbs helpers in hwloc/openfabrics-verbs.h.
* Tools
  + hwloc-info is not only a synonym of lstopo -s anymore, it also
dumps information about objects given on the command-line.
* Documentation
  + Add a section "Existing components and plugins".
  + Add a list of common OS devices in section "Software devices".
  + Add a new FAQ entry "Why is lstopo slow?" about lstopo slowness
issues because of GPUs.
  + Clarify the documentation of inline helpers in hwloc/myriexpress.h
and hwloc/openfabrics-verbs.h.
* Misc
  + Improve cache detection on AIX.
  + The HWLOC_COMPONENTS variable now excludes the components whose
names are prefixed with '-'.
  + lstopo --ignore PU now works when displaying the topology in
graphical and textual mode (not when exporting to XML).
  + The `libpci' component is now called `pci' but the old name is still
accepted in the HWLOC_COMPONENTS variable for backward compatibility.

This also contains a couple bug fixes that are waiting for a v1.6.3
release, that may or may not ever exist.

--
Brice




[hwloc-announce] Hardware Locality (hwloc) v1.5.2, v1.4.3, v1.3.3 released

2013-03-04 Thread Brice Goglin
All these rc1 became the final v1.5.2, v1.4.3 and v1.3.3 releases
without any change.

Brice





Le 25/02/2013 10:09, Brice Goglin a écrit :
> The Hardware Locality (hwloc) team is pleased to announce the first
> release candidates of v1.5.2, v1.4.3 and v1.3.3:
>
>http://www.open-mpi.org/projects/hwloc/
>
> The main reason for these releases is to fix a license issue. The GPL
> license of libpci/pciutils taints hwloc whenever you link with it
> (making hwloc *not BSD* anymore).
> We now use libpciaccess (from X.org) by default instead of libpci.
> See the Installation section in the documentation for details.
>
> People are encouraged to upgrade to hwloc v1.6.2 as soon as possible.
> If upgrading is not possible at the moment, these new releases will
> fix the above license issue in the meantime.
>
>
> Note that v1.3.3rc1 and v1.4.3rc1 *do not fix all known bugs* in their
> branch. Aside from including libpciaccess for the above issue, they
> only bring some minor changes that were already queued. Also we won't
> release the corresponding >indows builds because pciutils could not be
> used under Windows anyway.
>
>
> v1.5.2rc1 does fix all known bugs in the v1.5 series (and this one
> comes with a Windows build). The following is a summary of the changes
> since v1.5.1:
> * Use libpciaccess instead of pciutils/libpci by default for I/O discovery.
>   pciutils/libpci is only used if --enable-libpci is given to configure
>   because its GPL license may taint hwloc. See the Installation section
>   in the documentation for details.
> * Fix get_cpubind on Solaris when bound to a single PU with
>   processor_bind(). Thanks to Eugene Loh for reporting the problem
>   and providing a patch.
> * Fix some DIR descriptor leaks on Linux.
> * Fix I/O device lists when some were filtered out after a XML import.
> * Add missing Backend string info on Solaris in most cases.
> * Fix the removal of I/O objects when importing a I/O-enabled XML topology
>   without any I/O topology flag.
> * Fix the output of hwloc-calc -H --hierarchical when using logical
>   indexes in the output.
> * Fix the pkg-config output with --libs --static.
>   Thanks to Erik Schnetter for reporting one of the problems.
>
> --
> Brice
>
>



[hwloc-announce] Hardware Locality (hwloc) v1.5.2rc1, v1.4.3rc1, v1.3.3rc1 released

2013-02-25 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidates of v1.5.2, v1.4.3 and v1.3.3:

   http://www.open-mpi.org/projects/hwloc/

The main reason for these releases is to fix a license issue. The GPL
license of libpci/pciutils taints hwloc whenever you link with it
(making hwloc *not BSD* anymore).
We now use libpciaccess (from X.org) by default instead of libpci.
See the Installation section in the documentation for details.

People are encouraged to upgrade to hwloc v1.6.2 as soon as possible.
If upgrading is not possible at the moment, these new releases will
fix the above license issue in the meantime.


Note that v1.3.3rc1 and v1.4.3rc1 *do not fix all known bugs* in their
branch. Aside from including libpciaccess for the above issue, they
only bring some minor changes that were already queued. Also we won't
release the corresponding >indows builds because pciutils could not be
used under Windows anyway.


v1.5.2rc1 does fix all known bugs in the v1.5 series (and this one
comes with a Windows build). The following is a summary of the changes
since v1.5.1:
* Use libpciaccess instead of pciutils/libpci by default for I/O discovery.
  pciutils/libpci is only used if --enable-libpci is given to configure
  because its GPL license may taint hwloc. See the Installation section
  in the documentation for details.
* Fix get_cpubind on Solaris when bound to a single PU with
  processor_bind(). Thanks to Eugene Loh for reporting the problem
  and providing a patch.
* Fix some DIR descriptor leaks on Linux.
* Fix I/O device lists when some were filtered out after a XML import.
* Add missing Backend string info on Solaris in most cases.
* Fix the removal of I/O objects when importing a I/O-enabled XML topology
  without any I/O topology flag.
* Fix the output of hwloc-calc -H --hierarchical when using logical
  indexes in the output.
* Fix the pkg-config output with --libs --static.
  Thanks to Erik Schnetter for reporting one of the problems.

--
Brice




[hwloc-announce] Hardware Locality (hwloc) v1.6.2 released

2013-02-25 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the release
of v1.6.2:

   http://www.open-mpi.org/projects/hwloc/

v1.6.2 is a bug fix release which addresses all known bugs in the
v1.6 serie and improves a couple minor points.

The main reason for this release is to fix a license issue. The GPL
license of libpci/pciutils taints hwloc whenever you link with it
(making hwloc *not BSD* anymore).
We now use libpciaccess (from X.org) by default instead of libpci.
See the Installation section in the documentation for details.

The following is a summary of the changes since v1.6.1:
* Use libpciaccess instead of pciutils/libpci by default for I/O discovery.
  pciutils/libpci is only used if --enable-libpci is given to configure
  because its GPL license may taint hwloc. See the Installation section
  in the documentation for details.
* Fix get_cpubind on Solaris when bound to a single PU with
  processor_bind(). Thanks to Eugene Loh for reporting the problem
  and providing a patch.

We will release v1.5.2rc1, v1.4.3rc1 and v1.3.3rc1 very soon to address
the license issue whenever somebody cannot upgrade to v1.6.2.

--
Brice




[hwloc-announce] Hardware locality (hwloc) v1.6.1rc2 released

2013-01-09 Thread Brice Goglin
Like Linus says, "another week, another -rc".
We have two additional changes in hwloc v1.6.1rc2. One should fix
pkg-config --libs --static. The other one deprecates multiple calls to
load() on the same topology as explained earlier.
Hopefully this will become the final v1.6.1 after another week.

Brice




New changes:

* Fix the pkg-config output with --libs --static.
  Thanks to Erik Schnetter for reporting one of the problems.
* Calling hwloc_topology_load() multiple times on the same topology
  is officially deprecated. hwloc will warn in such cases.


Changes already in rc1:

* Fix some crash or buggy detection in the x86 backend when Linux
  cgroups/cpusets restrict the available CPUs.
* Add some documentation about existing plugins/components, package
  dependencies, and I/O devices specification on the command-line.




Le 02/01/2013 14:12, Brice Goglin a écrit :
> Happy new year!
>
> The Hardware Locality (hwloc) team is pleased to announce the first
> release candidate of v1.6.1:
>
>http://www.open-mpi.org/projects/hwloc/
>
> v1.6.1 is a bug fix release which addresses the only known bug in the
> v1.6 serie and improves a couple minor points.
> The following is a summary of the changes since v1.6:
>
> * Fix some crash or buggy detection in the x86 backend when Linux
>   cgroups/cpusets restrict the available CPUs.
> * Add some documentation about existing plugins/components, package
>   dependencies, and I/O devices specification on the command-line.
>
> --
> Brice
>
>



[hwloc-announce] Hardware locality (hwloc) v1.6.1rc1 released

2013-01-02 Thread Brice Goglin
Happy new year!

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

   http://www.open-mpi.org/projects/hwloc/

v1.6.1 is a bug fix release which addresses the only known bug in the
v1.6 serie and improves a couple minor points.
The following is a summary of the changes since v1.6:

* Fix some crash or buggy detection in the x86 backend when Linux
  cgroups/cpusets restrict the available CPUs.
* Add some documentation about existing plugins/components, package
  dependencies, and I/O devices specification on the command-line.

--
Brice




[hwloc-announce] Hardware locality (hwloc) v1.6rc2 released

2012-11-20 Thread Brice Goglin
I just released 1.6rc2 (mirrors will update soon).

Changes since rc1 are minor:
* Fix the filtering of I/O objects when importing XML topologies
* Some documentation additions about synthetic topologies
* Misc doc updates
* A minor build fix

Brice




Le 13/11/2012 13:44, Brice Goglin a écrit :
> The Hardware Locality (hwloc) team is pleased to announce the first
> release candidate for v1.6:
>
>http://www.open-mpi.org/projects/hwloc/
>
> v1.6rc1 is the first milestone of a major feature release. It brings
> a significant rework of the core which eases the combining of multiple
> topology discovery sources, and future additions of new sources.
> Some components may also now be built and loaded as separate plugins,
> which should make distribution packagers' life easier.
>
> Aside of this core rework, we have the usual set of small API additions
> (one may now export/import its own custom private data to XML), new
> command-line tools (hwloc-annotate), new command-line options, some
> small discovery improvements.
>
> They are also a couple bug fixes that were waiting for a v1.5.2 release,
> that may or may not ever exist.
>
> Please test it, and feel free to pass by the Inria booth at SC12
> (#1209) to discuss all this and/or report problems.
>
> --
> Brice
>
>
>
>
> Version 1.6.0
> -
> * Major changes
>   + Reorganize the backend infrastructure to support dynamic selection
> of components and dynamic loading of plugins. For details, see the
> new documentation section Components and plugins.
> - The HWLOC_COMPONENTS variable lets one replace the default discovery
>   components.
> - Dynamic loading of plugins may be enabled with --enable-plugins
>   (except on AIX and Windows). It will build libxml2 and libpci
>   support as separated modules. This helps reducing the dependencies
>   of the core hwloc library when distributed as a binary package.
> * Backends
>   + Add CPUModel detection on Darwin and x86/FreeBSD.
> Thanks to Robin Scher for providing ways to implement this.
>   + The x86 backend now adds CPUModel info attributes to socket objects
> created by other backends that do not natively support this attribute.
>   + Fix detection on FreeBSD in case of cpuset restriction. Thanks to
> Sebastian Kuzminsky for reporting the problem.
> * XML
>   + Add hwloc_topology_set_userdata_import/export_callback(),
> hwloc_export_obj_userdata() and _userdata_base64() to let
> applications specify how to save/restore the custom data they placed
> in the userdata private pointer field of hwloc objects.
> * Tools
>   + Add hwloc-annotate program to add string info attributes to XML
> topologies.
>   + Add --pid-cmd to hwloc-ps to append the output of a command to each
> PID line. May be used for showing Open MPI process ranks, see the
> hwloc-ps(1) manpage for details.
>   + hwloc-bind now exits with an error if binding fails; the executable
> is not launched unless binding suceeeded or --force was given.
>   + Add --quiet to hwloc-calc and hwloc-bind to hide non-fatal error
> messages.
>   + Fix command-line pid support in windows tools.
>   + All programs accept --verbose as a synonym to -v.
> * Misc
>   + Fix some DIR descriptor leaks on Linux.
>   + Fix I/O device lists when some were filtered out after a XML import.
>   + Add missing Backend string info on Solaris in most cases.
>   + When merging objects with HWLOC_IGNORE_TYPE_KEEP_STRUCTURE or
> lstopo --merge, compare object types before deciding which one of two
> identical object to remove (e.g. keep sockets in favor of caches).
>   + Add some GUID- and LID-related info attributes to OpenFabrics
> OS devices.
>   + Only add CPUType socket attributes on Solaris/Sparc. Other cases
> don't report reliable information (Solaris/x86), and a replacement
> is available as the Architecture string info in the Machine object.
>   + Document object attributes and string infos in a new Attributes
> section in the documentation.
>
>



[hwloc-announce] Hardware locality (hwloc) v1.6rc1 released

2012-11-13 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate for v1.6:

   http://www.open-mpi.org/projects/hwloc/

v1.6rc1 is the first milestone of a major feature release. It brings
a significant rework of the core which eases the combining of multiple
topology discovery sources, and future additions of new sources.
Some components may also now be built and loaded as separate plugins,
which should make distribution packagers' life easier.

Aside of this core rework, we have the usual set of small API additions
(one may now export/import its own custom private data to XML), new
command-line tools (hwloc-annotate), new command-line options, some
small discovery improvements.

They are also a couple bug fixes that were waiting for a v1.5.2 release,
that may or may not ever exist.

Please test it, and feel free to pass by the Inria booth at SC12
(#1209) to discuss all this and/or report problems.

--
Brice




Version 1.6.0
-
* Major changes
  + Reorganize the backend infrastructure to support dynamic selection
of components and dynamic loading of plugins. For details, see the
new documentation section Components and plugins.
- The HWLOC_COMPONENTS variable lets one replace the default discovery
  components.
- Dynamic loading of plugins may be enabled with --enable-plugins
  (except on AIX and Windows). It will build libxml2 and libpci
  support as separated modules. This helps reducing the dependencies
  of the core hwloc library when distributed as a binary package.
* Backends
  + Add CPUModel detection on Darwin and x86/FreeBSD.
Thanks to Robin Scher for providing ways to implement this.
  + The x86 backend now adds CPUModel info attributes to socket objects
created by other backends that do not natively support this attribute.
  + Fix detection on FreeBSD in case of cpuset restriction. Thanks to
Sebastian Kuzminsky for reporting the problem.
* XML
  + Add hwloc_topology_set_userdata_import/export_callback(),
hwloc_export_obj_userdata() and _userdata_base64() to let
applications specify how to save/restore the custom data they placed
in the userdata private pointer field of hwloc objects.
* Tools
  + Add hwloc-annotate program to add string info attributes to XML
topologies.
  + Add --pid-cmd to hwloc-ps to append the output of a command to each
PID line. May be used for showing Open MPI process ranks, see the
hwloc-ps(1) manpage for details.
  + hwloc-bind now exits with an error if binding fails; the executable
is not launched unless binding suceeeded or --force was given.
  + Add --quiet to hwloc-calc and hwloc-bind to hide non-fatal error
messages.
  + Fix command-line pid support in windows tools.
  + All programs accept --verbose as a synonym to -v.
* Misc
  + Fix some DIR descriptor leaks on Linux.
  + Fix I/O device lists when some were filtered out after a XML import.
  + Add missing Backend string info on Solaris in most cases.
  + When merging objects with HWLOC_IGNORE_TYPE_KEEP_STRUCTURE or
lstopo --merge, compare object types before deciding which one of two
identical object to remove (e.g. keep sockets in favor of caches).
  + Add some GUID- and LID-related info attributes to OpenFabrics
OS devices.
  + Only add CPUType socket attributes on Solaris/Sparc. Other cases
don't report reliable information (Solaris/x86), and a replacement
is available as the Architecture string info in the Machine object.
  + Document object attributes and string infos in a new Attributes
section in the documentation.




[hwloc-announce] Hardware locality (hwloc) v1.5rc1 released

2012-07-16 Thread Brice Goglin
The Hardware Locality (hwloc) team is pleased to announce the first
release candidate for v1.5:

   http://www.open-mpi.org/projects/hwloc/

v1.5rc1 is the first milestone of a major feature release. The most
noticeable changes are the addition of the lstopo-no-graphics program
(which does require any heavy external library such as Cairo) and the
discovery of instruction caches. There are also many small improvements
to all backends, and some deprecated features have been removed.

* Backends
  + Do not limit the number of processors to 1024 on Solaris anymore.
  + Gather total machine memory on FreeBSD.
  + XML topology files do not depend on the locale anymore. Float numbers
such as NUMA distances or PCI link speeds now always use a dot as a
decimal separator.
  + Add instruction caches detection on Linux, AIX, Windows and Darwin.
  + Add get_last_cpu_location() support for the current thread on AIX.
  + Support binding on AIX when threads or processes were bound with
bindprocessor(). Thanks to Hendryk Bockelmann for reporting the issue
and testing patches, and to Farid Parpia for explaining the binding
interfaces.
  + Improve AMD topology detection in the x86 backend (for FreeBSD) using
the topoext feature.
* API
  + Increase HWLOC_API_VERSION to 0x00010500 so that API changes may be
detected at build-time.
  + Add a cache type attribute describind Data, Instruction and Unified
caches. Caches with different types but same depth (for instance L1d
and L1i) are placed on different levels.
  + Add hwloc_get_cache_type_depth() to retrieve the hwloc level depth of
of the given cache depth and type, for instance L1i or L2.
It helps  disambiguating the case where hwloc_get_type_depth() returns
HWLOC_TYPE_DEPTH_MULTIPLE.
  + Instruction caches are ignored unless HWLOC_TOPOLOGY_FLAG_ICACHES is
passed to hwloc_topology_set_flags() before load.
  + Add hwloc_ibv_get_device_osdev_by_name() OpenFabrics helper in
openfabrics-verbs.h to find the hwloc OS device object corresponding to
an OpenFabrics device.
* Tools
  + Add lstopo-no-graphics, a lstopo built without graphical support to
avoid dependencies on external libraries such as Cairo and X11. When
supported, graphical outputs are only available in the original lstopo
program.
- Packagers splitting lstopo and lstopo-no-graphics into different
  packages are advised to use the alternatives system so that lstopo
  points to the best available binary.
  + Instruction caches are enabled in lstopo by default. User --no-icaches
to disable them.
  + Add -t/--threads to show threads in hwloc-ps.
* Removal of obsolete components
  + Remove the old cpuset interface (hwloc/cpuset.h) which is deprecated and
superseded by the bitmap API (hwloc/bitmap.h) since v1.1.
hwloc_cpuset and nodeset types are still defined, but all hwloc_cpuset_*
compatibility wrappers are now gone.
  + Remove Linux libnuma conversion helpers for the deprecated and
broken nodemask_t interface.
  + Remove support for "Proc" type name, it was superseded by "PU" in v1.0.
  + Remove hwloc-mask symlinks, it was replaced by hwloc-calc in v1.0.
* Misc
  + Non-printable characters are dropped from strings during XML export.
  + Assert hwloc_is_thissystem() in several I/O related helpers.
  + Limit the number of retries when operating on all threads within a
process on Linux if the list of threads is heavily getting modified.

--
Brice




Re: [hwloc-announce] Hardware locality (hwloc) v1.4.2rc1 released

2012-05-03 Thread Brice Goglin
1.4.2rc1 windows builds are now online as well at
http://www.open-mpi.org/software/hwloc/v1.4/
It's my very first time building those things, so I hope they'll work as
expected.

Brice



Le 03/05/2012 14:51, Brice Goglin a écrit :
> The Hardware Locality (hwloc) team is pleased to announce the first
> release candidate for v1.4.2:
>
>http://www.open-mpi.org/projects/hwloc/
>
> v1.4.2rc1 is the first milestone of a bug fix release. It brings
> several important fixes.
>
> The following is a summary of the changes since v1.4.1:
>
> * Fix build on Solaris 9 and earlier when fabsf() is not a compiler
>   built-in. Thanks to Igor Galić for reporting the problem.
> * Fix support for more than 32 processors on Windows. Thanks to Hartmut
>   Kaiser for reporting the problem.
> * Fix process-wide binding and cpulocation routines on Linux when some
>   threads disappear in the meantime. Thanks to Vlad Roubtsov for reporting
>   the issue.
> * Make installed scripts executable. Thanks to Jirka Hladky for reporting
>   the problem.
> * Fix libtool revision management when building for Windows. This fix was
>   also released as hwloc v1.4.1.1 Windows builds. Thanks to Hartmut Kaiser
>   for reporting the problem.
> * Add Port info attribute to network OS devices inside OpenFabrics PCI
>   devices so as to identify which interface corresponds to which port.
> * Document requirements for interoperability helpers: I/O devices discovery
>   is required for some of them; the topology must match the current host
>   for most of them.
>
> Note that I haven't been able to post Windows builds yet but it will
> happen in the near future.
>
> --
> Brice
>
>



[hwloc-announce] Hardware locality (hwloc) v1.1rc1 released

2010-11-04 Thread Brice Goglin
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