Dashboard: https://fzilan.github.io/aclnn-dashboard/
Automatically generates and visualizes ACLNN support coverage across Torch-NPU and MindSpore, including:
- Daily automated scanning and data refresh
- Coverage comparison and 7-day onboarding speed trend
aclnn-dashboard/
├─ .github/workflows/
│ └─ refresh-aclnn-dashboard.yml # Daily data refresh workflow
├─ data/
│ ├─ raw/
│ │ └─ aclnn-aa.generated.md # Full ACLNN list (after crawl + cleanup)
│ └─ reports/
│ ├─ aclnn_to_torch_npu.csv/.md # Torch-NPU scan report
│ ├─ aclnn_to_mindspore.csv/.md # MindSpore scan report
│ └─ aclnn_to_all.csv/.md # Merged comparison report
├─ scripts/
│ ├─ crawl/
│ │ ├─ aclnn_scrape_op_api_list.py
│ │ └─ clean_aclnn_md_table.py
│ ├─ scan/
│ │ ├─ aclnn_to_torch_npu_report.py
│ │ ├─ aclnn_to_mindspore_report.py
│ │ └─ aclnn_merge_report.py
│ └─ build/
│ ├─ build_dashboard_data.py
│ └─ update_coverage_history.py
├─ index.html # Dashboard page
├─ data.json # Frontend-consumable data
├─ coverage_history.json # Daily coverage history
└─ run_pipeline.sh # One-command pipeline
- Crawls the full ACLNN API list and normalizes it
- Scans codebases independently:
op-plugin(master) for Torch-NPU coveragemindspore(master) for MindSpore coverage
- Merges both sides into a unified comparison report
- Builds
data.json(metrics + operators + history) - Maintains
coverage_history.jsonand computes 7-day speed (pp/day)
- Python 3.9+
- Python packages:
pyyaml,playwright - Playwright browser:
chromium
Install example:
python3 -m pip install -U pip pyyaml playwright
python3 -m playwright install chromiumgit clone https://github.com/Fzilan/aclnn-dashboard.git
cd aclnn-dashboard- Scan + Merge + Build (recommended for daily updates)
bash run_pipeline.sh \
--skip-scrape \
--op-plugin-root /path/to/op-plugin \
--mindspore-root /path/to/mindspore- Full pipeline including ACLNN crawl (only when ACLNN upstream list changes)
bash run_pipeline.sh \
--op-plugin-root /path/to/op-plugin \
--mindspore-root /path/to/mindspore- Rebuild frontend data only (no scan)
python3 scripts/build/build_dashboard_data.py \
--history-file coverage_history.json \
--output data.jsonpython3 -m http.server 8000Open: http://localhost:8000
Workflow: .github/workflows/refresh-aclnn-dashboard.yml
- Schedule: daily at
08:30Beijing Time (UTC 00:30) - Pulls automatically:
https://gitcode.com/Ascend/op-pluginatmasterhttps://gitcode.com/mindspore/mindsporeatmaster
- Runs
run_pipeline.sh --skip-scrape(skip ACLNN crawling by default) - Auto commits and pushes when artifacts change
- After workflow succeeds, view the dashboard directly on GitHub Pages:
https://fzilan.github.io/aclnn-dashboard/
data.json.metrics: global metrics + 7-day speeddata.json.operators: per-operator details (Torch/MindSpore evidence)data.json.history.daily_coverage: historical daily seriescoverage_history.json: source of daily snapshots (deduplicated by date)