Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DOC: Enable parallel builds#28617

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
timhoffm merged 1 commit intomatplotlib:mainfromQuLogic:parallel-docs
Jul 28, 2024
Merged

Conversation

QuLogic
Copy link
Member

PR summary

The latest sphinx-gallery 0.17.0 adds support for parallel building of examples, and the issue in pydata-sphinx-theme was fixed in 0.15.4, so we can try enabling it again.

We're on a large docker instance, with 4 cores and 8GB RAM; the RAM tracking shows we use max 43% / average 37%, so I've set parallelism to 2, which hopefully won't OOM.

cf#28244 for the last attempt that was stalled by the pydata-sphinx-theme issue.

PR checklist

@QuLogicQuLogic added Documentation: buildbuilding the docs CI: testingCI configuration and testing labelsJul 26, 2024
@QuLogic
Copy link
MemberAuthor

It looks like we are hittingjoblib/joblib#883 (comment) which we could patch as in the link, but the deadlock is actually because we set warnings to be errors, so I've setjoblib to be ignored.

The latest sphinx-gallery 0.17.0 adds support for parallel building ofexamples, and the issue in pydata-sphinx-theme was fixed in 0.15.4, sowe can try enabling it again.
@QuLogic
Copy link
MemberAuthor

It also looks like we didn't really use any more RAM (and the peak is before we even start building docs), so I'm going to try bumping up to 4 processes.

@QuLogic
Copy link
MemberAuthor

QuLogic commentedJul 26, 2024
edited
Loading

Even at 4 jobs, we didn't really use much more RAM (max 53%), and didn't really get better times (15m16s for 2 vs 14m17s for 4).

I think also I should check what happens in release mode just to be sure that that won't OOM. I'll set to draft just so that this doesn't get merged while that is in progress.

@QuLogicQuLogic marked this pull request as draftJuly 26, 2024 06:06
@QuLogic
Copy link
MemberAuthor

Results:

JobTimeMax CPUMax RAM
Serial PR (aka non-release mode)22m19s26%36%
Serialmain branch (release mode)45m34s57%37%
Parallel 2x non-release mode15m11s51%41%
Parallel 4x non-release mode14m14s100%53%
Parallel 4x release mode20m52s100%66%

(Note that the maximums are from the Resources tab after the first 2 minutes; I believe the spike at 2min is from earlier job steps, not the build step.)

So for non-release (PR) builds, 2x is ~7min quicker or ~68% of the previous time, 4x is ~8min quicker or ~64% of the previous time. For release (main) builds, 4x is ~25min quicker or ~45% of the previous time. I didn't bother checking release builds with 2x, since we didn't get anywhere close to OOMing.

I'm going to remove the release-job commit, and mark as ready again.

@timhoffmtimhoffm merged commit6a302e3 intomatplotlib:mainJul 28, 2024
60 of 62 checks passed
@QuLogicQuLogic deleted the parallel-docs branchJuly 29, 2024 21:30
@QuLogicQuLogic added this to thev3.10.0 milestoneJul 29, 2024
timhoffm added a commit that referenced this pull requestSep 26, 2024
#28617 introduced parallel gallery builds. This needs joblib as adependency for sphinx-gallery. `requirements.txt` solves this via`sphinx-gallery[parallel]>=0.12.0`. Unfortunately, conda does notsupport variants, therefore we have to add the dependencyexplicitly to `environment.yml`.
tacaswell pushed a commit that referenced this pull requestOct 17, 2024
#28617 introduced parallel gallery builds. This needs joblib as adependency for sphinx-gallery. `requirements.txt` solves this via`sphinx-gallery[parallel]>=0.12.0`. Unfortunately, conda does notsupport variants, therefore we have to add the dependencyexplicitly to `environment.yml`.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@story645story645story645 approved these changes

@timhoffmtimhoffmtimhoffm approved these changes

Assignees
No one assigned
Labels
CI: testingCI configuration and testingDocumentation: buildbuilding the docs
Projects
None yet
Milestone
v3.10.0
Development

Successfully merging this pull request may close these issues.

3 participants
@QuLogic@story645@timhoffm

[8]ページ先頭

©2009-2025 Movatter.jp