Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

benchmark more blas/lapack functions #11

Open
2 of 3 tasks
ev-br opened this issue Jun 25, 2024 · 2 comments
Open
2 of 3 tasks

benchmark more blas/lapack functions #11

ev-br opened this issue Jun 25, 2024 · 2 comments

Comments

@ev-br
Copy link
Collaborator

ev-br commented Jun 25, 2024

Currently we benchmark:

BLAS level 1

  • ddot
  • ?nrm2
  • ?axpy

BLAS level 3

  • ?gemm
  • ?syrk

LAPACK:

  • ?gesv (linalg.solve)
  • ?gesdd (linalg.svd)
  • ?syev (linalg.eigh)

@martin-frbg suggested it'd be useful to add

  • ?gemv
  • ?gbmv

for the banded matrix-vector multiply, what is more interesting to scale: matrix size or the number of bands?


  • cdotc -- complex-valued BLAS level 1
@martin-frbg
Copy link
Contributor

good question - maybe matrix size for now to keep it simple, although number of bands would also be interesting. GBMV is a curious case where the implementation is unchanged from the original GotoBLAS and may not have been evaluated for (multithreaded) performance at all.

@ev-br
Copy link
Collaborator Author

ev-br commented Jun 27, 2024

OK, gbmv benchmarks now run for a standard range of sizes from 100 to 1000 and kl=1, 2, 3 (kl=ku, so it's 3, 5, and 7 bands). Web display is at http://www.openmathlib.org/BLAS-Benchmarks/#benchmarks.gbmv.time_gbmv
and raw data is in the usual places from GH actions, https://github.com/OpenMathLib/BLAS-Benchmarks/actions/runs/9693385959/job/26748720100 for the graviton run etc.

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

No branches or pull requests

2 participants