Add thorn ExternalLibraries/hwloc to Einstein Toolkit

Create issue
Issue #888 closed
Erik Schnetter created an issue

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. It primarily aims at helping applications with gathering information about modern computing hardware so as to exploit it accordingly and efficiently.

Keyword:

Comments (9)

  1. Frank Löffler
    • changed status to open
    • removed comment

    A few minor things:

    - Typically configure scripts in ExternalLibraries are called THORN.sh - but here you choose configure.sh. Do we want to change this, or change the current 'standard'? It would be nice to have the same naming scheme across all thorns if possible. - The configure script doesn't seem to try to auto-detect an already installed version. Is this not possible or not of interest here? - We can add it before the release, but with the condition that we have to get it to compile on all machines we test on for the release.

    So - please add, but we'll have to take it out of the release if we cannot make it work nicely in the short amount of time.

  2. Bruno Mundim
    • removed comment

    We can add it before the release, but with the condition that we have to get it to compile on all machines we test on for the release.

    I think this condition is too stringent. There are quite a few external libraries that are not built on ranger for example and it is still shipped with ET. If it doesn't build on a particular machine then an entry on the mdb database should indicate so. Eventually we should figure out a way to build them all on all machines. Meanwhile we should apply the same standards to all external libraries: if they build on a large subset of machines and/or it is very useful for development even building on a small fraction of machines, then it would be good to include it in the ET thornlist. What do you think?

  3. Erik Schnetter reporter
    • removed comment

    Many people want to use the default thorn list and want to have each build finish quickly. This is the main reason why e.g. PETSc is not included (it is mentioned in the thorn list but is commented out).

    Regarding configure.sh: Yes, I would like to change the standard. There is no reason to use a different file name in every thorn.

    Regarding autodetecting: The library builds quickly; I have simply not tried finding pre-installed ones.

    I don't see a reason to include hwloc in the release.

  4. Bruno Mundim
    • removed comment

    I added a patch to configure.sh and configuration.ccl such that the library has optional installation directory and can be found if it is already installed in the system.

    I agree with erik regarding the names of configure scripts. After the release we can change them all (if others agree too).

    Also it would be nice to move the env variable THORN=hwloc to the beginning of the script so we can use it throughout the script. That will make easier to write a configure.sh template to be used for all external libraries.

  5. Ian Hinder

    Changing milestone to next release - soft freeze means no new components, and there is no urgent need to have this added now.

  6. Erik Schnetter reporter
    • removed comment

    Added. I also applied Bruno's patch.

    I'm leaving this ticket open to remind us to rename the configure scripts.

  7. Log in to comment