Software list:

  • Hardware (and Network) Locality (hwloc)

    The Portable Hardware Locality (hwloc) software package provides a portable abstraction (across OS, versions, architectures, …) of the hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading. It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently.
    hwloc also includes the Network Locality subproject (netloc).
    More information

  • PaMPA

    Parallel Mesh Partitioning and Adaptation
    More information

  • Scotch

    Graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering
    More information

  • TreeMatch

    Process placement for multicore
    More information

  • NewMadeleine

    NewMadeleine is a high performance communication library for clusters. It enables a wide range of communication flow optimization techniques. Its design is entirely modular: drivers and optimization strategies are dynamically loadable software components, allowing experimentations with multiple approaches or on multiple issues with regard to processing communication flows. It targets applications with irregular, multi-flow communication schemes.

    It features multi-threaded communication, with good scalability with the number of threads, progression in background for non-blocking communications, scalability with the number of simultaneous requests and number of tags.

    More information about NewMadeleine.

  • H-Revolve

    Library to optimize the execution of an adjoint computation/automatic differentiation/backpropagation graph on a parallel platform with a hierarchical memory system.
    More information: library, paper