{"id":24765941,"url":"https://github.com/infinitensor/operator-design-collection","last_synced_at":"2025-03-23T17:22:36.997Z","repository":{"id":232366514,"uuid":"784159864","full_name":"InfiniTensor/operator-design-collection","owner":"InfiniTensor","description":"收集和整理对不同框架和库中算子定义的调研","archived":false,"fork":false,"pushed_at":"2024-04-15T07:52:05.000Z","size":24,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-28T23:17:47.593Z","etag":null,"topics":["operator","research"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/InfiniTensor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-04-09T09:55:53.000Z","updated_at":"2024-04-11T04:32:46.000Z","dependencies_parsed_at":"2024-04-09T12:29:22.731Z","dependency_job_id":"7af80687-e4ce-4aea-8d0c-76861fa0aad6","html_url":"https://github.com/InfiniTensor/operator-design-collection","commit_stats":null,"previous_names":["infinitensor/operator-design-collection"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfiniTensor%2Foperator-design-collection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfiniTensor%2Foperator-design-collection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfiniTensor%2Foperator-design-collection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InfiniTensor%2Foperator-design-collection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InfiniTensor","download_url":"https://codeload.github.com/InfiniTensor/operator-design-collection/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245137453,"owners_count":20566758,"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":["operator","research"],"created_at":"2025-01-28T23:17:49.130Z","updated_at":"2025-03-23T17:22:36.961Z","avatar_url":"https://github.com/InfiniTensor.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# 算子信息收集\n\n[![issue](https://img.shields.io/github/issues/InfiniTensor/operator-design-collection)](https://github.com/InfiniTensor/operator-design-collection/issues)\n[![issue](https://img.shields.io/github/issues-pr/Infinitensor/operator-design-collection\n)](https://github.com/InfiniTensor/operator-design-collection/pulls)\n\n这个仓库用于收集和整理对不同框架和库中算子定义的调研。算子信息采用带有特定结构的 Markdown 文件存储，以方便自动化处理。\n\n## 目录\n\n- [格式定义](#格式定义)\n- [贡献指南](#贡献指南)\n- [算子列表](#算子列表)\n\n## 格式定义\n\n每个算子在一个领域中的定义保存在一个 Markdown 文件中，文件名为 `operator.domain.md`，采用纯小写，单词之间用 `-` 连接。其中：\n\n- `operator`：算子名字。由于算子的名字用于索引同类算子，必须规范唯一。见[算子列表](#算子列表)；\n- `domain`：定义来源的领域；\n  - 如果是框架，至少 2 级：\n    1. 固定以 `framework` 开头；\n    2. 然后是框架的名字，一定要做的包括 `pytorch`、`paddle` 和 `onnx`；\n    3. 如果不同版本变化较大，可以加一级版本号；\n       \u003e 例如：`framework-pytorch-1.10`；\n  - 如果是硬件算子库，至少为 3 级:\n    1. 固定以 `hardware` 开头；\n    2. 然后是厂商的名字，包括 `nvidia`、`cambricon`、`kunlunxin`、`intel` 等，额外添加一个不是厂商名字的 `cpu` 用来表示 CPU 通用的库；\n    3. 如果厂商有多款不兼容的产品，下一项为产品的名字；\n    4. 然后是算子库的名字；\n    5. 如果不同版本算子库差异较大，可以加一级版本号；\n       \u003e 例如：`hardware-nvidia-cudnn-8.9.5`、`hardware-intel-mkl`、`hardware-cpu-openblas`；\n\n下面是一些文件名示例：\n\n- `mat-mul.framework-pytorch-1.10.md`\n- `softmax.hardware-nvidia-cudnn-8.9.5.md`\n- `add.hardware-cpu-openblas.md`\n\n另外，每个调研文档中需要包含文本的来源，通常是一个文档链接，方便后续追溯。\n为了方便自动抓取这个信息，请在 Markdown 的一级标题之后紧跟一个引用块，在引用块中包含一个或一个无序列表中的多个尖括号括起的链接，例如：\n\n```Markdown\n# MatMul in cuBLAS\n\n\u003e \u003chttps://docs.nvidia.com/cuda/cublas/index.html#cublasgemmstridedbatchedex\u003e\n```\n\n或\n\n```Markdown\n# Add in ONNX\n\n\u003e - \u003chttps://onnx.ai/onnx/operators/onnx__Add.html#add-14\u003e\n\u003e - \u003chttps://onnx.ai/onnx/operators/onnx__Add.html#add-13\u003e\n\u003e - \u003chttps://onnx.ai/onnx/operators/onnx__Add.html#add-7\u003e\n\u003e - \u003chttps://onnx.ai/onnx/operators/onnx__Add.html#add-6\u003e\n\u003e - \u003chttps://onnx.ai/onnx/operators/onnx__Add.html#add-1\u003e\n```\n\n## 贡献指南\n\n- 建议贡献者先使用 [Issue](https://github.com/InfiniTensor/operator-design-collection/issues) 说明将调研哪些算子的哪些接口，然后应使用 [Pull Request](https://github.com/InfiniTensor/operator-design-collection/pulls) 提交文档，并在 PR 合并时自动关闭 issue；\n- commit message 应以 **\"update: \"** 开头，并说明更新的内容，例如：\n\n  ```Markdown\n  update: 添加 `MatMul in cuBLAS`\n  ```\n\n- 每次提交尽量只添加或修改一个文件，但如果是对多个文件统一做同类修改也可以在一次提交中完成；\n- 每次 PR 中对同一个文件的修改尽量集中在一次提交；\n- 请确保 Markdown 格式正确，并使用工具进行合理的格式化。\n  \u003e VsCode 用户推荐使用 [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) 插件规范 Markdown 写作。\n\n## 算子列表\n\n希望扩充算子列表的贡献者可以直接提交修改 `README.md` 文件的 PR，以 **\"添加算子\"** 为题。\n\n| 算子命名 | 中文名\n|:-------------------:|:-:\n| `rms-normalization` | 均方根归一化\n|           `mat-mul` | 矩阵乘\n|              `rope` | 旋转位置编码\n|         `attention` | 注意力机制\n|            `swiglu` | -\n|           `softmax` | -\n|               `add` | 加\n|               `mul` | 乘\n|           `sigmoid` | -\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinitensor%2Foperator-design-collection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfinitensor%2Foperator-design-collection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfinitensor%2Foperator-design-collection/lists"}