Brice Goglin, on lun. 29 janv. 2018 22:22:58 +0100, wrote: > 2.0.0rc2 is out.
And is now uploaded to Debian experimental. > 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 0x00020000. > > + 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(). > > - 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 contains some NUMA specific bits. > > + XML export functions take an additional flags argument, > > for instance for exporting XMLs that are compatible with hwloc 1.x. > > + Functions diff_load_xml*(), diff_export_xml*() and diff_destroy() in > > hwloc/diff.h do not need a topology as first parameter anymore. > > + hwloc_parse_cpumap_file () superseded by > > hwloc_linux_read_path_as_cpumask() > > in hwloc/linux.h. > > * New APIs and Features > > + Add hwloc/shmem.h for sharing topologies between processes running on > > the same machine (for reducing the memory footprint). > > + Add the experimental netloc subproject. It is disabled by default > > and can be enabled with --enable-netloc. > > It currently brings command-line tools to gather and visualize the > > topology of InfiniBand fabrics, and an API to convert such topologies > > into Scotch architectures for process mapping. > > See the documentation for details. > > * Removed APIs and features > > + Remove the online_cpuset from struct hwloc_obj. Offline PUs get unknown > > topologies on Linux nowadays, and wrong topology on Solaris. Other OS > > do not support them. And one cannot do much about them anyway. Just keep > > them in complete_cpuset. > > + Remove the now-unused "System" object type HWLOC_OBJ_SYSTEM, > > defined to MACHINE for backward compatibility. > > + The almost-unused "os_level" attribute has been removed from the > > hwloc_obj structure. > > + Remove the custom interface for assembling the topologies of different > > nodes as well as the hwloc-assembler tools. > > + hwloc_topology_set_fsroot() is removed, the environment variable > > HWLOC_FSROOT may be used for the same remote testing/debugging purpose. > > + Remove the deprecated hwloc_obj_snprintf(), hwloc_obj_type_of_string(), > > hwloc_distribute[v](). > > * Remove Myrinet Express interoperability (hwloc/myriexpress.h). > > + Remove Kerrighed support from the Linux backend. > > + Remove Tru64 (OSF/1) support. > > - Remove HWLOC_MEMBIND_REPLICATE which wasn't available anywhere else. > > * Tools > > + lstopo and hwloc-info have a new --filter option matching the new > > filtering API. > > + lstopo can be given --children-layout=plain to force a basic displaying > > of memory and normal children together below their parent. > > + hwloc-distances was removed and replaced with lstopo --distances. > > * Misc > > + About Objects > > - Linux OS devices do not have to be attached through PCI anymore, > > for instance enabling the discovery of NVDIMM block devices. > > - Add a SectorSize attribute to block OS devices on Linux. > > - MemoryModule objects are not added by default because Misc objects are > > filtered-out by default. > > - Do not set PCI devices and bridges name automatically. Vendor and > > device > > names are already in info attributes. > > + Exports > > - Exporting to synthetic now ignores I/O and Misc objects. > > + PCI discovery > > - Separate OS device discovery from PCI discovery. Only the latter is > > disabled > > with --disable-pci at configure time. Both may be disabled with > > --disable-io. > > - The `linuxpci' component is now renamed into `linuxio'. > > - The old `libpci' component name from hwloc 1.6 is not supported > > anymore, > > only the `pci' name from hwloc 1.7 is now recognized. > > - The HWLOC_PCI_<domain>_<bus>_LOCALCPUS environment variables are > > superseded > > with a single HWLOC_PCI_LOCALITY where bus ranges may be specified. > > + Components and discovery > > - Add HWLOC_SYNTHETIC environment variable to enforce a synthetic > > topology > > as if hwloc_topology_set_synthetic() had been called. > > - HWLOC_COMPONENTS doesn't support xml or synthetic component attributes > > anymore, they should be passed in HWLOC_XMLFILE or HWLOC_SYNTHETIC > > instead. > > - HWLOC_COMPONENTS takes precedence over other environment variables > > for selecting components. > > + Remove the dependency on libnuma on Linux. > > + hwloc now requires a C99 compliant compiler. > > > > Changes since v2.0.0-beta1 include the addition of > > hwloc_get_memory_parents_depth(), > > the addition of hwloc_obj_type_is_normal() and friends, some new support > > bits, > > and the removal of Myrinet Express interoperability. > > > > Changes from v1.11.9rc1 are included in v2.0.0rc1. > > > > Te final v1.11.9 will be released in the next days and there will be other > > ultra-stable v1.11.x releases even after the final v2.0.0. > > > > -- > > Brice > > > > _______________________________________________ > hwloc-announce mailing list > hwloc-announce@lists.open-mpi.org > https://lists.open-mpi.org/mailman/listinfo/hwloc-announce -- Samuel Fatal Error: Found [MS-Windows] System -> Repartitioning Disk for Linux... (By cbbr...@io.org, Christopher Browne) _______________________________________________ hwloc-announce mailing list hwloc-announce@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/hwloc-announce