Skip to content

rules(performance): parallel splits must scale to the largest host's thread count - #28

Merged
shinaoka merged 1 commit into
mainfrom
rules/parallel-scaling
Oct 28, 2026
Merged

shinaoka merged 1 commit into
mainfrom
rules/parallel-scaling

Conversation

@shinaoka

Copy link
Copy Markdown
Member

Adds a Parallel Scaling section to rules/common/performance.md: a parallel split must keep working when the thread count grows to the largest host (64 cores and more), not only at the 4 to 8 threads of a development machine.

It lists the failure modes to check before measuring a new or changed parallel region: a shared operand read once per task (traffic p × size), O(p) partial results with an O(p) combine, fixed task caps or split counts, thresholds that ignore p, contention that grows with p, and multiple cache domains. It asks for a comparison with the reference implementation (reference LAPACK / OpenBLAS for dense linear algebra), scaling evidence at 1, 8 and the largest thread count, traffic numbers when the claim is about traffic, and judging by mechanism rather than tuning constants to one host.

Motivation: tensor4all/faer#90, where the block Householder apply's column-only split re-reads the whole basis once per task, so its traffic grows with the thread count.

🤖 Generated with Claude Code

…thread count

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@shinaoka
shinaoka merged commit b27b57a into main Oct 28, 2026
1 check passed
@shinaoka
shinaoka deleted the rules/parallel-scaling branch October 28, 2026 21:28
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.

1 participant