[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-meta-pytorch--monarch":3,"tool-meta-pytorch--monarch":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":121,"forks":122,"last_commit_at":123,"license":124,"difficulty_score":125,"env_os":126,"env_gpu":127,"env_ram":128,"env_deps":129,"category_tags":143,"github_topics":79,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":144,"updated_at":145,"faqs":146,"releases":172},3147,"meta-pytorch\u002Fmonarch","monarch","PyTorch Single Controller","Monarch 是一个专为 PyTorch 打造的分布式编程框架，旨在简化多 GPU 或多节点环境下的模型训练与开发流程。它通过基于“演员模型”（Actor Model）的可扩展消息机制，让开发者能够以直观的 Python 代码轻松管理分散在不同进程中的计算任务，有效解决了传统分布式训练中进程通信复杂、容错处理困难以及内存传输效率低等痛点。\n\n该工具特别适合从事大规模深度学习模型研发的研究人员和工程师使用。Monarch 的核心亮点在于其独特的技术架构：首先，它利用监督树结构实现细粒度的故障恢复，当某个节点出错时能自动向上传播并处理，提升了系统的稳定性；其次，支持基于 RDMA 的点对点内存传输，能够高效地在 GPU 或 CPU 内存间直接交换数据，大幅降低通信延迟；此外，它还原生支持跨进程的分布式张量操作，允许将大张量分片存储在不同进程中协同计算。\n\n需要注意的是，Monarch 目前仍处于早期实验阶段，部分功能及接口可能会随版本更新而调整，非常适合愿意探索前沿技术并参与社区共建的进阶开发者尝试。","# Monarch 🦋\n\n**Monarch** is a distributed programming framework for PyTorch based on scalable\nactor messaging. It provides:\n\n1. Remote actors with scalable messaging: Actors are grouped into collections\n   called meshes and messages can be broadcast to all members.\n2. Fault tolerance through supervision trees: Actors and processes form a tree\n   and failures propagate up the tree, providing good default error behavior and\n   enabling fine-grained fault recovery.\n3. Point-to-point RDMA transfers: cheap registration of any GPU or CPU memory in\n   a process, with the one-sided transfers based on libibverbs\n4. Distributed tensors: actors can work with tensor objects sharded across\n   processes\n\nMonarch code imperatively describes how to create processes and actors using a\nsimple python API:\n\n```python\nfrom monarch.actor import Actor, endpoint, this_host\n\n# spawn 8 trainer processes one for each gpu\ntraining_procs = this_host().spawn_procs({\"gpus\": 8})\n\n\n# define the actor to run on each process\nclass Trainer(Actor):\n    @endpoint\n    def train(self, step: int): ...\n\n\n# create the trainers\ntrainers = training_procs.spawn(\"trainers\", Trainer)\n\n# tell all the trainers to take a step\nfut = trainers.train.call(step=0)\n\n# wait for all trainers to complete\nfut.get()\n```\n\nThe\n[introduction to monarch concepts](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fgetting_started.html)\nprovides an introduction to using these features.\n\n> ⚠️ **Early Development Warning** Monarch is currently in an experimental\n> stage. You should expect bugs, incomplete features, and APIs that may change\n> in future versions. The project welcomes bugfixes, but to make sure things are\n> well coordinated you should discuss any significant change before starting the\n> work. It's recommended that you signal your intention to contribute in the\n> issue tracker, either by filing a new issue or by claiming an existing one.\n\n## 📖 Documentation\n\nView Monarch's hosted documentation\n[at this link](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002F).\n\n## Installation\n\n### Installing from Pre-built Wheels\n\nMonarch provides pre-built wheels that work regardless of what version of\nPyTorch you have installed:\n\n#### Stable\n\n```sh\npip install torchmonarch\n```\n\n#### Nightly\n\n```sh\npip install --pre torchmonarch\n```\n\nOr install a specific nightly version:\n\n```sh\npip install torchmonarch==0.3.0.dev20260106\n```\n\n### Build and Install from Source\n\n**Note**: Building from source requires additional system dependencies. These\nare needed at **build time** only, not at runtime.\n\nMonarch uses `uv` for fast, reliable Python package management. If you don't\nhave `uv` installed:\n\n```sh\n# Install uv\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n# Or on macOS\nbrew install uv\n```\n\n**Configuring PyTorch Index**: By default, Monarch builds with PyTorch from the\n`pytorch-cu128` index (CUDA 12.8). To use a different CUDA version:\n\n- Edit `[tool.uv.sources]` in `pyproject.toml` to point to a different index\n  (e.g., `pytorch-cu126`, `pytorch-cu130`, or `pytorch-cpu`)\n- Or use `--extra-index-url` when running uv:\n  ```sh\n  uv sync --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu126\n  ```\n\n#### Understanding Tensor Engine\n\nMonarch includes\n[distributed tensor](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fgetting_started.html#distributed-tensors)\nand\n[RDMA](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fgetting_started.html#point-to-point-rdma)\nAPIs. Since these are hardware-specific, it can be useful to develop with a\nlighter-weight version of Monarch (actors only) by setting\n`USE_TENSOR_ENGINE=0`.\n\nBy default, Monarch builds with tensor_engine enabled. To build without it:\n\n```sh\nUSE_TENSOR_ENGINE=0 uv sync\n```\n\n**Note**: Building without tensor_engine means you won't have access to the\ndistributed tensor or RDMA APIs. Torch is required to use tensor_engine, and the latest stable torch is ABI compatible with the latest versioned torchmonarch\n\n#### Build Dependencies by Platform\n\n##### On Fedora distributions\n\n```sh\n# Install nightly rust toolchain\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nrustup toolchain install nightly\nrustup default nightly\n\n# Install non-python dependencies\nsudo dnf install -y cmake ninja-build protobuf-compiler libunwind\n\n# Install the correct cuda and cuda-toolkit versions for your machine\nsudo dnf install cuda-toolkit-12-8 cuda-12-8\n\n# Install clang-devel, nccl-devel, and libstdc++-static\nsudo dnf install clang-devel libnccl-devel libstdc++-static\n\n# Install RDMA libraries (needed for tensor_engine builds)\nsudo dnf install -y libibverbs rdma-core libmlx5 libibverbs-devel rdma-core-devel\n\n# Clone and sync dependencies\ngit clone https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch.git\ncd monarch\n\n# Install in development mode with all dependencies\nuv sync\n\n# Or install without tensor_engine\nUSE_TENSOR_ENGINE=0 uv sync\n\n# Verify installation\nuv run python -c \"from monarch import actor; print('Monarch installed successfully')\"\n\n# Rebuild (e.g., after changing Rust code)\nUSE_TENSOR_ENGINE=0 uv pip install -e .\n```\n\n##### On Ubuntu distributions\n\n```sh\n# Install nightly rust toolchain\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nsource $HOME\u002F.cargo\u002Fenv\nrustup toolchain install nightly\nrustup default nightly\n\n# Install Ubuntu-specific system dependencies\nsudo apt install -y cmake ninja-build protobuf-compiler libunwind-dev clang\n\n# Set clang as the default C\u002FC++ compiler\nexport CC=clang\nexport CXX=clang++\n\n# Install the correct cuda and cuda-toolkit versions for your machine\nsudo apt install -y cuda-toolkit-12-8 cuda-12-8\n\n# Install RDMA libraries (needed for tensor_engine builds)\nsudo apt install -y rdma-core libibverbs1 libmlx5-1 libibverbs-dev\n\n# Clone and sync dependencies\ngit clone https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch.git\ncd monarch\n\n# Install in development mode with all dependencies\nuv sync\n\n# Or install without tensor_engine (CPU-only)\nUSE_TENSOR_ENGINE=0 uv sync\n\n# Verify installation\nuv run python -c \"from monarch import actor; print('Monarch installed successfully')\"\n\n# Rebuild (e.g., after changing Rust code)\nUSE_TENSOR_ENGINE=0 uv pip install -e .\n```\n\n##### On non-CUDA machines\n\nYou can also build Monarch on non-CUDA machines (e.g., macOS laptops) for\nCPU-only usage.\n\nNote that this does not support tensor_engine, which requires CUDA and RDMA\nlibraries.\n\n```sh\n# Install nightly rust toolchain\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nrustup toolchain install nightly\nrustup default nightly\n\n# Clone and sync dependencies (without tensor_engine)\ngit clone https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch.git\ncd monarch\n\n# Install without tensor engine (CPU-only)\nUSE_TENSOR_ENGINE=0 uv sync\n\n# Verify installation\nuv run python -c \"from monarch import actor; print('Monarch installed successfully')\"\n```\n\n#### Alternative: Using pip\n\nIf you prefer to use pip instead of uv:\n\n```sh\n# After installing system dependencies (see above)\n\n# Install build dependencies\n\n# Build and install Monarch\npip install .\n\n# Or for development\npip install -e .\n\n# Without tensor_engine\nUSE_TENSOR_ENGINE=0 pip install -e .\n```\n\n## Running examples\n\nCheck out the `examples\u002F` directory for demonstrations of how to use Monarch's\nAPIs.\n\nWe'll be adding more examples as we stabilize and polish functionality!\n\n## Running tests\n\nWe have both Rust and Python unit tests. Rust tests are run with `cargo-nextest`\nand Python tests are run with `pytest`.\n\n### Rust tests\n\n**Important:** Monarch's Rust code uses PyO3 to interface with Python, which\nmeans the Rust binaries need to link against Python libraries. Before running\nRust tests, you need to have a Python environment activated (conda, venv, or\nuv):\n\n```sh\n# If using uv (recommended)\nuv sync  # This creates and activates a virtual environment\nuv run cargo nextest run  # Run tests within the uv environment\n\n# Or if using conda\nconda activate monarchenv\ncargo nextest run\n\n# Or if using venv\nsource .venv\u002Fbin\u002Factivate\ncargo nextest run\n```\n\nWithout an active Python environment, you'll get Python linking errors like:\n\n```\nerror: could not find native static library `python3.12`, perhaps an -L flag is missing?\n```\n\n**Installing cargo-nextest:**\n\n```sh\n# We use cargo-nextest to run our tests, as they provide strong process isolation\n# between every test.\n# Here we install it from source, but you can instead use a pre-built binary described\n# here: https:\u002F\u002Fnexte.st\u002Fdocs\u002Finstallation\u002Fpre-built-binaries\u002F\ncargo install cargo-nextest --locked\n```\n\ncargo-nextest supports all of the filtering flags of \"cargo test\".\n\n### Python tests\n\n```sh\n# Install test dependencies (if not already installed via uv sync)\nuv sync --extra test\n\n# Run unit tests with uv\nuv run pytest python\u002Ftests\u002F -v -m \"not oss_skip\"\n\n# Or if using pip\npip install -e '.[test]'\npytest python\u002Ftests\u002F -v -m \"not oss_skip\"\n```\n\n## Disabling flaky CI tests\n\nIf a test is consistently failing in OSS CI and needs to be temporarily\ndisabled without a code change, open a GitHub issue on this repo with a title\nof the form:\n\n```\nDISABLED \u003Ctest-name>\n```\n\nAt the start of each CI run, `scripts\u002Ffetch_disabled_tests.py` fetches all\nopen issues whose titles start with `DISABLED ` and skips the named tests.\nClosing the issue re-enables the test on the next run.\n\n**Naming format:**\n\n- **Rust (cargo nextest):** use the test name exactly as it appears in nextest\n  output: `\u003Cbinary> \u003Cmodule::path::test_fn>`, e.g.\n  `DISABLED hyperactor proc::tests::test_child_lifecycle`\n- **Python (pytest):** use the test function name, e.g.\n  `DISABLED test_my_function`\n\n### Overriding skips locally\n\nTo run a test that is currently disabled via a GitHub issue, you can override\nthe fetched skip lists by creating the files before running\n`scripts\u002Ffetch_disabled_tests.py`. The script will not overwrite files that\nalready exist:\n\n- **`disabled_tests.txt`** — controls which Python tests are skipped. Create\n  this file with only the tests you want to skip (or leave it empty to skip\n  none).\n- **`.config\u002Fnextest-filter.txt`** — controls which Rust tests are skipped.\n  Write a nextest filter expression here (e.g. `all()` to run all tests, or\n  `not (test(some_test))` to skip only specific ones).\n\nFor example, to run all tests locally regardless of open issues:\n\n```sh\necho -n \"\" > disabled_tests.txt\necho \"all()\" > .config\u002Fnextest-filter.txt\nuv run python scripts\u002Ffetch_disabled_tests.py   # will skip both writes\nuv run pytest python\u002Ftests\u002F -v -m \"not oss_skip\"\n```\n\n## License\n\nMonarch is BSD-3 licensed, as found in the [LICENSE](LICENSE) file.\n","# 君主 🦋\n\n**君主** 是一个基于可扩展演员消息传递的 PyTorch 分布式编程框架。它提供了：\n\n1. 具有可扩展消息传递的远程演员：演员被分组到称为网格的集合中，消息可以广播给所有成员。\n2. 通过监督树实现容错：演员和进程形成一棵树，失败会沿着树向上传播，从而提供良好的默认错误处理行为，并支持细粒度的故障恢复。\n3. 点对点 RDMA 传输：可以在进程中低成本注册任何 GPU 或 CPU 内存，并使用基于 libibverbs 的单边传输。\n4. 分布式张量：演员可以操作跨进程划分的张量对象。\n\n君主代码通过简单的 Python API 指令式地描述如何创建进程和演员：\n\n```python\nfrom monarch.actor import Actor, endpoint, this_host\n\n# 启动 8 个训练进程，每个 GPU 一个\ntraining_procs = this_host().spawn_procs({\"gpus\": 8})\n\n\n# 定义在每个进程中运行的演员\nclass Trainer(Actor):\n    @endpoint\n    def train(self, step: int): ...\n\n\n# 创建训练器\ntrainers = training_procs.spawn(\"trainers\", Trainer)\n\n# 告诉所有训练器执行一步\nfut = trainers.train.call(step=0)\n\n# 等待所有训练器完成\nfut.get()\n```\n\n[君主概念介绍](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fgetting_started.html)\n提供了这些功能的使用入门。\n\n> ⚠️ **早期开发警告** 君主目前处于实验阶段。您可能会遇到一些 bug、功能不完整以及未来版本中可能发生变化的 API。项目欢迎修复 bug，但为了确保协调一致，在开始工作之前，建议先讨论任何重大更改。推荐您在问题跟踪器中表明您的贡献意向，可以通过提交新问题或认领现有问题来实现。\n\n## 📖 文档\n\n请访问 [此链接](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002F) 查看君主的托管文档。\n\n## 安装\n\n### 从预构建的 wheel 包安装\n\n君主提供了与您安装的 PyTorch 版本无关的预构建 wheel 包：\n\n#### 稳定版\n\n```sh\npip install torchmonarch\n```\n\n#### 夜间版\n\n```sh\npip install --pre torchmonarch\n```\n\n或者安装特定的夜间版本：\n\n```sh\npip install torchmonarch==0.3.0.dev20260106\n```\n\n### 从源码构建并安装\n\n**注意**：从源码构建需要额外的系统依赖。这些依赖仅在 **构建时** 需要，运行时不需要。\n\n君主使用 `uv` 进行快速可靠的 Python 包管理。如果您尚未安装 `uv`：\n\n```sh\n# 安装 uv\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n# 或者在 macOS 上\nbrew install uv\n```\n\n**配置 PyTorch 索引**：默认情况下，君主使用 `pytorch-cu128` 索引（CUDA 12.8）构建。如需使用其他 CUDA 版本：\n\n- 编辑 `pyproject.toml` 中的 `[tool.uv.sources]`，指向不同的索引（例如 `pytorch-cu126`、`pytorch-cu130` 或 `pytorch-cpu`）\n- 或者在运行 `uv` 时使用 `--extra-index-url`：\n  ```sh\n  uv sync --extra-index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu126\n  ```\n\n#### 理解张量引擎\n\n君主包含\n[分布式张量](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fgetting_started.html#distributed-tensors)\n和\n[RDMA](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fgetting_started.html#point-to-point-rdma)\nAPI。由于这些功能与硬件相关，您可以选择以更轻量级的版本（仅含演员）进行开发，方法是设置\n`USE_TENSOR_ENGINE=0`。\n\n默认情况下，君主启用张量引擎进行构建。若要禁用它：\n\n```sh\nUSE_TENSOR_ENGINE=0 uv sync\n```\n\n**注意**：禁用张量引擎后，您将无法使用分布式张量或 RDMA API。使用张量引擎需要 Torch，而最新稳定版的 Torch 与最新版本的 Torchmonarch 具有 ABI 兼容性。\n\n#### 按平台划分的构建依赖\n\n##### 在 Fedora 发行版上\n\n```sh\n# 安装夜间版 Rust 工具链\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nrustup toolchain install nightly\nrustup default nightly\n\n# 安装非 Python 依赖\nsudo dnf install -y cmake ninja-build protobuf-compiler libunwind\n\n# 根据您的机器安装正确的 CUDA 和 CUDA 工具包版本\nsudo dnf install cuda-toolkit-12-8 cuda-12-8\n\n# 安装 clang-devel、nccl-devel 和 libstdc++-static\nsudo dnf install clang-devel libnccl-devel libstdc++-static\n\n# 安装 RDMA 库（用于张量引擎构建）\nsudo dnf install -y libibverbs rdma-core libmlx5 libibverbs-devel rdma-core-devel\n\n# 克隆并同步依赖\ngit clone https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch.git\ncd monarch\n\n# 以开发模式安装所有依赖\nuv sync\n\n# 或者不启用张量引擎\nUSE_TENSOR_ENGINE=0 uv sync\n\n# 验证安装\nuv run python -c \"from monarch import actor; print('Monarch 安装成功')\"\n\n# 重新构建（例如修改了 Rust 代码之后）\nUSE_TENSOR_ENGINE=0 uv pip install -e .\n```\n\n##### 在 Ubuntu 发行版上\n\n```sh\n# 安装夜间版 Rust 工具链\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nsource $HOME\u002F.cargo\u002Fenv\nrustup toolchain install nightly\nrustup default nightly\n\n# 安装 Ubuntu 特有的系统依赖\nsudo apt install -y cmake ninja-build protobuf-compiler libunwind-dev clang\n\n# 将 clang 设置为默认的 C\u002FC++ 编译器\nexport CC=clang\nexport CXX=clang++\n\n# 根据您的机器安装正确的 CUDA 和 CUDA 工具包版本\nsudo apt install -y cuda-toolkit-12-8 cuda-12-8\n\n# 安装 RDMA 库（用于张量引擎构建）\nsudo apt install -y rdma-core libibverbs1 libmlx5-1 libibverbs-dev\n\n# 克隆并同步依赖\ngit clone https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch.git\ncd monarch\n\n# 以开发模式安装所有依赖\nuv sync\n\n# 或者不启用张量引擎（仅限 CPU）\nUSE_TENSOR_ENGINE=0 uv sync\n\n# 验证安装\nuv run python -c \"from monarch import actor; print('Monarch 安装成功')\"\n\n# 重新构建（例如修改了 Rust 代码之后）\nUSE_TENSOR_ENGINE=0 uv pip install -e .\n```\n\n##### 在非 CUDA 机器上\n\n您也可以在非 CUDA 机器上（例如 macOS 笔记本电脑）构建君主，以便仅使用 CPU。\n\n请注意，这不支持张量引擎，因为张量引擎需要 CUDA 和 RDMA 库。\n\n```sh\n# 安装夜间版 Rust 工具链\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nrustup toolchain install nightly\nrustup default nightly\n\n# 克隆并同步依赖（不启用张量引擎）\ngit clone https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch.git\ncd monarch\n\n# 不启用张量引擎（仅限 CPU）\nUSE_TENSOR_ENGINE=0 uv sync\n\n# 验证安装\nuv run python -c \"from monarch import actor; print('Monarch 安装成功')\"\n```\n\n#### 替代方案：使用 pip\n\n如果您更倾向于使用 pip 而不是 uv：\n\n```sh\n# 在安装好系统依赖之后（见上文）\n\n# 安装构建依赖\n\n# 构建并安装 Monarch\npip install .\n\n# 或者用于开发\npip install -e .\n\n# 不使用 tensor_engine\nUSE_TENSOR_ENGINE=0 pip install -e .\n```\n\n## 运行示例\n\n请查看 `examples\u002F` 目录，其中包含如何使用 Monarch API 的演示。\n\n随着功能的稳定和完善，我们还将添加更多示例！\n\n## 运行测试\n\n我们同时拥有 Rust 和 Python 的单元测试。Rust 测试通过 `cargo-nextest` 运行，Python 测试则通过 `pytest` 运行。\n\n### Rust 测试\n\n**重要提示：** Monarch 的 Rust 代码使用 PyO3 与 Python 进行交互，这意味着 Rust 二进制文件需要链接到 Python 库。在运行 Rust 测试之前，您需要激活一个 Python 环境（conda、venv 或 uv）：\n\n```sh\n# 如果使用 uv（推荐）\nuv sync  # 这会创建并激活一个虚拟环境\nuv run cargo nextest run  # 在 uv 环境中运行测试\n\n# 或者如果使用 conda\nconda activate monarchenv\ncargo nextest run\n\n# 或者如果使用 venv\nsource .venv\u002Fbin\u002Factivate\ncargo nextest run\n```\n\n如果没有激活的 Python 环境，您将会遇到类似以下的 Python 链接错误：\n\n```\nerror: could not find native static library `python3.12`, perhaps an -L flag is missing?\n```\n\n**安装 cargo-nextest：**\n\n```sh\n# 我们使用 cargo-nextest 来运行测试，因为它能在每个测试之间提供强大的进程隔离。\n# 这里我们从源码安装它，但您也可以使用此处描述的预编译二进制文件：\n# https:\u002F\u002Fnexte.st\u002Fdocs\u002Finstallation\u002Fpre-built-binaries\u002F\ncargo install cargo-nextest --locked\n```\n\ncargo-nextest 支持所有 \"cargo test\" 的过滤标志。\n\n### Python 测试\n\n```sh\n# 安装测试依赖项（如果尚未通过 uv sync 安装）\nuv sync --extra test\n\n# 使用 uv 运行单元测试\nuv run pytest python\u002Ftests\u002F -v -m \"not oss_skip\"\n\n# 或者如果使用 pip\npip install -e '.[test]'\npytest python\u002Ftests\u002F -v -m \"not oss_skip\"\n```\n\n## 禁用不稳定的 CI 测试\n\n如果某个测试在 OSS CI 中持续失败，并且需要在不进行代码更改的情况下暂时禁用，请在此仓库中打开一个标题格式为以下的 GitHub 问题：\n\n```\nDISABLED \u003C测试名称>\n```\n\n每次 CI 运行开始时，`scripts\u002Ffetch_disabled_tests.py` 脚本会获取所有标题以 `DISABLED ` 开头的未关闭问题，并跳过这些测试。关闭该问题后，测试将在下一次运行中重新启用。\n\n**命名格式：**\n\n- **Rust（cargo nextest）：** 使用测试名称，完全按照 nextest 输出中的显示形式：\u003Cbinary> \u003Cmodule::path::test_fn>, 例如：\n  `DISABLED hyperactor proc::tests::test_child_lifecycle`\n- **Python（pytest）：** 使用测试函数名称，例如：\n  `DISABLED test_my_function`\n\n### 在本地覆盖跳过设置\n\n要运行当前因 GitHub 问题而被禁用的测试，您可以在运行 `scripts\u002Ffetch_disabled_tests.py` 之前创建以下文件来覆盖已获取的跳过列表。该脚本不会覆盖已经存在的文件：\n\n- **`disabled_tests.txt`** — 控制哪些 Python 测试会被跳过。您可以在此文件中仅列出想要跳过的测试（或将其留空以不跳过任何测试）。\n- **`.config\u002Fnextest-filter.txt`** — 控制哪些 Rust 测试会被跳过。您可以在此文件中编写 nextest 过滤表达式（例如 `all()` 表示运行所有测试，或 `not (test(some_test))` 表示仅跳过特定测试）。\n\n例如，要在本地运行所有测试而不受未关闭问题的影响：\n\n```sh\necho -n \"\" > disabled_tests.txt\necho \"all()\" > .config\u002Fnextest-filter.txt\nuv run python scripts\u002Ffetch_disabled_tests.py   # 将跳过这两处写入\nuv run pytest python\u002Ftests\u002F -v -m \"not oss_skip\"\n```\n\n## 许可证\n\nMonarch 采用 BSD-3 许可证，详情请参阅 [LICENSE](LICENSE) 文件。","# Monarch 快速上手指南\n\nMonarch 是一个基于可扩展 Actor 消息传递的 PyTorch 分布式编程框架。它支持远程 Actor、容错监督树、点对点 RDMA 传输以及分布式张量操作。\n\n> ⚠️ **注意**：Monarch 目前处于实验性开发阶段，API 可能会发生变化，生产环境使用请谨慎。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**：Linux (Fedora\u002FUbuntu) 或 macOS (仅 CPU 模式)\n- **Python**：兼容主流 Python 版本\n- **编译器工具链**：需要 Rust nightly 工具链\n- **GPU 支持**（可选）：若需使用分布式张量和 RDMA 功能，需安装 CUDA Toolkit (推荐 12.8) 及 RDMA 库 (`libibverbs`, `rdma-core` 等)。若仅需 Actor 功能，可在无 GPU 环境下运行。\n\n### 前置依赖安装\n\n#### 安装 Rust Nightly\n```sh\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nsource $HOME\u002F.cargo\u002Fenv\nrustup toolchain install nightly\nrustup default nightly\n```\n\n#### 安装系统级依赖 (以 Ubuntu 为例)\n若需完整功能（含 Tensor Engine）：\n```sh\nsudo apt install -y cmake ninja-build protobuf-compiler libunwind-dev clang cuda-toolkit-12-8 cuda-12-8 rdma-core libibverbs1 libmlx5-1 libibverbs-dev\n\n# 设置 clang 为默认编译器\nexport CC=clang\nexport CXX=clang++\n```\n\n若仅需 CPU 模式（无 Tensor Engine）：\n```sh\nsudo apt install -y cmake ninja-build protobuf-compiler libunwind-dev clang\nexport CC=clang\nexport CXX=clang++\n```\n\n#### 安装 uv 包管理工具\nMonarch 推荐使用 `uv` 进行依赖管理：\n```sh\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n```\n*(macOS 用户也可使用 `brew install uv`)*\n\n## 2. 安装步骤\n\n### 方式一：通过预编译 Wheel 安装（推荐）\n最简单的方式，无需配置编译环境。\n\n**稳定版：**\n```sh\npip install torchmonarch\n```\n\n**夜间构建版 (Nightly)：**\n```sh\npip install --pre torchmonarch\n```\n\n### 方式二：从源码构建\n适用于开发者或需要特定 CUDA 版本的场景。\n\n1. **克隆仓库**\n   ```sh\n   git clone https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch.git\n   cd monarch\n   ```\n\n2. **同步依赖并安装**\n   \n   *完整功能版 (需 CUDA 和 RDMA 环境):*\n   ```sh\n   uv sync\n   ```\n\n   *CPU _only_ 版 (禁用 Tensor Engine，适合无显卡机器或 macOS):*\n   ```sh\n   USE_TENSOR_ENGINE=0 uv sync\n   ```\n\n3. **验证安装**\n   ```sh\n   uv run python -c \"from monarch import actor; print('Monarch installed successfully')\"\n   ```\n\n## 3. 基本使用\n\n以下示例演示了如何启动多个训练进程、定义 Actor 并执行分布式调用。\n\n```python\nfrom monarch.actor import Actor, endpoint, this_host\n\n# 在当前主机上生成 8 个训练进程（对应 8 张 GPU）\ntraining_procs = this_host().spawn_procs({\"gpus\": 8})\n\n\n# 定义在每个进程上运行的 Actor\nclass Trainer(Actor):\n    @endpoint\n    def train(self, step: int): \n        # 在此处编写训练逻辑\n        pass\n\n\n# 创建 trainer 实例集合\ntrainers = training_procs.spawn(\"trainers\", Trainer)\n\n# 广播调用：让所有 trainer 执行一步训练\nfut = trainers.train.call(step=0)\n\n# 等待所有 trainer 完成\nfut.get()\n```\n\n更多详细概念介绍和高级用法，请参考官方文档：[Monarch Documentation](https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002F)","某大型 AI 实验室正在训练千亿参数大模型，需跨越数百张 GPU 进行高效分布式协同。\n\n### 没有 monarch 时\n- **通信瓶颈严重**：传统消息传递接口在广播梯度或状态时延迟高，难以支撑大规模节点间的实时同步，导致显卡长时间空转等待。\n- **故障恢复困难**：单个进程崩溃往往导致整个训练任务中断，缺乏细粒度的容错机制，重启需从头加载检查点，浪费数小时算力。\n- **内存传输低效**：跨节点的大张量数据搬运依赖 CPU 中转，无法直接利用硬件级的 RDMA 技术，带宽利用率低且占用大量主机资源。\n- **代码耦合度高**：分布式逻辑与模型训练代码混杂，开发者需手动管理进程生命周期和拓扑结构，调试和维护极其复杂。\n\n### 使用 monarch 后\n- **消息广播极速化**：利用可扩展的 Actor 网格机制，一键将指令广播至所有训练节点，显著降低通信延迟，提升集群整体吞吐量。\n- **自动容错自愈**：通过监督树架构自动感知进程失败并向上冒泡，支持细粒度故障恢复，仅重启异常节点而非整个集群，确保持续训练。\n- **零拷贝数据传输**：直接注册 GPU 显存并通过 libibverbs 实现点对点 RDMA 传输，绕过 CPU 瓶颈，大幅释放带宽并降低延迟。\n- **开发流程简化**：提供简洁的 Python API 命令式地定义进程与 Actor，将复杂的分布式编排抽象为简单的对象调用，让算法工程师专注模型本身。\n\nmonarch 通过高性能的 Actor 消息机制与硬件级数据传输能力，将原本脆弱的分布式训练转变为稳定、高效且易于开发的自动化流程。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmeta-pytorch_monarch_5e2e08ea.png","meta-pytorch","Meta PyTorch","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmeta-pytorch_1dfd3f76.jpg","",null,"https:\u002F\u002Fpytorch.org","https:\u002F\u002Fgithub.com\u002Fmeta-pytorch",[83,87,91,95,99,103,107,111,114,118],{"name":84,"color":85,"percentage":86},"Rust","#dea584",69,{"name":88,"color":89,"percentage":90},"Python","#3572A5",27.5,{"name":92,"color":93,"percentage":94},"TypeScript","#3178c6",1.3,{"name":96,"color":97,"percentage":98},"C++","#f34b7d",1.1,{"name":100,"color":101,"percentage":102},"C","#555555",0.4,{"name":104,"color":105,"percentage":106},"CSS","#663399",0.3,{"name":108,"color":109,"percentage":110},"Cuda","#3A4E3A",0.2,{"name":112,"color":113,"percentage":110},"Shell","#89e051",{"name":115,"color":116,"percentage":117},"Dockerfile","#384d54",0,{"name":119,"color":120,"percentage":117},"HTML","#e34c26",1004,156,"2026-04-04T04:35:47","BSD-3-Clause",4,"Linux (Fedora, Ubuntu), macOS","非必需。完整功能（分布式张量、RDMA）需要 NVIDIA GPU 及 CUDA 12.8（支持配置为 12.6 或 13.0）；仅 Actor 模式可在 CPU\u002FmacOS 上运行。未说明具体显存大小要求。","未说明",{"notes":130,"python":131,"dependencies":132},"1. 项目处于早期实验阶段，API 可能变更。2. 推荐使用 'uv' 进行依赖管理和构建。3. 若无需分布式张量和 RDMA 功能，可设置环境变量 USE_TENSOR_ENGINE=0 进行编译，此时支持纯 CPU 或 macOS 运行。4. 从源码构建时，Linux 需安装特定的系统开发库（如 rdma-core, libnccl-devel 等）。5. 运行 Rust 测试前必须激活包含 Python 库的虚拟环境。","未说明 (需配合 uv 或 conda 环境，Rust 测试需链接特定 Python 版本库，示例报错提及 python3.12)",[133,134,135,136,137,138,139,140,141,142],"torch (ABI 兼容最新版)","uv (包管理工具)","Rust nightly toolchain","libibverbs (RDMA 支持)","cuda-toolkit-12-8","cmake","ninja-build","protobuf-compiler","libunwind","clang",[13],"2026-03-27T02:49:30.150509","2026-04-06T06:53:22.907551",[147,152,157,162,167],{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},14514,"运行 OSS 测试时出现顺序执行失败（特别是 Rust 相关的 log 测试），该如何解决？","此类测试失败通常是由于资源清理不当引起的。维护者已通过二分法定位到具体的提交记录，并确认问题与 `monarch.rdma` 模块有关。解决方案包括：\n1. 应用修复补丁：相关修复已在 PR #616 中处理。\n2. 技术细节：可以通过 `monarch.tensor_engine.rdma` 进行修复。如果需要在不具备后端网络机器的环境中运行，后续可能会提供一个不使用实际 RDMA 的版本。","https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch\u002Fissues\u002F604",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},14510,"如何在多节点或多主机环境下运行 Monarch？","Monarch 支持多种多节点部署方案：\n1. Kubernetes: 官方已添加 Kubernetes 示例，详见文档 https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fddp\u002Fkubernetes_ddp.html。\n2. SLURM: 可参考 PyTorch 教程中的 monarchJob 示例 (https:\u002F\u002Fdocs.pytorch.org\u002Ftutorials\u002Fintermediate\u002Fmonarch_distributed_tutorial.html)。\n3. 自定义引导: 如果需要在已分配的资源上启动集群，可以使用 'bootstrap' API 从已分配的节点创建 hostMesh。相关代码路径位于：https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch\u002Fblob\u002Fmain\u002Fpython\u002Fmonarch\u002F_src\u002Factor\u002Fbootstrap.py#L86。","https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch\u002Fissues\u002F245",{"id":158,"question_zh":159,"answer_zh":160,"source_url":161},14511,"在开源环境（如 Conda）中构建 Monarch 时遇到 clang 或 nccl-sys 编译错误怎么办？","构建失败通常是因为缺少系统级的 clang 或 nccl 依赖。解决方案如下：\n1. 安装 clang 开发包：如果无法使用 root 权限运行 `dnf install clang-devel`，请使用 Conda 安装：`conda install conda-forge::clangdev`。\n2. 更新环境：运行 `conda update -n \u003C你的环境名> --all -c conda-forge -y` 以确保依赖一致。\n3. 安装 NCCL：缺失的 nccl 依赖也可以通过 Conda 安装来解决。\n4. 清理环境：建议创建一个全新的 Conda 环境以避免与其他环境的病理冲突。","https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch\u002Fissues\u002F94",{"id":163,"question_zh":164,"answer_zh":165,"source_url":166},14512,"是否有类似 torchrun 的工具可以直接用于启动 Monarch 任务，而无需编写大量 Monarch 特有代码？","是的，社区正在致力于提供基于 Monarch 重新实现的 torchrun，以便用户能更轻松地尝试 Monarch。目前的进展包括：\n1. 基础版本的 torchrun 接口已经合并。\n2. 目标是实现与原生 torchrun 命令的兼容性，让用户能够像运行普通 SPMD 脚本一样启动 Monarch 任务，降低上手门槛。","https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch\u002Fissues\u002F1704",{"id":168,"question_zh":169,"answer_zh":170,"source_url":171},14513,"Monarch 是否支持非 CUDA 设备（如 AMD、Mac OS 或 TPU）？","目前 `torchmonarch` 主要构建为仅支持 CUDA 设备（需设置 `USE_TENSOR_ENGINE=1`）。不过，社区有明确计划支持非 CUDA 设备（包括 AMD、Mac OS 和 TPU），以提供“Monarch Core”（Actor 到 Actor 通信）在这些硬件上的可用性。这将允许在任何运行 Linux 的硬件上使用 Monarch 的核心功能，并为特定硬件的张量引擎和 RDMA 等高级功能提供构建路径。","https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch\u002Fissues\u002F1683",[173,178,183,188,193],{"id":174,"version":175,"summary_zh":176,"released_at":177},81429,"v0.4.0","# Monarch v0.4 发行说明\n\n## 新特性\n\n### 网络与 RDMA\n\n- **EFA 支持 RDMA** — 通过 AWS 的 libefa（弹性 Fabric Adapter）实现 RDMA。\n- **RDMA 的 TCP 回退机制** — 当 RDMA 不可用时，数据平面会自动回退到 TCP，从而扩大硬件兼容性 (#2999)。\n- **ROCm \u002F HIP 支持** RDMA 堆栈，支持 AMD GPU 部署 (#2891)。\n- 通道传输层基于类型化的会话生命周期和统一的 `NetLink` 分发机制进行了重写，提升了重连可靠性，并新增了双工模式通道。\n\n### 分布式遥测与仪表板\n\nMonarch 现在内置了一个可观性仪表板。新的分布式遥测系统能够实时收集 actor、网格、主机、进程以及消息级别的数据，并通过 Web UI 和基于 Schema 的 REST API（OpenAPI 3.1）对外暴露这些数据。此外，一个兼容 OTLP 的指标、日志和追踪导出器，使得在 Kubernetes 部署中轻松集成 Grafana、Jaeger 或任何 OpenTelemetry 收集器成为可能。\n\n### 管理 TUI 与实时诊断\n\n一个新的终端界面 (`admin_tui`) 通过 HTTP 管理服务器提供对运行中的网格、进程和 actor 的实时内省功能。它内置了 py-spy 集成，可以直接在 TUI 中捕获任意运行中 actor 的 Python 堆栈跟踪信息，从而大大简化了生产环境中卡顿和性能问题的诊断工作。\n\n### Kubernetes\n\n`KubernetesJob` 增加了 **Python 原生的资源调配** 功能，移除了创建网格时对外部 Go 控制器的依赖。同时，在 `add_mesh()` 方法中新增了一个可选的 `labels` 参数，支持与 Kueue 及其他基于标签的 Kubernetes 控制器集成 (#2693)。\n\n### Python API 变更\n\n- `allocate_nonblocking`、`from_alloc` 和 `host_mesh` 已被重命名为私有方法；请改用 `attach_to_workers` 以及 `KubernetesJob` \u002F `ProcessJob` API (#2971)。\n- NUMA 绑定现在可用于进程网格的启动 (#2996)。\n\n## Bug 修复与性能改进\n### 监督与容错\n\n- **ControllerController 监督机制** — 单个子级 torchstore 控制器的故障不再会污染父级及其所有兄弟节点。每个子级现在都相互隔离，修复了一个关键 bug：单个会话失败可能导致后续所有 `get_or_spawn_controller()` 调用被阻塞 (#2835)。\n- **孤儿网格清理** — 子级 actor 现在能够检测到其父级不可达，并自动终止自身，从而避免 GPU 资源泄漏 (#2198)。\n- **干净的 Python 关闭流程** — 进程退出时现在会调用 `Py_FinalizeEx`，使 Python 对象有机会执行析构函数，从而消除了关闭过程中出现的 `pybind11::dec_ref` GIL 崩溃问题 (#2524)。\n- **可靠的 `proc_mesh.stop()`** — 停止操作现在会在退出前先刷新待处理的消息和确认，修复了导致 CI 和用户代码中出现误报的竞态条件 (#2658)。\n### 性能\n\n- **Lazy ValueMesh 反序列化** — 从 `accumulate` 返回的值现在仅在访问时才进行反序列化，而不是立即反序列化，从而降低了大结果的延迟 (#2983)。\n- **RLE-com","2026-03-26T20:52:05",{"id":179,"version":180,"summary_zh":181,"released_at":182},81430,"v0.3.0","# Monarch 0.3.0 版本更新说明\n\n  ## 新特性\n\n  ### Kubernetes 作业支持\n\n  Monarch 现在支持在 Kubernetes 集群上运行分布式训练工作负载。新的 KubernetesJob API 可以连接到由 https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch-kubernetes\u002F 仓库管理的预置 GPU 容器，从而实现 Kubernetes 上无缝的多节点 DDP 训练。\n\n  主要功能：\n  - 使用 KubernetesJob 连接到 Kubernetes 容器\n  - 通过 MonarchMesh 自定义资源定义预置 GPU 工作节点\n  - 使用 SPMDActor 运行多节点 DDP 训练\n\n  示例：\n\n```python\n  from monarch.job.kubernetes import KubernetesJob\n  from monarch.spmd import SPMDActor\n\n  k8s_job = KubernetesJob(namespace=\"monarch-tests\")\n  k8s_job.add_mesh(\"ddpmesh\", num_replicas=2)\n\n  job_state = k8s_job.state()\n  proc_mesh = job_state.ddpmesh.spawn_procs({\"gpus\": 4})\n  spmd_actors = proc_mesh.spawn(\"_SPMDActor\", SPMDActor)\n```\n\n  完整教程请参见：https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fddp\u002Fkubernetes_ddp.html\n\n  我们还发布了 Docker 镜像包，请访问：https:\u002F\u002Fgithub.com\u002Fmeta-pytorch\u002Fmonarch\u002Fpkgs\u002Fcontainer\u002Fmonarch\n\n  ---\n  ### monarch.spmd 和 monarch.job.spmd 中的 SPMDJob\n\n  新的 monarch.job.spmd 模块提供了 serve() 和 run_spmd() 方法，用于交互式的 SPMD 开发流程：\n\n  - 一次预留，多次迭代：只需分配一次主机资源，之后即可反复调用 run_spmd() 而无需重新预置资源。\n  - 远程调试：在训练脚本中添加 breakpoint()，然后使用 monarch debug 进行附加调试。\n  - 作业缓存：加载已缓存的作业状态，并在同一组预留主机上重新运行。\n\n  示例：\n\n```python\n  from monarch.job.spmd import serve\n\n  job = serve(\n      [\"torchrun\", \"--nproc-per-node=4\", \"--standalone\", \"train.py\"],\n      scheduler=\"local_cwd\",\n  )\n  job.run_spmd()\n\n # 后续可直接加载并重新运行，无需再次预置：\n  job = job_load(\".monarch\u002Fjob_state.pkl\")\n  job.run_spmd()\n```\n\n  此功能支持使用命令列表进行单节点训练，以及在 Slurm 等调度器上使用 TorchX AppDef 进行多节点训练。\n\n  示例请参见：https:\u002F\u002Fmeta-pytorch.org\u002Fmonarch\u002Fgenerated\u002Fexamples\u002Fddp\u002Fspmd_job.html\n\n  ---\n  ### 实验性队列调度模式（性能优化）\n\n  一种新的 Actor 调度模式，其中 Rust 将消息入队到通道，由 Python 来处理，而不是让 Rust 直接获取 GIL 锁。这可以提升消息密集型工作负载的吞吐量。\n\n  ```python\n  from monarch.config import configure\n\n  configure(actor_queue_dispatch=True)\n  ```\n\n  ---\n  ### 本地启动时的 this_proc() 函数\n\n  this_proc() 函数会返回当前单例进程的句柄，使 Actor 能够在本地启动其他 Actor。远程 Actor 也可以使用 this_proc() 在其所在主机上启动 Actor——从而实现诸如将本地进程的引用传递给远程 Actor，再由远程 Actor 在该进程中创建资源等模式。\n\n  ```python\nfrom monarch.actor import Actor, endpoint, this_proc\n\n  class ManagerActor(Actor):\n      @endpoint\n      def spawn","2026-01-30T22:27:11",{"id":184,"version":185,"summary_zh":186,"released_at":187},81431,"v0.2.0","# Monarch 发布说明\n\n## 概述\n\n本次发布重点关注 **正确性、鲁棒性和运维成熟度**。主要改进涵盖监督与关闭语义、日志记录与可观测性、Kubernetes 就绪性、SPMD 工作流、测试规范性以及构建兼容性。Monarch 现在在故障情况下更加可预测，更易于调试，并且更适合长期运行和大规模部署。\n\n---\n\n## 监督与关闭\n\nActor 的监督机制和关闭行为得到了显著强化和澄清。\n\n### 重要改进\n\n- **严格的监督层级**\n  - 每个 Actor 或进程都恰好有一个父级（根节点除外）。\n  - 子 Actor 在其父级发生故障或停止后将不再存活。\n\n- **可靠的递归关闭**\n  - 请求某个 Actor 停止会以确定性方式停止其整个子树。\n  - 关闭场景已被文档化、测试，并对日志过量输出进行了清理。\n\n- **改进的故障传播**\n  - 监督错误现在会描述完整的退出层级关系。\n  - 端点故障会提供更清晰的上下文信息，包括 Actor 和端点名称。\n\n- **HostMesh 生命周期控制**\n  - HostMesh 可以被干净地停止（断开客户端连接并终止工作进程）。\n  - HostMesh 也可以被强制终止，使工作进程循环立即退出。\n  - 持久化分配在停止后仍可用于重新连接。\n\n---\n\n## 日志记录\n\n日志记录经过重构，以提高清晰度、减少噪声，并明确区分面向用户的信号与系统内部信息。\n\n### 重要改进\n\n- **日志的清晰分离**\n  - Monarch 系统日志和用户日志被清晰分开。\n  - 用户可见的故障仅通过异常和监督事件传达。\n\n- **错误清晰度提升**\n  - 错误按类别划分（如用户错误、系统错误、基础设施错误）。\n  - Actor 名称以用户易懂的语法报告。\n  - Actor 失败报告包含更丰富的上下文和因果链。\n\n- **结构化日志**\n  - 错误会发出适合过滤和聚合的结构化日志记录。\n  - 监督事件遵循定义好的模式。\n\n- **减少默认噪声**\n  - 日志转发、聚合和增强功能默认关闭。\n  - 日志消息已针对信号质量进行审计。\n\n---\n\n## 可观测性\n\n可观测性已在 Actor、Mesh 和端点层面得到扩展。\n\n### 重要改进\n\n- **全面的指标**\n  - 端点延迟、吞吐量、负载大小和错误计数普遍可用。\n  - 客户端和服务器两端均会收集指标。\n\n- **生命周期监控**\n  - Actor、进程和 Mesh 的状态变化会发出结构化事件。\n  - 监督事件已实现全面监控。\n\n- **根因可见性**\n  - 故障级联中的首个触发事件会被暴露出来。\n  - 用户可解析的 Actor ID 会与内部 Actor 标识符关联。\n\n- **追踪**\n  - 分布式跟踪覆盖消息发送和接收路径。\n  - 跟踪记","2025-12-22T20:54:52",{"id":189,"version":190,"summary_zh":191,"released_at":192},81432,"v0.1.0","🦋 Monarch v0.1.0 — 初次发布  \n我们很高兴地宣布 Monarch 的首个公开版本正式发布。Monarch 是一个基于 PyTorch 的分布式编程框架，以可扩展的 Actor 消息传递和直接内存访问为核心构建。Monarch 将基于 Actor 的并发模型、容错监督机制以及高性能张量通信等理念融为一体，旨在让分布式训练更加简单、清晰且高效。\n\n🚀 亮点  \n1. 面向 PyTorch 的 Actor 编程  \n您可以定义以远程 Actor 方式运行的 Python 类，向它们发送消息，并通过简洁的命令式 API 协调分布式工作。  \n\n```  \nfrom monarch.actor import Actor, endpoint, this_host  \n\ntraining_procs = this_host().spawn_procs({\"gpus\": 8})  \n\nclass Trainer(Actor):  \n    @endpoint  \n    def train(self, step: int): ...  \n\ntrainers = training_procs.spawn(\"trainers\", Trainer)  \ntrainers.train.call(step=0).get()  \n```  \n\n2. 可扩展的消息传递与网格结构  \nActor 被组织成网格——这些集合支持广播、归约等可扩展的通信原语。  \n3. 监督机制与容错能力  \nMonarch 引入了监督树来处理错误并实现故障恢复。失败会以可预测的方式传播，从而支持细粒度的重启和健壮的分布式工作流。  \n4. 高性能 RDMA 传输  \n通过 libibverbs 完全集成 RDMA，实现 CPU 和 GPU 内存之间的零拷贝、单边张量通信，跨越不同进程和主机。  \n5. 分布式张量  \n原生支持跨进程划分的张量——无需编写自定义的数据移动代码即可进行分布式计算。  \n\n⚠️ 开发初期说明  \nMonarch 目前仍处于实验阶段，正处于积极开发中。您可能会遇到 API 不完整、迭代速度快以及接口不断变化的情况。我们欢迎社区贡献——在提交 Pull Request 之前，请先通过 Issue 讨论重大变更或想法。","2025-10-22T05:02:29",{"id":194,"version":195,"summary_zh":196,"released_at":197},81433,"v0.0.0","首个 Monarch 版本发布！\r\nhttps:\u002F\u002Fpypi.org\u002Fproject\u002Ftorchmonarch\u002F0.0.0\u002F ","2025-09-03T17:15:28"]