[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mirage-project--mirage":3,"tool-mirage-project--mirage":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":74,"owner_location":74,"owner_email":74,"owner_twitter":74,"owner_website":74,"owner_url":75,"languages":76,"stars":113,"forks":114,"last_commit_at":115,"license":116,"difficulty_score":117,"env_os":118,"env_gpu":119,"env_ram":120,"env_deps":121,"category_tags":128,"github_topics":74,"view_count":32,"oss_zip_url":74,"oss_zip_packed_at":74,"status":17,"created_at":129,"updated_at":130,"faqs":131,"releases":162},9731,"mirage-project\u002Fmirage","mirage","Mirage Persistent Kernel: Compiling LLMs into a MegaKernel","Mirage 是一款专为大语言模型（LLM）推理设计的编译器与运行时系统，其核心目标是将复杂的多 GPU 推理流程自动编译并融合为单个“巨型内核”（MegaKernel）。传统 LLM 推理往往涉及多次独立的内核启动和频繁的显存通信，导致延迟较高且资源利用率不足。Mirage 通过端到端的 GPU 融合技术，在一个内核启动中完成所有必要的计算与通信任务，从而将推理延迟显著降低 1.2 至 6.7 倍，同时大幅减少了开发者手动优化底层代码的工作量。\n\n该工具特别适合从事高性能计算、大模型部署的 AI 工程师及研究人员使用。用户只需编写少量 Python 代码定义输入输出，即可将 Hugging Face 上的主流模型快速转化为高效的可执行内核。Mirage 的独特亮点在于其“持久化内核”架构，支持自动调度多卡间的协作，并提供细粒度的性能分析功能，帮助开发者直观查看任务执行时间线。无论是希望加速现有服务响应的工程团队，还是探索低延迟推理新范式的科研人员，Mirage 都能提供强大且易用的技术支持，让大模型推理变得更加流畅高效。","\u003Cdiv align=\"center\">\n\n# Mirage Persistent Kernel: Compiling LLMs into a MegaKernel\n    \n| [Join Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmiragesystem\u002Fshared_invite\u002Fzt-37reobr1i-SKjxeYF3GXdPDoCvtVbjTQ) | [Roadmap](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F325) | [Blog Post](https:\u002F\u002Fzhihaojia.medium.com\u002Fcompiling-llms-into-a-megakernel-a-path-to-low-latency-inference-cf7840913c17) | \n\n\u003C\u002Fdiv>\n\n*Latest News* 🔥\n* [2025\u002F06] We released [Mirage Persistent Kernel (MPK)](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Ftree\u002Fmpk), a compiler and runtime that automatically transforms multi-GPU LLM inference into a high-performance megakernel.\n\n## About\n\n**Mirage Persistent Kernel (MPK)** is a compiler and runtime system that automatically transforms LLM inference into a single megakernel—a fused GPU kernel that performs all necessary computation and communication within a single kernel launch. This end-to-end GPU fusion approach reduces LLM inference latency by 1.2× to 6.7×, all while requiring minimal developer effort.\n\n## Quick Installation\n\nThe fastest way to try MPK is to install it directly from source:\n```bash\ngit clone --recursive --branch mpk https:\u002F\u002Fwww.github.com\u002Fmirage-project\u002Fmirage\ncd mirage\npip install -e . -v\nexport MIRAGE_HOME=$(pwd)\n```\n\n> 🔧[2025\u002F06\u002F19] We are working on pre-built binary wheels for MPK and will update the installation instructions once they are available.\n\n## Quickstart\nMirage allows you to compile LLMs from the Hugging Face model zoo into a megakernel using just a few dozen lines of Python—mainly to define the kernel’s inputs and outputs. See [this demo script](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fblob\u002Fmpk\u002Fdemo\u002Fqwen3\u002Fdemo.py) that compiles the Qwen3-8B model into a megakernel.\n\nWe start by running the demo with native Triton and FlashInfer kernels:\n```bash\npython demo\u002Fqwen3\u002Fdemo.py\n```\n\nTo compile and execute the megakernel using MPK:\n```bash\npython demo\u002Fqwen3\u002Fdemo.py --use-mirage\n```\n\nTo enable profiling (which visualizes the execution timeline of each task):\n```bash\npython demo\u002Fqwen3\u002Fdemo.py --use-mirage --profiling\n```\n\n## How MPK Works\nOnce you've imported the Mirage package, you can instantiate a persistent kernel using the following API:\n```python\nimport mirage as mi\nmpk = mi.PersistentKernel(\n    world_size=world_size,\n    mpi_rank=rank,\n    num_workers=96,\n    num_local_schedulers=48,\n    num_remote_schedulers=0,\n    meta_tensors=[step, tokens],\n    profiler_tensor=profiler_tensor,\n)\n```\n* `world_size` and `mpi_rank`: number of GPUs and current GPU rank.\n* `num_workers`, `num_local_schedulers`, `num_remote_schedulers`: the number of workers, local schedulers, and remote schedulers. They must match the number of physical SMs (`num_workers` + (`num_local_schedulers` + `num_remote_schedulers`) \u002F 4).\n* The megakernel currently requires two meta tensors: `step` is an array of integer tracking the current decoding step, and is incremented by MPK after each decoding iteration; `tokens` is a tensor of shape [`num_requests`, `seq_length`] storing prompts and MPK generated tokens.\n\nTo attach an existing `PyTorch.Tensor`:\n```python\nx = mpk.attach_input(torch_tensor=torch_tensor, name=\"torch_tensor_name\")\n```\n* `name` is used by MPK to refer to the tensor in the generated megakernel in CUDA.\n\nTo allocate a new tensor:\n```python\ny = mpk.new_tensor(\n    dims=(batch_size, hidden_size),\n    dtype=mi.bfloat16,\n    name=\"embed_out\",\n    io_category=\"cuda_tensor\",\n)\n```\n* `dims` and `dtype` specify the dimensions and data type of the tensor. \n* `name` is used by MPK to refer to this new tensor in the megakernel. \n* `io_category` indicates how the tensor is allocated and must be `cuda_tensor` or `nvshmem_tensor` (the latter is required for remote GPU access, e.g., during all-reduce).\n\n### Defining the Computation Graph\nYou can compose the LLM’s computation graph by chaining fused operations. For example: `rmsnorm_linear_layer` fuses an RMSNorm layer and a Linear layer in the megakernel.\n```python\nmpk.rmsnorm_linear_layer(\n    input=x,\n    weight_norm=w_norm,\n    weight_linear=w_qkv,\n    output=attn_in,\n    grid_dim=(96, 1, 1),\n    block_dim=(128, 1, 1),\n)\n```\n* `weight_norm` and `weight_linear` are the weight tensors for RMSNorm and Linear.\n* `input` and `output` are the input and output tensors of this fused layer. \n* `grid_dim` and `block_dim` specifies the number of thread blocks (i.e., number of tasks in the task graph) and number of thread within each thread block. To minimize latency, it is suggested that the total number of thread blocks is a multiplier of the number of workers to avoid outliers.\n\n### Compilation & Execution\nOnce the computation graph is defined, compile it with:\n```python\nmpk.compile()\n```\nThen, run the optimized megakernel as:\n```python\nmpk()\n```\n\n## Contribution\nWe welcome feedback, contributions, and collaborations from the community! Please join our [Slack channel](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmirage-ag11870\u002Fshared_invite\u002Fzt-37reobr1i-SKjxeYF3GXdPDoCvtVbjTQ).\n\nPlease let us know if you encounter any bugs or have any suggestions by [submitting an issue](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues).\n\n## Citation\nA paper describing Mirage's techniques is available [on arxiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.05751). Please cite Mirage as:\n\n``` bibtex\n@inproceedings {wu2024mirage,\ntitle={Mirage: A Multi-Level Superoptimizer for Tensor Programs}, \nauthor={Mengdi Wu and Xinhao Cheng and Shengyu Liu and Chunan Shi and Jianan Ji and Kit Ao and Praveen Velliengiri and Xupeng Miao and Oded Padon and Zhihao Jia},\nbooktitle = {19th USENIX Symposium on Operating Systems Design and Implementation (OSDI 25)},\nyear = {2025},\naddress = {Boston, MA},\npublisher = {USENIX Association},\nmonth = jul\n}\n\n@misc{cheng2025mpk,\n      title={Mirage Persistent Kernel: A Compiler and Runtime for Mega-Kernelizing Tensor Programs}, \n      author={Xinhao Cheng and Zhihao Zhang and Yu Zhou and Jianan Ji and Jinchen Jiang and Zepeng Zhao and Ziruo Xiao and Zihao Ye and Yingyi Huang and Ruihang Lai and Hongyi Jin and Bohan Hou and Mengdi Wu and Yixin Dong and Anthony Yip and Zihao Ye and Songting Wang and Wenqin Yang and Xupeng Miao and Tianqi Chen and Zhihao Jia},\n      year={2025},\n      eprint={2512.22219},\n      archivePrefix={arXiv},\n      primaryClass={cs.DC},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.22219}, \n}\n```\n\n## Publications\n\n- **Mirage Persistent Kernel: A Compiler and Runtime for Mega-Kernelizing Tensor Programs**. *Arxiv 2025*. [[arXiv]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.22219)\n- **Mirage: A Multi-Level Superoptimizer for Tensor Programs**. *OSDI 2025*. [[PDF]](https:\u002F\u002Fwww.usenix.org\u002Fsystem\u002Ffiles\u002Fosdi25-wu-mengdi.pdf)\n- **Identity Testing for Circuits with Exponentiation Gates**. *ITCS 2026* [[arXiv]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2506.04529)\n\n## License\nMirage uses Apache License 2.0.\n","\u003Cdiv align=\"center\">\n\n# 幻影持久内核：将大模型编译为巨内核\n    \n| [加入Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmiragesystem\u002Fshared_invite\u002Fzt-37reobr1i-SKjxeYF3GXdPDoCvtVbjTQ) | [路线图](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F325) | [博客文章](https:\u002F\u002Fzhihaojia.medium.com\u002Fcompiling-llms-into-a-megakernel-a-path-to-low-latency-inference-cf7840913c17) | \n\n\u003C\u002Fdiv>\n\n*最新消息* 🔥\n* [2025年6月] 我们发布了[幻影持久内核（MPK）](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Ftree\u002Fmpk)，这是一个编译器和运行时，可自动将多GPU上的大模型推理转换为高性能的巨内核。\n\n## 关于\n\n**幻影持久内核（MPK）** 是一种编译器和运行时系统，能够自动将大模型推理转换为一个单一的巨内核——即在一个内核启动中完成所有必要计算和通信的融合GPU内核。这种端到端的GPU融合方法可以将大模型推理延迟降低1.2倍至6.7倍，同时几乎不需要开发人员投入额外的工作量。\n\n## 快速安装\n\n尝试MPK的最快方式是从源代码直接安装：\n```bash\ngit clone --recursive --branch mpk https:\u002F\u002Fwww.github.com\u002Fmirage-project\u002Fmirage\ncd mirage\npip install -e . -v\nexport MIRAGE_HOME=$(pwd)\n```\n\n> 🔧[2025年6月19日] 我们正在制作MPK的预编译二进制轮子包，一旦可用，我们将更新安装说明。\n\n## 快速入门\n使用幻影，你只需几十行Python代码就能将Hugging Face模型库中的大模型编译成巨内核——主要用来定义内核的输入和输出。请参阅[这个示例脚本](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fblob\u002Fmpk\u002Fdemo\u002Fqwen3\u002Fdemo.py)，它将Qwen3-8B模型编译成了巨内核。\n\n我们首先使用原生的Triton和FlashInfer内核运行演示：\n```bash\npython demo\u002Fqwen3\u002Fdemo.py\n```\n\n要使用MPK编译并执行巨内核：\n```bash\npython demo\u002Fqwen3\u002Fdemo.py --use-mirage\n```\n\n若需启用性能分析（可视化每个任务的执行时间线）：\n```bash\npython demo\u002Fqwen3\u002Fdemo.py --use-mirage --profiling\n```\n\n## MPK的工作原理\n导入幻影包后，你可以使用以下API实例化一个持久内核：\n```python\nimport mirage as mi\nmpk = mi.PersistentKernel(\n    world_size=world_size,\n    mpi_rank=rank,\n    num_workers=96,\n    num_local_schedulers=48,\n    num_remote_schedulers=0,\n    meta_tensors=[step, tokens],\n    profiler_tensor=profiler_tensor,\n)\n```\n* `world_size`和`mpi_rank`：GPU数量及当前GPU排名。\n* `num_workers`、`num_local_schedulers`、`num_remote_schedulers`：工作线程数、本地调度器数和远程调度器数。它们必须与物理SM的数量匹配（`num_workers` + (`num_local_schedulers` + `num_remote_schedulers`) \u002F 4）。\n* 巨内核目前需要两个元张量：`step`是一个整数数组，用于跟踪当前解码步骤，并在每次解码迭代后由MPK递增；`tokens`是一个形状为[`num_requests`, `seq_length`]的张量，存储提示词及MPK生成的标记。\n\n要附加一个现有的`PyTorch.Tensor`：\n```python\nx = mpk.attach_input(torch_tensor=torch_tensor, name=\"torch_tensor_name\")\n```\n* `name`用于MPK在生成的巨内核中引用该张量。\n\n要分配一个新的张量：\n```python\ny = mpk.new_tensor(\n    dims=(batch_size, hidden_size),\n    dtype=mi.bfloat16,\n    name=\"embed_out\",\n    io_category=\"cuda_tensor\",\n)\n```\n* `dims`和`dtype`指定张量的维度和数据类型。\n* `name`用于MPK在巨内核中引用此新张量。\n* `io_category`指示张量的分配方式，必须是`cuda_tensor`或`nvshmem_tensor`（后者用于远程GPU访问，例如在all-reduce操作中）。\n\n### 定义计算图\n你可以通过串联融合操作来构建大模型的计算图。例如：`rmsnorm_linear_layer`会在巨内核中融合RMSNorm层和Linear层。\n```python\nmpk.rmsnorm_linear_layer(\n    input=x,\n    weight_norm=w_norm,\n    weight_linear=w_qkv,\n    output=attn_in,\n    grid_dim=(96, 1, 1),\n    block_dim=(128, 1, 1),\n)\n```\n* `weight_norm`和`weight_linear`分别是RMSNorm和Linear层的权重张量。\n* `input`和`output`是该融合层的输入和输出张量。\n* `grid_dim`和`block_dim`分别指定线程块的数量（即任务图中的任务数）以及每个线程块内的线程数。为最小化延迟，建议线程块总数为工作线程数的倍数，以避免出现异常情况。\n\n### 编译与执行\n计算图定义完成后，即可进行编译：\n```python\nmpk.compile()\n```\n然后，运行优化后的巨内核：\n```python\nmpk()\n```\n\n## 贡献\n我们欢迎社区的反馈、贡献和合作！请加入我们的[Slack频道](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmirage-ag11870\u002Fshared_invite\u002Fzt-37reobr1i-SKjxeYF3GXdPDoCvtVbjTQ)。\n\n如果您遇到任何bug或有任何建议，请通过[提交issue](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues)告知我们。\n\n## 引用\n一篇描述幻影技术的论文已在[arxiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.05751)上发布。请按以下格式引用幻影：\n\n``` bibtex\n@inproceedings {wu2024mirage,\ntitle={Mirage: A Multi-Level Superoptimizer for Tensor Programs}, \nauthor={Mengdi Wu and Xinhao Cheng and Shengyu Liu and Chunan Shi and Jianan Ji and Kit Ao and Praveen Velliengiri and Xupeng Miao and Oded Padon and Zhihao Jia},\nbooktitle = {第19届USENIX操作系统设计与实现研讨会（OSDI 25）},\nyear = {2025},\naddress = {波士顿, MA},\npublisher = {USENIX协会},\nmonth = jul\n}\n\n@misc{cheng2025mpk,\n      title={Mirage Persistent Kernel: A Compiler and Runtime for Mega-Kernelizing Tensor Programs}, \n      author={Xinhao Cheng and Zhihao Zhang and Yu Zhou and Jianan Ji and Jinchen Jiang and Zepeng Zhao and Ziruo Xiao and Zihao Ye and Yingyi Huang and Ruihang Lai and Hongyi Jin and Bohan Hou and Mengdi Wu and Yixin Dong and Anthony Yip and Zihao Ye and Songting Wang and Wenqin Yang and Xupeng Miao and Tianqi Chen and Zhihao Jia},\n      year={2025},\n      eprint={2512.22219},\n      archivePrefix={arXiv},\n      primaryClass={cs.DC},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.22219}, \n}\n```\n\n## 出版物\n\n- **幻影持久内核：用于巨内核化张量程序的编译器和运行时**。 *Arxiv 2025*。 [[arXiv]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2512.22219)\n- **幻影：面向张量程序的多级超优化器**。 *OSDI 2025*。 [[PDF]](https:\u002F\u002Fwww.usenix.org\u002Fsystem\u002Ffiles\u002Fosdi25-wu-mengdi.pdf)\n- **含指数门电路的等价性测试**。 *ITCS 2026* [[arXiv]](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2506.04529)\n\n## 许可证\n幻影采用Apache License 2.0。","# Mirage Persistent Kernel (MPK) 快速上手指南\n\nMirage Persistent Kernel (MPK) 是一个编译器与运行时系统，能够自动将大语言模型（LLM）推理转换为单个“超级内核”（MegaKernel）。该技术通过端到端的 GPU 融合，显著降低推理延迟（提升 1.2 倍至 6.7 倍性能），同时仅需极少的开发工作量。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu 20.04 或更高版本)\n*   **GPU**: 支持 CUDA 的 NVIDIA GPU (多卡环境需配置好 NCCL\u002FMPI)\n*   **Python**: Python 3.8+\n*   **前置依赖**:\n    *   PyTorch (与您的 CUDA 版本匹配)\n    *   Git (用于克隆仓库)\n    *   MPI 环境 (如 OpenMPI 或 MPICH，用于多卡通信)\n    *   Triton 和 FlashInfer (Demo 脚本依赖)\n\n> **注意**: 目前 MPK 主要支持从源码安装，预编译的二进制轮子（wheels）正在开发中。\n\n## 安装步骤\n\n最快的方式是直接从源代码安装 MPK。请执行以下命令：\n\n```bash\n# 1. 克隆仓库（指定 mpk 分支并递归子模块）\ngit clone --recursive --branch mpk https:\u002F\u002Fwww.github.com\u002Fmirage-project\u002Fmirage\n\n# 2. 进入目录\ncd mirage\n\n# 3. 以可编辑模式安装\npip install -e . -v\n\n# 4. 设置环境变量\nexport MIRAGE_HOME=$(pwd)\n```\n\n> **国内加速提示**: 如果克隆 GitHub 仓库速度较慢，建议使用国内镜像源（如 Gitee 镜像，若有）或配置 Git 代理。安装 Python 依赖时，可添加 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple` 使用清华源加速。\n\n## 基本使用\n\nMPK 允许您通过几十行 Python 代码将 Hugging Face 模型编译为超级内核。以下以 Qwen3-8B 模型为例演示基本流程。\n\n### 1. 运行原生基准测试\n首先，运行 Demo 脚本以体验基于原生 Triton 和 FlashInfer 内核的执行效果：\n\n```bash\npython demo\u002Fqwen3\u002Fdemo.py\n```\n\n### 2. 编译并执行超级内核\n添加 `--use-mirage` 参数，MPK 将自动把计算图编译为优化的 MegaKernel 并执行：\n\n```bash\npython demo\u002Fqwen3\u002Fdemo.py --use-mirage\n```\n\n### 3. 开启性能分析（可选）\n若需可视化每个任务的执行时间线以进行性能调优，可添加 `--profiling` 参数：\n\n```bash\npython demo\u002Fqwen3\u002Fdemo.py --use-mirage --profiling\n```\n\n### 核心代码逻辑简述\n在自定义场景中，您只需实例化 `PersistentKernel`，定义输入\u002F输出张量，构建计算图（如融合 RMSNorm 和 Linear 层），最后编译并运行：\n\n```python\nimport mirage as mi\nimport torch\n\n# 1. 实例化持久化内核\nmpk = mi.PersistentKernel(\n    world_size=world_size,       # GPU 数量\n    mpi_rank=rank,               # 当前 GPU rank\n    num_workers=96,              # Worker 数量\n    num_local_schedulers=48,     # 本地调度器数量\n    num_remote_schedulers=0,     # 远程调度器数量\n    meta_tensors=[step, tokens], # 元张量：步数和 Token 序列\n)\n\n# 2. 挂载或创建张量\nx = mpk.attach_input(torch_tensor=torch_tensor, name=\"input_tensor\")\ny = mpk.new_tensor(\n    dims=(batch_size, hidden_size),\n    dtype=mi.bfloat16,\n    name=\"embed_out\",\n    io_category=\"cuda_tensor\",\n)\n\n# 3. 构建融合算子 (例如：RMSNorm + Linear)\nmpk.rmsnorm_linear_layer(\n    input=x,\n    weight_norm=w_norm,\n    weight_linear=w_qkv,\n    output=attn_in,\n    grid_dim=(96, 1, 1),\n    block_dim=(128, 1, 1),\n)\n\n# 4. 编译并执行\nmpk.compile()\nmpk()\n```\n\n更多详细示例请参考官方仓库中的 [demo\u002Fqwen3\u002Fdemo.py](https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fblob\u002Fmpk\u002Fdemo\u002Fqwen3\u002Fdemo.py)。","某高流量 AI 客服平台的技术团队正致力于将 Qwen3-8B 大模型部署到多 GPU 集群，以支撑每秒数千次的实时对话请求，同时严格限制响应延迟。\n\n### 没有 mirage 时\n- **内核启动开销巨大**：传统推理框架在每次解码步骤需启动数十个独立的 CUDA 内核，频繁的 CPU-GPU 同步导致大量时间浪费在调度而非计算上。\n- **通信与计算割裂**：多卡间的注意力机制（All-Reduce）作为独立阶段执行，无法与矩阵乘法等计算任务重叠，造成 GPU 算力闲置。\n- **延迟抖动明显**：由于内核启动和内存拷贝的不确定性，高并发下首字生成时间（TTFT）波动剧烈，难以满足 SLA 承诺。\n- **优化门槛极高**：手动融合算子或编写自定义 MegaKernel 需要深厚的 CUDA 专家经验，普通算法工程师难以介入底层性能调优。\n\n### 使用 mirage 后\n- **端到端单核执行**：mirage 自动将整个 Transformer 层编译为单个持久化 MegaKernel，消除中间内核启动开销，将解码延迟降低 1.2 至 6.7 倍。\n- **计算通信深度融合**：在生成的单一内核内部，mirage 自动调度跨卡通信与本地计算并行执行，最大化利用显存带宽和 SM 算力。\n- **延迟稳定可预测**：得益于确定性的执行流，高负载下的响应时间方差显著缩小，确保用户对话体验流畅一致。\n- **开发效率飞跃**：团队仅需几十行 Python 代码定义输入输出，即可将 Hugging Face 模型直接编译为高性能内核，无需手写任何 CUDA 代码。\n\nmirage 通过编译器技术将复杂的多卡推理流程“压扁”为单一高效内核，让开发者以极简代码换取极致的低延迟推理性能。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmirage-project_mirage_da7184f0.png","mirage-project","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmirage-project_57e15590.png",null,"https:\u002F\u002Fgithub.com\u002Fmirage-project",[77,81,85,89,93,97,101,105,109],{"name":78,"color":79,"percentage":80},"Cuda","#3A4E3A",41.9,{"name":82,"color":83,"percentage":84},"C++","#f34b7d",36.5,{"name":86,"color":87,"percentage":88},"Python","#3572A5",18.8,{"name":90,"color":91,"percentage":92},"Cython","#fedf5b",1.4,{"name":94,"color":95,"percentage":96},"Rust","#dea584",0.5,{"name":98,"color":99,"percentage":100},"CMake","#DA3434",0.4,{"name":102,"color":103,"percentage":104},"Shell","#89e051",0.3,{"name":106,"color":107,"percentage":108},"C","#555555",0.2,{"name":110,"color":111,"percentage":112},"Dockerfile","#384d54",0.1,2204,196,"2026-04-19T06:53:38","Apache-2.0",4,"Linux","必需 NVIDIA GPU（多卡支持），需匹配物理 SM 数量配置 worker\u002Fscheduler，显存大小取决于模型规模（未明确具体下限），依赖 CUDA 环境（版本未说明，通常需较新版本以支持 Triton\u002FFlashInfer）","未说明",{"notes":122,"python":120,"dependencies":123},"该工具专注于将 LLM 推理编译为单个持久化 MegaKernel，显著降低延迟。安装需从源码构建（目前暂无预编译包）。运行多卡推理时需配置 MPI 环境（world_size, mpi_rank）。核心参数（num_workers, num_schedulers）必须严格匹配目标 GPU 的物理流多处理器（SM）数量。示例代码展示了如何融合算子（如 rmsnorm_linear_layer）并定义计算图。",[124,125,126,127],"torch","triton","flashinfer","mpi4py (隐含，因使用 mpi_rank)",[35,14],"2026-03-27T02:49:30.150509","2026-04-20T04:06:06.455210",[132,137,142,147,152,157],{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},43696,"编译 megakernel 时遇到 C++20 依赖或 lambda 函数相关的错误怎么办？","项目已决定使用 struct 实现来替换 lambda 函数，从而移除了对 C++20 的依赖。如果遇到此类编译错误，请确保代码已更新到最新版本。此外，如果在使用 `g++=8.5.0` 时添加 `-DJSON_HAS_RANGES=0` 标志失败，建议将 g++ 升级到 11.2.0 或更高版本以解决兼容性问题。","https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F418",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},43697,"运行时出现 'ImportError: libabstract_subexpr.so: cannot open shared object file' 错误如何解决？","该错误通常是由于共享库路径未正确配置导致的。虽然本地主机可能在未设置环境变量时也能运行，但在某些环境（如 CI）中，需要确保 `libabstract_subexpr.so` 的路径被正确链接到 Mirage 的 Python 库。检查 CMakeLists.txt 中的配置，并确保相关库文件存在于系统库路径中或通过 `LD_LIBRARY_PATH` 显式指定。","https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F284",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},43698,"找不到 libmpi.so 或遇到 nvshmem 初始化错误怎么办？","如果遇到 `libmpi.so` 找不到的问题，可能是配置路径有误（如误用了 NVSHMEM_LIB_PATH）。请尝试切换到 `multi_gpu_fix` 分支并使用 `pip install -e .` 重新构建 Mirage。此外，如果在多卡运行（如 `mpirun -np 2`）时报错 \"identifier 'nvshmem_malloc' is undefined\"，请确保在生成的 `.cu` 文件中调用了 `nvshmem_init()` 进行初始化。","https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F372",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},43699,"实现 Online Softmax 时在 FP16 精度下遇到数值不稳定（下溢或溢出）如何处理？","在 FP16 精度下计算 e 的负指数可能导致下溢，而计算 $e^{m_j}$ 可能导致溢出。为确保数值稳定性，建议在这些关键计算步骤中使用 FP32 精度。具体的改进方案包括：1. 在累加算子内部直接维护 $m_{j-1}$ 而不是 $e^{m_{j-1}}$，在需要时再进行减法和指数运算；2. 修改最大值计算算子，使其同时输出 $m_j$ 和差值 $m_{j-1}-m_j$，从而在累加过程中仅维护较小范围的指数值。","https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F210",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},43700,"运行教程代码时提示 'KNGraph' 对象没有 'mark_output' 属性或模块没有 'superoptimize' 属性？","这是由于 API 变更导致的。在最新版本中，`superoptimize` 已变为 `KNGraph` 对象的一个方法，而不是 `mirage` 模块的直接属性。请更新代码调用方式，使用 `graph.superoptimize()` 而不是 `mirage.superoptimize()`。同时检查是否使用了已废弃的 `mark_output` 方法，参考最新教程调整代码。","https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F106",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},43701,"运行 demo 代码几小时后遇到段错误（Segmentation fault）可能是什么原因？","长时间运行后出现段错误可能与内存管理或特定的 CUDA 版本兼容性有关。用户报告在 CUDA 12.2 环境下运行 `demo_group_query_attention_spec_decode.py` 数小时后崩溃。建议检查是否在搜索配置中探索了过多的组合导致内存耗尽，或者尝试在不同的 CUDA 版本（如 11.8）下测试以排除驱动或运行时库的兼容性问题。","https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fissues\u002F30",[163,168,173,178,183],{"id":164,"version":165,"summary_zh":166,"released_at":167},348468,"v0.2.4","## 变更内容\n\n### 指纹\n* [指纹] 由 @jiazhihao 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F171 中统一了指纹计算方法。\n\n### Grace Hopper 支持\n* Grace Hopper：允许用户将任务分配到不同的 warp 组，由 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F165 中实现。\n* 在 generate_cuda_program() 中为 num_warp_groups 和 pipeline_stages 设置默认值，由 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F179 中完成。\n* 修复 MMA Threadlayout 问题，由 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F197 中解决。\n* Hopper：添加 bf16 支持并修复了一些边界情况，由 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F198 中完成。\n\n### QWen2.5 演示\n* DeepSeek \u002F Qwen 演示，由 @jiazhihao 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F192 中实现。\n* [演示] DeepSeek 演示第二部分，由 @jiazhihao 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F212 中完成。\n* [演示] DeepSeek 演示第三部分，由 @jiazhihao 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F215 中完成。\n\n### 新算子\n* 添加了 GeLU 算子，由 @AMKCode 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F180 中实现。\n\n### Triton 后端\n* 修复 Triton 警告并添加 Triton 内核，由 @NorthmanPKU 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F181 中完成。\n* 为 RoPE 实现的 Triton 内核，由 @NorthmanPKU 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F218 中实现。\n* [Triton] 将 Triton 运行时移至 triton_transpiler\u002F 目录下，而非 transpiler\u002F 目录下，由 @NorthmanPKU 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F227 中完成。\n\n### 其他\n* 修复由先前 PR 引起的构建问题，由 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F169 中完成。\n* CI 测试，由 @yzhou442 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F203 中实现。\n* 性能分析器，由 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F199 中实现。\n\n## 新贡献者\n* @olivia111 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F186 中完成了首次贡献。\n* @Theorem411 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F208 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fcompare\u002Fv0.2.3...v0.2.4","2025-03-29T02:05:19",{"id":169,"version":170,"summary_zh":171,"released_at":172},348469,"v0.2.3","## 变更内容\n\n### H100 支持\n* 增加对 Hopper GPU 的支持；Mirage 在 Hopper 架构上运行时，可自动生成启用 warp 专用化和异步 TMA 的 H100 内核。\n\n### Mugraph 可视化工具\n* 添加了可视化工具的文档\n* 修复了可视化工具中 rms_norm JSON 解析错误\n\n### 构建 Mirage\n* 添加用于构建的 Dockerfile 和相关脚本\n* 更新了从预编译 wheel 安装的 README 文件\n\n### 搜索算法与实现\n* 使用 OpenMP 实现搜索的动态调度\n\n### Mugraph 验证\n* 对 MuGraph 之间的等价性进行形式化验证\n\n### 转译器\n* 允许转译器对无法转译的 muGraph 返回错误\n* 增加对 NKI 转译器的支持\n* 增加对 Triton 转译器的支持\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fcompare\u002Fv0.2.2...v0.2.3","2025-01-16T03:23:31",{"id":174,"version":175,"summary_zh":176,"released_at":177},348470,"v0.2.2","## 变更内容\n* [搜索] 支持在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F108 中指定输入和输出的步幅。\n* [文档] 更新文档以说明如何构建 C++ 库，详见 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F109。\n* [转译器] 通过并行转译，将超优化速度提升 10 倍，由 @GuangyaoZhang 实现，详情见 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F119。\n* [转译器] 添加机制以跳过无效的转译内核，详见 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F117。\n* [可视化工具] 添加可视化 mugraph 的功能，由 @NorthmanPKU 实现，详情见 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F113。\n* [转译器] 在确定 stensor 布局时，将共享内存使用情况纳入成本考量，详见 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F130。\n\n## 新贡献者\n* @preejackie 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F109 中完成了首次贡献。\n* @GuangyaoZhang 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F119 中完成了首次贡献。\n* @NorthmanPKU 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F113 中完成了首次贡献。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fcompare\u002Fv0.2.1...v0.2.2","2024-10-30T23:03:00",{"id":179,"version":180,"summary_zh":181,"released_at":182},348471,"v0.2.1","## 变更内容\n* [文档] 由 @jiazhihao 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F90 中添加了文档文件\n* 由 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F100 中修复了 SiLU\n* [布局] 添加了初始支持，允许用户为内核图定义自定义的输入\u002F输出步幅。由 @jiazhihao 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F98 中实现\n* 由 @wmdi 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F105 中设置了输出的默认步幅\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fcompare\u002Fv0.2.0...v0.2.1","2024-10-14T13:43:01",{"id":184,"version":185,"summary_zh":186,"released_at":187},348472,"v0.2.0","主要版本发布，对 Python 接口、搜索实现、转译器和文档进行了多项改进。\n\n## 变更内容\n* [Triton CodeGen] 修复从 mugraph 生成 Triton 程序时的一个问题\n* [LoRA 示例] 添加 LoRA 示例的检查点文件\n* [DeviceMemoryManager] 使用偏移量而非指针来定位设备内存中的张量和指纹\n* [图生成器] 并行化图生成算法\n* 提升并行搜索性能\n* [累加器] 在线程块图中将累加器与输出保存器解耦\n* 更新打包的设置流程\n* 在内核和线程块级别添加更多 element_unary 和 element_binary 运算符\n* [CUDA 转译器] 支持 JIT 转译和编译\n* [搜索] 基于范围的剪枝\n* 修复 @xinhaoc 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F63 中提出的一些现有问题\n* [转译器] 当输入\u002F输出 stensor 的维度超过 2 时，支持使用 cute 实现线程块矩阵乘法\n* 包含用于 JIT 编译的头文件。不再需要 MIRAGE_ROOT。\n* [Python] 更新 Python 接口以支持搜索\n* [搜索] 调整搜索的扩展阶段\n* [搜索] 改善搜索统计信息的显示\n* 将 default max_num_threadblock_graphs 设置为 1\n\n## 新贡献者\n* @wmdi 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F3 中做出了首次贡献\n* @geohotstan 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F14 中做出了首次贡献\n* @jiakunw 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F20 中做出了首次贡献\n* @interestingLSY 在 https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fpull\u002F36 中做出了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fmirage-project\u002Fmirage\u002Fcommits\u002Fv0.2.0","2024-10-01T18:38:30"]