Giter Club home page Giter Club logo

Comments (4)

HadrienG2 avatar HadrienG2 commented on August 15, 2024

I'm wondering how acceptable it would be to say that vendored builds only cover the minimal hwloc feature set, and those who want more should roll their own hwloc builds.

from hwlocality.

nazar-pc avatar nazar-pc commented on August 15, 2024

For me that'd work, but since the difference is just CLI options for configuration it doesn't look like a lot of burden to support two configs: minimal and default, comparing to just one of them.

from hwlocality.

HadrienG2 avatar HadrienG2 commented on August 15, 2024

What makes me uneasy here is that vendored-full would not mean "build hwloc with all features enabled", as one would expect, rather it would mean "build with every feature that the hwloc configure script has detected support for on the host system". Which can go wrong in two different ways:

  • The configure script may detects some library on the host, that cannot actually be used without extra setup from the user's side, resulting in a seemingly unrelated build failure later on. This most commonly happens with CUDA.
  • The user intended to build hwloc with support for feature X, but X was not detected on the host system due to some PATH configuration error, and thus hwloc ended up silently being built without it.

The way one normally handles these issues in an autotools workflow is to run ./configure interactively, carefully check the output for any unexpected configuration choice, and only run make once the configure script output fully matches expectations. However vendored builds break this workflow by hiding the configure logs so well that only relatively advanced cargo users even know there are ways to get to them.

From this perspective, I would say that vendored builds are fine for simple use cases like "my linux distro has outdated hwloc packages and I want to probe the hardware topology and pin some threads", but any use of hwloc more complex than this would probably be better served by the extra control and much greater ease of debugging that an interactive hwloc build provides.

from hwlocality.

nazar-pc avatar nazar-pc commented on August 15, 2024

If the concern is naming, it could be called vendored-default or something. I don't have strong preference about it either way, just thinking about some use cases that (assuming host is configured properly) could be made to work, but would now require messing with manual compilation of hwloc.

from hwlocality.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.