Investigate discrepancy between non-BLAS and BLAS versions of `linfa-preprocessing`
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4.7k
- Forks
- 334
- Avg merge
- 39m
- Merged PRs (30d)
- 1
Description
The iai_fit_transform_tf_idf, iai_zca_bench, and iai_cholesky_bench benchmarks take noticeably more cycles with non-BLAS builds compared to BLAS builds. This is especially bad for iai_fit_transform_tf_idf, which takes around 6 times as long without BLAS. We should fix whatever issue is causing non-BLAS builds to be so much slower.
The benchmarks come from here and the relevant parts are below:
iai_fit_transform_tf_idf
Instructions: 5960889325 (+578.7082%)
L1 Accesses: 8486540657 (+598.1243%)
L2 Accesses: 33019866 (+995.8834%)
RAM Accesses: 1502558 (+758.9531%)
Estimated Cycles: 8704229517 (+603.7655%)
iai_zca_bench
Instructions: 608404933 (+4.710235%)
L1 Accesses: 741514513 (+1.982326%)
L2 Accesses: 25116941 (+25.19884%)
RAM Accesses: 3292475 (-0.800950%)
Estimated Cycles: 982335843 (+4.107730%)
iai_cholesky_bench
Instructions: 536186203 (+6.262738%)
L1 Accesses: 646261524 (+3.727183%)
L2 Accesses: 24747630 (+25.58514%)
RAM Accesses: 3277475 (+0.113386%)
Estimated Cycles: 884711299 (+5.807638%)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running and comparing the iai_fit_transform_tf_idf, iai_zca_bench, and iai_cholesky_bench benchmarks in non-BLAS and BLAS builds. Trace the relevant linfa-preprocessing paths to identify the source of the cycle discrepancy. Done means the non-BLAS builds no longer show the reported performance gap, with benchmark results confirming the improvement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100