Skip to content

Cap the libxc build parallelism at 8 - #337

Open
HaoZeke wants to merge 2 commits into
EESSI:mainfrom
HaoZeke:libxc-parallelism-divide-by-3-v2
Open

HaoZeke wants to merge 2 commits into
EESSI:mainfrom
HaoZeke:libxc-parallelism-divide-by-3-v2

Conversation

@HaoZeke

@HaoZeke HaoZeke commented Nov 2, 2026 •

Copy link
Copy Markdown

Companion to EESSI/software-layer#1772.

The libxc 7.0.0 build for x86_64/amd/zen4 there was killed twice by the out-of-memory killer in cc1.
This caps the libxc build at 8 parallel jobs on every target, instead of dividing the core count by 3, so a large build node no longer starts more cc1 processes than its memory can hold.
The A64FX limit stays at 6.

AI disclosure: an AI coding assistant helped write this change.
I reviewed it and checked the builds and tests myself.

The libxc 7.0.0 build for x86_64/amd/zen4 in EESSI/software-layer#1772
was killed twice with the same OOM in cc1 at half the cores.
A divider of 3 gives 5 jobs on a 16-core build node instead of 8.
@casparvl

casparvl commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Testing this in EESSI/software-layer#1772 (comment)

@casparvl

casparvl commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Still went OOM - or so it seems. We can try to reduce parallelism even further. But by now I'm not convinced that it isn't the memory consumption of one of the threads that is a bottleneck...

The good news I guess is that the build time wasn't all that different. Maybe we should just really crank it, go for a reduction of 8 (i.e. 2 cores), see if that works. It'll take the least amount of human time to just try this.

@HaoZeke HaoZeke changed the title Divide the libxc build parallelism by 3 instead of 2 Cap the libxc build parallelism at 8 Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants