Use dynamic CPU count for cmake --build -j in docs and test scripts#20436
Use dynamic CPU count for cmake --build -j in docs and test scripts#20436ShamSaleem wants to merge 1 commit into
Conversation
Replace hardcoded -j values (-j9, -j10) in the general build documentation and the test/ build scripts with a portable expression that derives "core count + 1" at runtime: nproc on Linux and sysctl -n hw.ncpu on macOS. This matches the recommendation already stated in docs/source/using-executorch-building-from-source.md and avoids machine-specific job counts that don't fit the user's hardware. Scope is limited to general (non-vendor) docs and contributor-facing test/ scripts. Vendor-backend scripts, CI scripts under .ci/, and non-cmake -j flags are intentionally left for a follow-up. Partially addresses pytorch#10887.
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20436
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below:
|
|
|
This PR needs a
|
Summary
Several build docs and
test/scripts hardcode thecmake --build -jparallelism (
-j9,-j10), which assumes a fixed machine. This replacesthem with a portable expression that derives "core count + 1" at runtime —
nprocon Linux,sysctl -n hw.ncpuon macOS:"core count + 1" matches the guidance already documented in
docs/source/using-executorch-building-from-source.md. Thenproc → sysctlfallback keeps the commands working on both Linux and macOS, and the
arithmetic degrades gracefully to
-j1if neither tool is available.Partial fix for #10887. Scope is limited to general (non-vendor) docs and
contributor-facing
test/build scripts (9 files). Vendor-backend scripts(cadence, vulkan, coreml, qualcomm, mediatek, samsung, mps, nxp), CI scripts
under
.ci/, and non-cmake-jflags are intentionally left for follow-ups.Test plan
lintrunnerpasses on all changed files.bash -npasses on the three modified shell scripts.17on a 16-core machine.