JuliaLang / JuliaLang/LinearAlgebra.jl

Parallelize LinearAlgebra/addmul test

Open
#690 4 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

test
Dominant language
Julia
Stars
77
Forks
65
Avg merge
3d 23h
Merged PRs (30d)
10

Description

This test does a big loop over various combinations of matrix types: https://github.com/JuliaLang/julia/blob/master/stdlib/LinearAlgebra/test/addmul.jl#L134 and tries to add them together. This test takes the longest of any of the tests in the system. That loop should be fairly easy to distribute across multiple workers. Since each test runs with a different argument combination, I don't think we'd even lose anything by not caching common specializations between workers.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in stdlib/LinearAlgebra/test/addmul.jl around line 134 and inspect the loop over matrix-type combinations. Determine how the test suite distributes work across workers, then parallelize that loop while preserving all argument combinations; done means the addmul test completes successfully with the work distributed.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
performance, testing-qa
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.