hwlocality
hwlocality copied to clipboard
Rust bindings to Open MPI Portable Hardware Locality "hwloc" library, covering version 2.0 and above.
While I have commented on several other issues about what's needed before a final v1 release, I just realized that a single issue that centralizes this knowledge would make this...
To avoid issues like #114 in the future, I should add a musl build to CI. Hopefully replicating the dockerfile listed there, but with clippy lints and maybe tests on...
Expose hwloc's ability to compute diffs of topologies that are similar but not quite identical: https://hwloc.readthedocs.io/en/v2.9/group__hwlocality__diff.html
Without hacking, windows CI is broken by the fact that pkgconfiglite binary releases are hosted on SourceForge and that host is constantly blocking downloads from github CI nodes. As a...
Expose Linux-specific API functions and libnuma interoperability behind suitable cfg flags with associated doc(cfg)/cfg(doc): - [x] Linux: https://hwloc.readthedocs.io/en/v2.9/group__hwlocality__linux.html - [ ] libnuma: - ulong: https://hwloc.readthedocs.io/en/v2.9/group__hwlocality__linux__libnuma__ulongs.html - bitmask: https://hwloc.readthedocs.io/en/v2.9/group__hwlocality__linux__libnuma__bitmask.html libnuma support...
hwloc provides interoperability with a bunch of GPU/heterogeneous system APIs. The amount of support code needed for each is small, but each will need to get a dedicated feature and...
Expose `libc::sched_(get|set)affinity` interoperability behind suitable cfg flags with associated doc(cfg)/cfg(doc): https://hwloc.readthedocs.io/en/v2.9/group__hwlocality__glibc__sched.html
In principle, it is possible to extend hwloc by writing plugins for it. However, the compile-time constant used to evaluate ABI compatibility is a header define, which means I can't...
Expose hwloc interoperability with the OpenFabrics networking library (infiniband etc), add suitable feature+cfg+doc(cfg)+cfg(doc): https://hwloc.readthedocs.io/en/v2.9/group__hwlocality__openfabrics.html
Expose hwloc's support for sharing topologies between processes: https://hwloc.readthedocs.io/en/v2.9/group__hwlocality__shmem.html