Conversation
Signed-off-by: Harmen Stoppels <me@harmenstoppels.nl>
|
I don't think it's standard? |
|
Convention in the sub-ecosystem? ;p |
|
# package uses meson-python:
pip install -Ccompile-args=-jN
# package uses scikit-build-core:
pip install -Ccmake.define.CMAKE_BUILD_PARALLEL_LEVEL=N |
|
The change looks reasonable to me. I don't even remember why there's |
|
Maybe I could put the logic in the |
This reverts commit 1836b78.
Signed-off-by: Harmen Stoppels <me@harmenstoppels.nl>
|
Worth a shot, but we would still need to override at least these packages anyway. |
|
With the current patch, installing top branch is Edit: seems to work well for all 3 packages. |
Signed-off-by: Harmen Stoppels <me@harmenstoppels.nl>
|
I looked at scikit, which has different logic and some env variable, but that's a setuptools remnant (old versions). Also there it works fine. With the new installer
and with the old one it still passes The rest doesn't have So after this PR those packages should all have composable parallelism. |
rgommers
left a comment
There was a problem hiding this comment.
Passing -jN for all packages that use meson-python seems fine to me. Using N processes is almost as fast as 2N+2 usually, and way safer regarding not running out of memory.
|
Users can oversubscribe as they like with |
If Spack is running under a jobserver, packages should not pass
-jNto ninja.Spack's new installer creates a jobserver server by default, and ninja is a
client. If you pass it
-jN, it ignores Spack's jobserver and spawnsNsubprocesses, leading to oversubscription.
Without
-jN, you get composable parallelism across multiple concurrentpackage builds 🌈 🦄
get_effective_jobsrunsNonein caseof a jobserver.
@adamjstewart we could probably have better API for this. Is
compile-argsstandard? (Bit weird that it's a string, but well...)