{"id":18447763,"url":"https://github.com/openmathlib/blas-benchmarks","last_synced_at":"2025-04-15T08:58:57.687Z","repository":{"id":244628394,"uuid":"815789350","full_name":"OpenMathLib/BLAS-Benchmarks","owner":"OpenMathLib","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-10T05:13:46.000Z","size":4006,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-15T08:58:53.507Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenMathLib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-16T06:49:12.000Z","updated_at":"2024-07-06T14:06:13.000Z","dependencies_parsed_at":"2024-07-25T06:26:25.265Z","dependency_job_id":"eb8029a7-9c0b-4ef6-afa9-8ef6a95b1566","html_url":"https://github.com/OpenMathLib/BLAS-Benchmarks","commit_stats":null,"previous_names":["openmathlib/blas-benchmarks"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMathLib%2FBLAS-Benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMathLib%2FBLAS-Benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMathLib%2FBLAS-Benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMathLib%2FBLAS-Benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenMathLib","download_url":"https://codeload.github.com/OpenMathLib/BLAS-Benchmarks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249040049,"owners_count":21202813,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T07:14:23.032Z","updated_at":"2025-04-15T08:58:57.669Z","avatar_url":"https://github.com/OpenMathLib.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"Results\n=======\n\nWeb version:  http://www.openmathlib.org/BLAS-Benchmarks/\n\nText timings are visible from the [Actions tab](https://github.com/OpenMathLib/BLAS-Benchmarks/actions), for individual arches --- click on an \"ASV Benchmarks\" workflow run, then select a desired architecture, and expand the \"Run benchmarks\" section. Here is [one example](https://github.com/OpenMathLib/BLAS-Benchmarks/actions/runs/9616185161/job/26525115646).\n\n\nBenchmark suite\n===============\n\nThe suite is similar to the one which runs on PRs to the OpenBLAS repository\nvia codspeed: https://github.com/OpenMathLib/OpenBLAS/tree/develop/benchmark/pybench\n\n\nCI orchestration\n================\n\nWe run the benchmark suite on a cron schedule.\n\nWe use three branches:\n\n  - `main` : contains benchmark code, the BLAS/LAPACK wrappers etc. This is the branch\n    you want to merge feature branches to;\n  - `gh-pages` : contains the html site + the `results/` from past runs; Commits\n    list the OpenBLAS wheel versions and configurations. This branch is auto-updated on\n    each CI run from main;\n  - `tracker` : `asv` benchmarks this branch. Mirrors `main`.\n    Is auto-updated on each CI run.\n\nThe reason for this setup is that on each run,  `asv`\n\n  - checks out the branch it benchmarks,\n  - builds the project, and\n  - labels the results by the top commit in that branch\n\nSince we use the `scipy_openblas32` nightly builds, our main branch itself does\nnot track changes in OpenBLAS (the wheels do).\nWere we to just benchmark `main`, all our runs would have been attributed\nto the same commit --- effectively, a new CI run would overwrite the previous one.\n\nTo sidestep this, on each CI run we point `asv` to the `tracker` branch, make it\nfunctionally equivalent to `main`, and add a new commit at the beginning of a CI\nbenchmarking run.\n\n\nRunning benchmarks locally\n==========================\n\nTo run the benchmark suite locally, first do\n\n```\n$ python -c \"import scipy_openblas32; print(scipy_openblas32.get_pkg_config())\" \u003e scipy_openblas.pc\n$ export PKG_CONFIG_PATH=$PWD\n```\n\nThen either edit `asv.conf.json` to point to the `main` branch:\n\n```diff\n$ git diff\ndiff --git a/asv.conf.json b/asv.conf.json\nindex ded988b..99e4ff3 100644\n--- a/asv.conf.json\n+++ b/asv.conf.json\n@@ -40,7 +40,7 @@\n\n     // List of branches to benchmark. If not provided, defaults to \"main\"\n     // (for git) or \"default\" (for mercurial).\n-       \"branches\": [\"tracker\"], // for git\n+       \"branches\": [\"main\"], // for git\n     // \"branches\": [\"default\"],    // for mercurial\n```\n\nor update the `tracker` branch to follow `main`:\n\n```\n$ git co tracker\n$ git revert HEAD\n$ git merge --squash main\n$ git co main\n```\n\nFinally, run\n\n```\n$ asv run -v\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmathlib%2Fblas-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmathlib%2Fblas-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmathlib%2Fblas-benchmarks/lists"}