ๆ่ พAscendC็ฎๅญ็ฅ่ฏๅบ - ไธบCoding Agentๆไพๆ่ พNPU็ฎๅญๅผๅ็ฅ่ฏๆฏๆ
AscendC Operator Knowledge Base (asc_ops) ๆฏไธไธช้ขๅCoding Agent็ๆ่ พAscendC็ฎๅญ็ฅ่ฏๆฃ็ดข็ณป็ปใ
- ๅผๅๅ่: Agentๅผๅๆฐๆ่ พ็ฎๅญๆถ๏ผๅฏๆฅ่ฏขAPIไฝฟ็จๆกไพใไผๅๆนๆกใๅๅฒbugไฟฎๅค็ป้ช
- ้ฎ้ขๆๆฅ: Agent้ๅฐๆ่ พ็ฎๅญ้ฎ้ขๆถ๏ผๅฏๆ็ดข็ธไผผ้ฎ้ข็่งฃๅณๆนๆก
- ่ทจๅนณๅฐ้้ : AgentๅฏๅฐGPU็ฎๅญๅฎ็ฐ่ฟ็งปๅฐๆ่ พNPUๆถ๏ผๅ่GPUๅฎ็ฐ็ฅ่ฏๅAPIๆ ๅฐ
| ๅ่ฝ | ่ฏดๆ |
|---|---|
| AscendC API็ฅ่ฏๅบ | 1120 ๅฎๆนAPI๏ผ100% nav_path่ฆ็๏ผ่ฆ็Vec/Matmul/Tensor็ญๆ ธๅฟๆฅๅฃ |
| NPU็ฎๅญ็ฅ่ฏ | 1203+ Bugไฟฎๅค็ป้ช + 13+ ไผๅๆนๆก |
| GPUโNPU้้ | 57+ ่ทจๅนณๅฐAPIๆ ๅฐ (CUDA/CUB/CUTLASS โ AscendC) |
| MCPๆฅๅฃ | ๆฏๆClaude Code/CoPilot/Cursor็ญMCPๅ ผๅฎนAgent |
- Claude Code (้่ฟMCP)
- GitHub CoPilot (้่ฟMCP)
- Cursor (้่ฟMCP)
- ้ไน็ต็ (้่ฟMCP)
- ๅ ถไปMCPๅ ผๅฎนAgent
| ็ปดๅบฆ | AscendCๅผๅSkill | asc_ops MCP็ฅ่ฏๅบ |
|---|---|---|
| ๆฌ่ดจ | ๅ็นๅทฅๅ ท/ๆไปค้ | ็ฅ่ฏๆฃ็ดข็ณป็ป |
| ไบคไบๆนๅผ | ่ขซๅจๅๅบๆไปค | ไธปๅจๆฃ็ดข |
| ็ฅ่ฏ่งๆจก | Skillๆฌ่บซ็ๆไปคๅฎน้ | 2400+ๆก็ฅ่ฏ (1120 API + 1203 Bug + 57ๆ ๅฐ) |
| ๆฃ็ดข่ฝๅ | ๅบๅฎๆไปค่ทฏๅพ | ๆททๅๆฃ็ดข (ๅ้+BM25+็ฝฎไฟกๅบฆ) |
Skill: ็ผ่ฏๆถๅบๅฎ็ๆไปค้ โ ็ฅ่ฏไธ้ๅ้ไบไปฃ็ ้
MCP็ฅ่ฏๅบ: ่ฟ่กๆถๅฏๆฉๅฑ โ ๆ็ปญๅธๆถๆฐ็ป้ช
ไธๆ้่ๅ: ๅ้ 0.6 + BM25 0.3 + ็ฝฎไฟกๅบฆ 0.1
ๆๆ๏ผ่ฟๅ็ปๆๆ็ฝฎไฟกๅบฆๆๅบ๏ผ้ฟๅ ไฝ่ดจ้็ฅ่ฏ่ฏฏๅฏผAgentๅณ็ญ
Skillๅช่ฝๆไฝ "ๆไนๅAscendC"๏ผasc_opsๆไฝ "GPUไปฃ็ ๆไนๆนๅๆNPUไปฃ็ "ใ
| ๅบๆฏ | ๆ MCP | ๆMCP |
|---|---|---|
| CUB BlockScan | ้่ฏ้ | aclnnAsynchronousCompleteCumsum (0.95) |
| Gather API | aclnnGather (็ๆต) |
aclnnInvertPermute (0.98, exact) |
# ๆ นๆฎ็็ถๆ็ดขๅฏ่ฝๅๅ
symptom: "Matmul crash"
โ ่ฟๅ Bug ID + ็ฝฎไฟกๅบฆ + ๆ นๅ + ๅปบ่ฎฎไฟฎๅค + ๆฃๆฅ้กน่ฟไธๆฏๆๆกฃๆฅ่ฏข๏ผ่ๆฏไปๅๅฒBug็ฅ่ฏไธญๆจ็ๅฏ่ฝๅๅ ใ
| ๅบๆฏ | ่ฏดๆ |
|---|---|
| ็ฎๅๆไปคๆง่ก | ๅฆ"ๅธฎๆ็ๆMatmulๆ ธๅฝๆฐๆจกๆฟ" |
| ๅฎๆนๆๆกฃๆฅ่ฏข | ๆ่ พๅฎๆนAPI็ญพๅ็็ฒพ็กฎๅ่ |
| ๅฎๆถ็ผ็ ่พ ๅฉ | IDEๅ ่่กฅๅ จ |
asc_ops็ๆ ธๅฟไธๅฏๆฟไปฃๆง๏ผ
| ไผๅฟ | ่ฏดๆ |
|---|---|
| ่ทจๅนณๅฐ่ฟ็งป | GPU CUDA/CUBโNPU AscendC็ๅฎๆดๆ ๅฐ็ฅ่ฏ |
| ๅๅฒBugๆจ็ | 1200+็ๅฎBug็ๆ นๅ ๅๆ |
| ็ฝฎไฟกๅบฆๆๅบ | ้ฟๅ ไฝ่ดจ้็ฅ่ฏ่ฏฏๅฏผAgentๅณ็ญ |
| ๆ็ปญๆฉๅฑ | ๅฏๆฅๅ ฅๆฐไปๅบใๆฐ็ป้ช |
ไธๅฅ่ฏๆป็ป๏ผSkillๆไฝ "ๆไน็จAPI"๏ผasc_opsๆไฝ "ๅซไบบ่ธฉ่ฟไปไนๅ"ๅ"GPUไปฃ็ ๆไนๆนๅๆNPUไปฃ็ "ใไธค่ ๆฏไบ่กฅๅ ณ็ณป๏ผไฝ็ฅ่ฏๅบ็ๆจ็่ฝๅๅ่ทจๅนณๅฐๆ ๅฐๆฏSkillๆ ๆณๆฟไปฃ็ใ
ๅฎ้ ๆต่ฏ่กจๆ๏ผไฝฟ็จ MCP ็ฅ่ฏๅบๆฅ่ฏข vs ๆ ็ฅ่ฏๅบๆ็ดข๏ผLLM ๅ็ญ่ดจ้ๅทฎๅผๆพ่๏ผ
| ๅบๆฏ | ๆ MCP | ๆ MCP |
|---|---|---|
| GPUโNPU ๆ ๅฐ | aclnnGather (็ๆต) |
aclnnInvertPermute (0.98, exact) |
| CUB BlockScan | ้่ฏ้ | aclnnAsynchronousCompleteCumsum (0.95) |
| Bug ๆ นๅ | ็ๆตๅฏ่ฝๅๅ | ็ฒพ็กฎๅฎไฝ SocVersionโNpuArch |
| API ๆฆๅฟต | ๅฏ่ฝๆททๆท | ๆๅจ่งฃ้ TPosition/LocalTensor |
่ฏฆ่ง ไฝฟ็จๆกไพ:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Coding Agent โ
โ (Claude Code / CoPilot / Cursor / ้ไน็ต็ ) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCPๅ่ฎฎ (stdio)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MCP Server (asc_ops) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โ โ ChromaDB โ โ Redis โ โ
โ โ (ๅ้ๅญๅจ) โ โ (KVๅญๅจ) โ โ
โ โ โ โ โ โ
โ โ โข API่ฏญไนๅ้ โ โ โข ็ฎๅญๅฑๆง โ โ
โ โ โข Bug็ฅ่ฏๅ้ โ โ โข PRๅ
ๆฐๆฎ โ โ
โ โ โข GPU-NPUๆ ๅฐ โ โ โข ่ดจ้่ฏๅ โ โ
โ โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Python 3.9+
- Redis 6.0+ (ๅผๅๆจกๅผๅฏ็จmock)
- ChromaDB (ๆฌๅฐๅ้ๅญๅจ)
- Git
git clone https://github.com/SimmerChan/asc_ops.git
cd asc_ops# ๅๅปบ่ๆ็ฏๅข (ๆจ่)
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# .venv\Scripts\activate # Windows
# ๅฎ่ฃ
ไพ่ต
pip install -r requirements.txt# ๅคๅถ็ฏๅขๅ้ๆจกๆฟ
cp .env.example .env
# ็ผ่พ .env ๅกซๅ
ฅๅฟ
่ฆ้
็ฝฎ
nano .env # ๆไฝฟ็จไฝ ๅๆฌข็็ผ่พๅจๅ ณ้ฎ้ ็ฝฎ้กน:
# ChromaDB้
็ฝฎ
CHROMA_DB_PATH=./data/chroma_db
# Redis้
็ฝฎ (ๅผๅๆจกๅผๅฏ็็ฉบ)
REDIS_HOST=localhost
REDIS_PORT=6379
# LLM้
็ฝฎ (็จไบ็ฅ่ฏๆฝๅ)
ANTHROPIC_API_KEY=your_api_key
ANTHROPIC_API_BASE=https://api.anthropic.com
ANTHROPIC_MODEL=claude-3-5-sonnet-20241022
# ๅ้ๅๆจกๅ
EMBEDDING_MODEL_PATH=/path/to/Qwen3-Embedding-0.6B
EMBEDDING_DEVICE=mps # ๆ cuda้กน็ฎๅทฒๅ
ๅซ้ข้้็ๆฐๆฎๅจ data/ ็ฎๅฝ๏ผ
# ๆฐๆฎ็ฎๅฝ็ปๆ
data/
โโโ chroma_db/ # ๅ้ๆฐๆฎๅบ
โ โโโ cross_platform_mappings # 57ๆก GPU-NPUๆ ๅฐ
โ โโโ ascend_apis # 1120ไธช API (100% nav_path)
โ โโโ bug_fixes # 1203ไธช Bug็ฅ่ฏ
โ โโโ optimizations # 13ไธช ไผๅ็ฅ่ฏ
โโโ checkpoints/ # ๅๆญฅๆฃๆฅ็นๅฆ้้ๆฐ้้ๆฐๆฎ๏ผๅ่ docs/getting-started/collect-data.mdใ
ๆนๅผ1: ๅฏๅจMCP Server (ๆจ่็จไบCoding Agent)
python -m src.asc_ops.mcp.cliMCP Serverไฝฟ็จstdioๅ่ฎฎ๏ผๅฏ็ดๆฅไธClaude Code็ญAgent้ๆใ
ๆนๅผ2: ๅฏๅจFastAPIๆๅก
python -m src.asc_ops.serverๆๅกๅฐๅจ http://localhost:8000 ๅฏๅจ๏ผAPIๆๆกฃ: http://localhost:8000/docs
ๅฏๅจMCP Serverๅ๏ผๅจClaude Codeไธญ้ ็ฝฎMCPๅทฅๅ ทๅณๅฏไฝฟ็จใ
ๅฏ็จMCPๅทฅๅ ท:
| ๅทฅๅ ท | ็จ้ | ็คบไพ |
|---|---|---|
query_for_development |
ๆฅ่ฏข็ฎๅญ็Bugๅไผๅ็ฅ่ฏ | ๆฅ่ฏขMatmulๅผๅๆณจๆไบ้กน |
query_for_troubleshooting |
ๆ นๆฎ็็ถๆ็ดขๅฏ่ฝๅๅ | ๆ็ดข"Matmul crash" |
query_api |
ๆฅ่ฏขAscendC APIๅฎไน | ๆฅ่ฏขaclnnMatmul็จๆณ |
query_cross_platform |
ๆฅ่ฏขGPUโNPU APIๆ ๅฐ | ๆฅ่ฏขcub::BlockScanๅฏนๅบNPU API |
import asyncio
from src.asc_ops.knowledge_query import KnowledgeQueryService
async def main():
service = KnowledgeQueryService(chroma_db_path="./data/chroma_db")
# ๆฅ่ฏข็ฎๅญๅผๅ็ฅ่ฏ
result = await service.query_for_development(
operator_name="Matmul",
query_type="bug",
limit=5
)
print(f"ๆพๅฐ {len(result.bug_fixes)} ๆกBug็ฅ่ฏ")
# ๆฅ่ฏขGPU-NPUๆ ๅฐ
from src.asc_ops.mapper import MapperEngine
from src.asc_ops.gpu_collector.storage import GPUStorage
storage = GPUStorage(use_mock=False)
mapper = MapperEngine(storage=storage)
mapping = mapper.find_mapping("cub::DeviceScan", "cuda")
print(f"GPUโNPUๆ ๅฐ: {mapping.gpu_api} โ {mapping.npu_api}")
asyncio.run(main())| ๅทฅๅ ท | ChromaDB ไพ่ต | Redis ไพ่ต | Embedding ไพ่ต |
|---|---|---|---|
query_for_development |
โ ็ฒพ็กฎๆฅ่ฏข | โ ๅผ็จ่ฟฝ่ธช/็ฝฎไฟกๅบฆๆๅบ | โ ไธ้่ฆ |
query_for_troubleshooting |
โ ๅ้ๆฅ่ฏข | โ ๅผ็จ่ฟฝ่ธช/็ฝฎไฟกๅบฆๆๅบ | โ ้่ฆ |
query_api (็ฒพ็กฎ) |
โ ็ฒพ็กฎๅน้ | โ ไธ้่ฆ | โ ไธ้่ฆ |
query_api (่ฏญไน) |
โ ๅ้ๆฅ่ฏข | โ ไธ้่ฆ | โ ้่ฆ |
query_cross_platform |
โ SQLite | โ ไธ้่ฆ | โ ไธ้่ฆ |
่ฏดๆ๏ผ
- ChromaDB: ๅ้ๆฐๆฎๅบ๏ผๅญๅจ API ็ฅ่ฏๅบ
- Redis: KV ๅญๅจ๏ผ็จไบๅผ็จ่ฎกๆฐ่ฟฝ่ธชๅ็ฝฎไฟกๅบฆๆ็ฅๆๅบ
- Embedding: ๅ้ๅๆจกๅ๏ผ็จไบ่ฏญไนๆ็ดข
Embedding ๆจกๅ้ ็ฝฎ๏ผ
# ๆนๅผ1: Qwen3-Embedding (้ป่ฎค, Apple Silicon MPS)
EMBEDDING_EMBEDDER_TYPE=qwen
EMBEDDING_DEVICE=mps # ๆ cuda/cpu
# ๆนๅผ2: Sentence Transformers
EMBEDDING_EMBEDDER_TYPE=sentence_transformers
EMBEDDING_MODEL_NAME=Qwen/Qwen3-Embedding-0.6B
# ๆนๅผ3: Mock (ไป
็ฒพ็กฎๆฅ่ฏข, ๆ ่ฏญไนๆ็ดข)
EMBEDDING_EMBEDDER_TYPE=mockๆ Embedding ๆจกๅๆถ็่กไธบ๏ผ
- ็ฒพ็กฎๆฅ่ฏข (
api_name=) ๆญฃๅธธๅทฅไฝ - ่ฏญไนๆ็ดข (
semantic_query=) ่ฟๅ็ฉบ็ปๆ + ่ญฆๅ - ๅปบ่ฎฎ Agent ๆน็จ็ฒพ็กฎๆฅ่ฏข
# ๅๆGPU-NPUไปฃ็ ๅฏน
python -m src.asc_ops.cli.analyze analyze-mapping \
--config peer_repos.yaml \
--name fbgemm-sparse-ops \
--atomic
# ๅๆญฅ็ฎๅญๆฐๆฎ
python -m src.asc_ops.cli.collect sync \
--source github \
--repos ops-nn,ops-math| ็ฅ่ฏ็ฑปๅ | ๆฐ้ | ๆฅๆบ | ็ถๆ |
|---|---|---|---|
| AscendC API | 1120 | ๆ่ พๅฎๆนๆๆกฃ | โ 100% nav_path |
| NPU Bugไฟฎๅค | 1203+ | ops-nn, ops-math็ญ6ไป | โ |
| NPUไผๅๆนๆก | 13+ | ops-nn, ops-math็ญ6ไป | โ |
| GPUโNPUๆ ๅฐ | 57+ | FBGEMM, cuBLAS, CUTLASS็ญ | โ |
asc_ops/
โโโ README.md # ๆฌๆไปถ
โโโ requirements.txt # Pythonไพ่ต
โโโ .env.example # ็ฏๅขๅ้ๆจกๆฟ
โโโ peer_repos.yaml # GPU-NPUๅฏน็ญไปๅบ้
็ฝฎ
โ
โโโ src/asc_ops/ # ไธปๅ
โ โโโ app.py # FastAPIๅบ็จๅ
ฅๅฃ
โ โโโ server.py # APIๆๅกๅจ
โ โโโ config.py # ้
็ฝฎ็ฎก็
โ โ
โ โโโ mcp/ # MCP Server
โ โ โโโ cli.py # MCP CLIๅ
ฅๅฃ
โ โ โโโ server.py # MCPๅ่ฎฎๆๅกๅจ
โ โ โโโ tools.py # MCPๅทฅๅ
ทๅฎไน
โ โ
โ โโโ storage/ # ๅญๅจๅฑ
โ โ โโโ chroma_client.py # ChromaDBๅฎขๆท็ซฏ
โ โ โโโ redis_client.py # Redisๅฎขๆท็ซฏ
โ โ โโโ collections.py # Collectionๅฎไน
โ โ
โ โโโ knowledge_query.py # ็ฅ่ฏๆฅ่ฏขๆๅก
โ โโโ mapper/ # GPU-NPUๆ ๅฐ
โ โ โโโ engine.py # ๆ ๅฐๅผๆ
โ โ โโโ llm_analyzer.py # LLMๅๆๅจ
โ โ โโโ atomic_parser.py # ๅๅญAPI่งฃๆ
โ โ
โ โโโ ranker/ # ๆๅบๅฑ
โ โ โโโ fusion.py # ็ปๆ่ๅ
โ โ โโโ confidence.py # ็ฝฎไฟกๅบฆๅผๆ
โ โ โโโ scoring/ # ่ฏๅๆจกๅ
โ โ
โ โโโ extractor/ # ็ฅ่ฏๆฝๅ
โ โโโ collector/ # ๆฐๆฎ้้
โ โโโ gpu_collector/ # GPU็ฅ่ฏ้้
โ โโโ quality/ # ่ดจ้่ฏๅ
โ โโโ llm/ # LLM้ๆ
โ
โโโ tests/ # ๆต่ฏ
โ โโโ unit/ # ๅๅ
ๆต่ฏ
โ โโโ integration/ # ้ๆๆต่ฏ
โ โโโ e2e/ # ็ซฏๅฐ็ซฏๆต่ฏ
โ
โโโ docs/ # ๆๆกฃ
โโโ plans/ # ๅผๅ่ฎกๅ
โโโ brainstorms/ # ้ๆฑๆๆกฃ
โโโ use_cases/ # ไฝฟ็จๆกไพ
| ้ถๆฎต | ๅ่ฝ | ็ถๆ | ๅฎๆๆฅๆ |
|---|---|---|---|
| Phase 1 | ๅๅญๅจๆถๆ (ChromaDB + Redis) | โ ๅทฒๅฎๆ | 2026-04-10 |
| Phase 2 | ๅๅญๅ็ฅ่ฏๅพ่ฐฑ | โ ๅทฒๅฎๆ | 2026-04-10 |
| Phase 3 | ็ฝฎไฟกๅบฆๆ็ฅๆๅบๅฑ | โ ๅทฒๅฎๆ | 2026-04-11 |
| Phase 4 | ็ฅ่ฏ่ดจ้่ฏๅไฝ็ณป | โ ๅทฒๅฎๆ | 2026-04-11 |
| Phase 5 | Bug/ไผๅ็ฅ่ฏๆฝๅ | โ ๅทฒๅฎๆ | 2026-04-12 |
| GPU-NPU LLM Discovery | GPUโNPU่ชๅจๆ ๅฐๅๆ | โ ๅทฒๅฎๆ | 2026-04-18 |
| API nav_path | 342ไธชAPIๅฏผ่ช่ทฏๅพ่กฅๅ จ | โ ๅทฒๅฎๆ | 2026-04-19 |
| ๆจกๅ | ่ทฏๅพ | ่ฏดๆ |
|---|---|---|
| MCP Server | src/asc_ops/mcp/ |
Agent้ๆๆฅๅฃ |
| ็ฅ่ฏๅญๅจ | src/asc_ops/storage/ |
ChromaDB + Redis |
| ็ฅ่ฏๆฅ่ฏข | src/asc_ops/knowledge_query.py |
็ปไธๆฅ่ฏขๆๅก |
| GPU-NPUๆ ๅฐ | src/asc_ops/mapper/ |
่ทจๅนณๅฐๆ ๅฐ |
| ็ฝฎไฟกๅบฆๆๅบ | src/asc_ops/ranker/ |
Authority ร Recency ร Accuracy |
- ๅๅ ๆต่ฏ: 600+ ๆต่ฏ็จไพ
- ้ๆๆต่ฏ: ็ซฏๅฐ็ซฏๆต่ฏ่ฆ็
- MCPๆต่ฏ: 40ไธชๆต่ฏ
- ๅผๅ่ฎกๅ - ่ฏฆ็ปๅฎๆฝ่ฎกๅ
- GPU-NPUๆ ๅฐๅๆ - FBGEMM็จ็็ฎๅญๆ ๅฐ
- ไฝฟ็จๆกไพ - MCPๅทฅๅ ทๆๆๅฏนๆฏๅฎๆต
ๆฌข่ฟๆไบคIssueๅPull Request๏ผ
Apache License 2.0
Author: SimmerChan Version: 1.0.0 (MVPๅฎๆ)