[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-luminal-ai--luminal":3,"tool-luminal-ai--luminal":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 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[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":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":68,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":101,"env_os":102,"env_gpu":103,"env_ram":104,"env_deps":105,"category_tags":112,"github_topics":79,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":113,"updated_at":114,"faqs":115,"releases":145},2564,"luminal-ai\u002Fluminal","luminal","Deep learning at the speed of light.","Luminal 是一款用 Rust 编写的高性能通用深度学习推理编译器，旨在以极致速度运行各类 AI 模型。它主要解决了传统深度学习框架因“即时执行”模式导致的性能瓶颈问题：大多数库为了开发便利牺牲了机器执行效率，而 Luminal 通过独特的编译时搜索策略，自动探索最优计算路径，无需依赖大量手写内核即可实现如 Flash Attention 等复杂优化，在 H100 显卡上运行量化后的 Llama 3 8B 模型时，能达到理论峰值性能的约 80%。\n\n该工具采用极简的 RISC 风格架构，仅依靠 14 种基础算子即可支撑 Transformer、卷积网络等主流模型，核心代码库小巧易懂。与依赖厚重抽象层或虚拟环境的方案不同，Luminal 直接调用 CUDA 或 Metal API，以静态链接库形式提供原生体验，大幅降低了系统碎片化带来的负担。此外，项目高度重视正确性，所有算子均经过与 PyTorch 的严格对比测试。\n\nLuminal 特别适合追求极致推理性能的 AI 工程师、系统研究人员以及希望深入理解底层编译优化的开发者使用。如果你厌倦了繁琐的环境配置，渴望在一个轻量、透明且强大","Luminal 是一款用 Rust 编写的高性能通用深度学习推理编译器，旨在以极致速度运行各类 AI 模型。它主要解决了传统深度学习框架因“即时执行”模式导致的性能瓶颈问题：大多数库为了开发便利牺牲了机器执行效率，而 Luminal 通过独特的编译时搜索策略，自动探索最优计算路径，无需依赖大量手写内核即可实现如 Flash Attention 等复杂优化，在 H100 显卡上运行量化后的 Llama 3 8B 模型时，能达到理论峰值性能的约 80%。\n\n该工具采用极简的 RISC 风格架构，仅依靠 14 种基础算子即可支撑 Transformer、卷积网络等主流模型，核心代码库小巧易懂。与依赖厚重抽象层或虚拟环境的方案不同，Luminal 直接调用 CUDA 或 Metal API，以静态链接库形式提供原生体验，大幅降低了系统碎片化带来的负担。此外，项目高度重视正确性，所有算子均经过与 PyTorch 的严格对比测试。\n\nLuminal 特别适合追求极致推理性能的 AI 工程师、系统研究人员以及希望深入理解底层编译优化的开发者使用。如果你厌倦了繁琐的环境配置，渴望在一个轻量、透明且强大的工具链中挖掘硬件潜力，Luminal 提供了一个回归本质的高效选择。","\u003Cimg href=\"luminal.com\" alt=\"Screenshot 2025-08-14 at 9 18 54 PM\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluminal-ai_luminal_readme_e9409916880a.png\" \u002F>\n\n\u003Ch3 align=\"center\">\nLuminal is a high-performance general-purpose inference compiler.\n\u003C\u002Fh3>\n\n[![CI Status](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fjafioti\u002Fluminal\u002Ftest.yml?style=for-the-badge&logo=github-actions&logoColor=white&branch=main)](https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Factions)\n[![Docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-green?style=for-the-badge&color=0D9373)](https:\u002F\u002Fdocs.luminalai.com)\n[![Current Crates.io Version](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fluminal.svg?style=for-the-badge&logo=rust)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fluminal)\n[![discord](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FAPjuwHAbGy)](https:\u002F\u002Fdiscord.gg\u002FAPjuwHAbGy)\n\n## Usage\n\n```rust\nuse luminal::prelude::*;\n\u002F\u002F Create compute graph\nlet mut cx = Graph::new();\nlet a = cx.tensor((3, 1));\nlet b = cx.tensor((1, 4));\n\nlet c = a.matmul(b).output();\n\n\u002F\u002F Compile\ncx.build_search_space::\u003CNativeRuntime>();\nlet mut rt = cx.search(NativeRuntime::default(), 1);\n\n\u002F\u002F Set input tensors\nrt.set_data(a, vec![1.0, 2.0, 3.0]);\nrt.set_data(b, vec![1.0, 2.0, 3.0, 3.0]);\n\n\u002F\u002F Run\nrt.execute(&cx.dyn_map);\n\n\u002F\u002F Get output tensor\nprintln!(\"Result: {:?}\", rt.get_f32(c));\n```\n\n## Getting Started\n\n**Llama 3 8B**\n\nHere's a quick example of how you can run Llama 3 8B locally using Luminal on CUDA:\n```bash\ncd .\u002Fexamples\u002Fllama\ncargo run --release\n```\n\n## Features\n\n### Speed\n\nLuminal can run Q8 Llama 3 8B at ~80% of theoretical max performance on an H100. The goal is to become the fastest ML framework for any model on any device.\n\n### Simplicity\n\nThe core of Luminal is and always will be minimal. It should be possible to understand the entire core library in an afternoon.\n\n### RISC-style architecture\n\nEverything in Luminal boils down to 14 primitive ops:\n\n- Unary - `Log2, Exp2, Sin, Sqrt, Recip`\n- Binary - `Add, Mul, Mod, LessThan`\n- Other - `SumReduce, MaxReduce, Iota, Gather, Cast`\n\nThese ops are enough to support transformers, convnets, and nearly every popular model.\n\n### Search\n\nThe best heuristic is no heuristic. We try to search every possible decision to give the compiler the most flexibility to discover complex optimizations. This allows us to automatically derive Flash Attention and other similarly complex rewrites. It also allows us to stay extremely small long into the future and beat the performance of far larger frameworks with tons of handwritten kernels.\n\n### Native\n\nThe current ML ecosystem is too fragmented, and the solution isn't another layer of abstraction. Luminal is written in rust, and interacts directly with the CUDA \u002F Metal APIs. No indirections or abstractions, docker containers, or virtual environments. Just a statically-linked rust crate.\n\n### Validated against Pytorch\n\nCorrectness matters. We write as much tests as possible to cover all ops and verify they work the same as an equivalent Pytorch implementation. ([Improvements needed!](https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fissues\u002F20))\n\n## Ideology\n\n### Why does this look so different from other DL libraries?\n\nMost deep learning libraries are eager-first, meaning each op call directly operates on the data. In PyTorch, when you see `x + y`, the addition actually happens right there. This is great for debugging because it works exactly as most developers expect.\n\nHowever, this isn't great for performance. What makes sense for a developer doesn't work well for the machine, in the same way that no one writes assembly by hand. Most libraries try to fix this problem by tacking on operator fusion or JIT compilation to try to change the compilation flow to something better for the machine. Turns out this is [super](https:\u002F\u002Fdocs.pytorch.org\u002Fdocs\u002Fstable\u002Ftorch.compiler_dynamo_overview.html) [difficult](https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fintermediate\u002Ftorch_compile_tutorial.html) [even](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fjit.html) [for](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Ffx.html#torch.fx.symbolic_trace) Pytorch!\n\n### Compile everything\n\nA core tenet of Luminal is ahead-of-time compilation. Whenever possible, push everything to compile time and leave nothing to run time. Luminal takes an approach more similar to [XLA](https:\u002F\u002Fwww.tensorflow.org\u002Fxla), and [tinygrad](https:\u002F\u002Fgithub.com\u002Ftinygrad\u002Ftinygrad). Everything's static here. When you write out an expression like `x + y`, no actual computation happens. The operation is recorded to a directed acyclic computation graph for execution later. Only once `graph.execute()` is ran does the computation happen. _But isn't that just lazy execution?_ Yes it is! But in luminal **everything is done this way**. All neural networks are built up as one or a few static computation graphs, compiled, and executed later.\n\n**But why?**\n\nA consequence of this is that the actual computation that gets ran can be radically different than the code that was written. Since we have an entire neural network fully represented in a compute graph, our compilers have global knowledge. This means we can push most ML complexity to the compilers. For instance, devices, datatypes, and execution schedules are all handled by compliers. Even autograd is handled by a compiler!\n\nNow we can do:\n\n- Aggressive kernel fusion\n- Shape-specific kernels compiled at runtime\n- Devices and Dtypes are handled through compilers (just run the CUDA compiler to convert the graph to use CUDA kernels, then the fp16 compiler to convert to half-precision kernels)\n- Networks can be written in generic code, but compiled and ran fast on hyper-specific architectures (try writing a PyTorch network that works with both TF32 dtypes and TPUs; get ready for if statement hell...)\n\n## Where are we?\n\n- Search is partially merged. We are between 1.0 and 2.0 (search), which will be completed within the next month or so.\n- Metal and Cuda are supported for running models on Macs and Nvidia GPUs respectively, in both full and half precision.\n- Full training support with graph-based autograd.\n- Llama 3, Phi 3, Whisper and Yolo v8 are implemented in `examples\u002F`. See instructions above for running.\n- We have a small library of NN modules in `luminal_nn`, including transformers.\n- A significant amount of high-level ops are implemented in `hl_ops`. We are aiming to match the most used ~80% of the pytorch api.\n\nSome things on the roadmap:\n\n- Expand the search space to utilize Tensor Cores more flexibly\n- Bring cuda to parity with Metal\n- Add Blackwell intrinsics, such as TMEM and TMA\n- Build a ROCm backend\n- Build benchmarking suite to test against other libs\n- Distributed data, pipeline and tensor parallel.\n- Beat PT 2.0 perf on LLM inference _and_ training\n- Write compiler for quantum photonic retro encabulator\n- Build dyson swarm\n\n## License\n\nLicensed under the Apache License, Version 2.0 http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0 or the MIT license http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT, at your option. This file may not be copied, modified, or distributed except according to those terms.\n","\u003Cimg href=\"luminal.com\" alt=\"截图 2025-08-14 下午9:18:54\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluminal-ai_luminal_readme_e9409916880a.png\" \u002F>\n\n\u003Ch3 align=\"center\">\nLuminal 是一款高性能的通用推理编译器。\n\u003C\u002Fh3>\n\n[![CI 状态](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002Fjafioti\u002Fluminal\u002Ftest.yml?style=for-the-badge&logo=github-actions&logoColor=white&branch=main)](https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Factions)\n[![文档](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-green?style=for-the-badge&color=0D9373)](https:\u002F\u002Fdocs.luminalai.com)\n[![当前 Crates.io 版本](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fluminal.svg?style=for-the-badge&logo=rust)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Fluminal)\n[![discord](https:\u002F\u002Fdcbadge.limes.pink\u002Fapi\u002Fserver\u002FAPjuwHAbGy)](https:\u002F\u002Fdiscord.gg\u002FAPjuwHAbGy)\n\n## 使用方法\n\n```rust\nuse luminal::prelude::*;\n\u002F\u002F 创建计算图\nlet mut cx = Graph::new();\nlet a = cx.tensor((3, 1));\nlet b = cx.tensor((1, 4));\n\nlet c = a.matmul(b).output();\n\n\u002F\u002F 编译\ncx.build_search_space::\u003CNativeRuntime>();\nlet mut rt = cx.search(NativeRuntime::default(), 1);\n\n\u002F\u002F 设置输入张量\nrt.set_data(a, vec![1.0, 2.0, 3.0]);\nrt.set_data(b, vec![1.0, 2.0, 3.0, 3.0]);\n\n\u002F\u002F 运行\nrt.execute(&cx.dyn_map);\n\n\u002F\u002F 获取输出张量\nprintln!(\"结果: {:?}\", rt.get_f32(c));\n```\n\n## 快速入门\n\n**Llama 3 8B**\n\n以下是一个使用 Luminal 在 CUDA 上本地运行 Llama 3 8B 的快速示例：\n```bash\ncd .\u002Fexamples\u002Fllama\ncargo run --release\n```\n\n## 特性\n\n### 速度\n\nLuminal 可以在 H100 上以接近理论最大性能的 80% 运行 Q8 版本的 Llama 3 8B。我们的目标是成为在任何设备上运行任何模型时最快的机器学习框架。\n\n### 简洁性\n\nLuminal 的核心始终是极简的。你可以在一个下午内理解整个核心库。\n\n### RISC 风格架构\n\nLuminal 中的所有操作都可以归结为 14 种基本算子：\n\n- 一元算子：`Log2, Exp2, Sin, Sqrt, Recip`\n- 二元算子：`Add, Mul, Mod, LessThan`\n- 其他算子：`SumReduce, MaxReduce, Iota, Gather, Cast`\n\n这些算子足以支持 Transformer、卷积神经网络以及几乎所有流行的模型。\n\n### 搜索\n\n最好的启发式就是没有启发式。我们尝试搜索所有可能的决策，以赋予编译器最大的灵活性来发现复杂的优化。这使我们能够自动推导出 Flash Attention 等复杂重写规则。同时，这也让我们能够在未来的很长一段时间内保持代码体积非常小，并且在性能上超越那些拥有大量手写内核的大型框架。\n\n### 原生实现\n\n当前的机器学习生态系统过于碎片化，而解决方案并不是再增加一层抽象。Luminal 使用 Rust 编写，直接与 CUDA \u002F Metal API 交互。没有任何间接层或抽象、Docker 容器或虚拟环境，只是一份静态链接的 Rust crate。\n\n### 与 PyTorch 对比验证\n\n正确性至关重要。我们编写了尽可能多的测试用例，以覆盖所有算子，并验证它们的行为与 PyTorch 的等效实现一致。（[仍需改进！](https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fissues\u002F20)）\n\n## 理念\n\n### 为什么它看起来与其他深度学习库如此不同？\n\n大多数深度学习库都是“急切执行”模式，即每次调用算子都会直接对数据进行操作。在 PyTorch 中，当你看到 `x + y` 时，加法运算实际上就在那里立即发生。这种方式非常适合调试，因为它完全符合大多数开发者的预期。\n\n然而，这种模式并不利于性能。对开发者来说合理的方式并不一定适合机器，就像没有人会手写汇编代码一样。大多数库试图通过添加算子融合或 JIT 编译来改变编译流程，使其更适合机器。但事实证明，即使对于 PyTorch 来说，这也是 [极其](https:\u002F\u002Fdocs.pytorch.org\u002Fdocs\u002Fstable\u002Ftorch.compiler_dynamo_overview.html) [困难](https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fintermediate\u002Ftorch_compile_tutorial.html) [的事情](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fjit.html) [甚至](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Ffx.html#torch.fx.symbolic_trace) [难以实现](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Ffx.html#torch.fx.symbolic_trace)！\n\n### 编译一切\n\nLuminal 的核心原则之一是提前编译。只要可能，就将所有内容推到编译时，不留给运行时处理。Luminal 的方法更类似于 [XLA](https:\u002F\u002Fwww.tensorflow.org\u002Fxla) 和 [tinygrad](https:\u002F\u002Fgithub.com\u002Ftinygrad\u002Ftinygrad)。这里一切都是静态的。当你写下表达式 `x + y` 时，实际上并不会进行任何计算。该操作会被记录到一个有向无环计算图中，供后续执行。只有当调用 `graph.execute()` 时，计算才会真正发生。_但这不就是惰性执行吗？_ 是的！但在 Luminal 中，**一切都以这种方式进行**。所有的神经网络都被构建为一个或几个静态计算图，经过编译后稍后再执行。\n\n**那么为什么呢？**\n\n这样做的一个后果是，实际运行的计算可能会与编写的代码截然不同。由于我们有一个完整的神经网络被表示在计算图中，编译器拥有全局视角。这意味着我们可以将大部分机器学习的复杂性交给编译器来处理。例如，设备、数据类型和执行调度都由编译器负责。甚至自动微分也是由编译器完成的！\n\n现在我们可以做到：\n\n- 大规模的内核融合\n- 根据形状在运行时编译特定的内核\n- 设备和数据类型的处理由编译器完成（只需运行 CUDA 编译器将图转换为使用 CUDA 内核，再运行 fp16 编译器将其转换为半精度内核）\n- 网络可以用通用代码编写，但却能在高度定制化的架构上快速编译和运行（试着写一个既能支持 TF32 数据类型又能运行在 TPU 上的 PyTorch 网络吧；准备好迎接 if 语句地狱……）\n\n## 当前进展\n\n- 搜索功能已部分合并。我们正处于 1.0 和 2.0（搜索）之间，预计将在未来一个月左右完成。\n- 支持 Metal 和 CUDA，分别用于在 Mac 和 Nvidia GPU 上以全精度和半精度运行模型。\n- 提供基于计算图的完整训练支持，包含自动微分。\n- Llama 3、Phi 3、Whisper 和 Yolo v8 已在 `examples\u002F` 目录中实现。请参阅上方说明以了解如何运行。\n- 我们在 `luminal_nn` 中提供了一个小型的神经网络模块库，其中包括 Transformer 模块。\n- 在 `hl_ops` 中实现了大量的高级算子。我们正努力匹配 PyTorch API 中最常用的约 80% 的功能。\n\n路线图上的其他事项：\n\n- 扩展搜索空间，以更灵活地利用 Tensor Core\n- 使 CUDA 功能与 Metal 功能对齐\n- 添加 Blackwell 的内置函数，如 TMEM 和 TMA\n- 构建 ROCm 后端\n- 构建基准测试套件，用于与其他库进行比较\n- 实现分布式数据、流水线和张量并行\n- 在 LLM 推理和训练方面超越 PyTorch 2.0 的性能\n- 编写量子光子回退编码器的编译器\n- 构建戴森球群\n\n## 许可证\n\n根据您的选择，本文件依据 Apache 证书版本 2.0（http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0）或 MIT 证书（http:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT）授权。除遵循这些条款外，不得复制、修改或分发本文件。","# Luminal 快速上手指南\n\nLuminal 是一个高性能的通用推理编译器，采用 Rust 编写，直接调用 CUDA\u002FMetal API，旨在通过静态计算图和编译时搜索优化，在任何设备上实现极致的机器学习推理速度。\n\n## 环境准备\n\n*   **操作系统**:\n    *   Linux (推荐用于 NVIDIA GPU)\n    *   macOS (支持 Apple Silicon Metal)\n*   **硬件要求**:\n    *   NVIDIA GPU (需安装 CUDA Toolkit) 或 Apple M 系列芯片。\n*   **前置依赖**:\n    *   **Rust**: 必须安装最新稳定版 Rust 工具链。\n    *   **CUDA** (仅限 NVIDIA): 确保 `nvcc` 在路径中且版本与显卡驱动兼容。\n    *   **Xcode Command Line Tools** (仅限 macOS): 用于 Metal 开发。\n\n安装 Rust (如未安装):\n```bash\ncurl --proto '=https' --tlsv1.2 -sSf https:\u002F\u002Fsh.rustup.rs | sh\nsource $HOME\u002F.cargo\u002Fenv\n```\n\n> **国内加速建议**:\n> 如果下载 Rust 组件缓慢，可配置国内镜像源：\n> ```bash\n> export RUSTUP_DIST_SERVER=https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Frustup\n> export RUSTUP_UPDATE_ROOT=https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Frustup\u002Frustup\n> ```\n\n## 安装步骤\n\nLuminal 作为一个 Rust crate 发布，你可以直接在项目中添加依赖，或克隆仓库运行示例。\n\n### 方式一：作为依赖库安装\n在你的 Rust 项目 `Cargo.toml` 中添加：\n\n```toml\n[dependencies]\nluminal = \"0.2\" # 请根据 crates.io 最新版本调整\n```\n\n### 方式二：克隆源码运行示例\n获取源代码并验证环境：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal.git\ncd luminal\ncargo build --release\n```\n\n## 基本使用\n\nLuminal 采用“先定义计算图，后编译执行”的模式。以下是最小化的使用示例，展示如何创建张量、构建矩阵乘法图、编译并运行。\n\n```rust\nuse luminal::prelude::*;\n\nfn main() {\n    \u002F\u002F 1. 创建计算图\n    let mut cx = Graph::new();\n    \n    \u002F\u002F 定义输入张量形状\n    let a = cx.tensor((3, 1));\n    let b = cx.tensor((1, 4));\n\n    \u002F\u002F 定义操作：矩阵乘法并标记为输出\n    let c = a.matmul(b).output();\n\n    \u002F\u002F 2. 编译阶段\n    \u002F\u002F 构建搜索空间并使用原生运行时进行搜索优化\n    cx.build_search_space::\u003CNativeRuntime>();\n    let mut rt = cx.search(NativeRuntime::default(), 1);\n\n    \u002F\u002F 3. 设置输入数据\n    rt.set_data(a, vec![1.0, 2.0, 3.0]);\n    rt.set_data(b, vec![1.0, 2.0, 3.0, 3.0]);\n\n    \u002F\u002F 4. 执行计算\n    rt.execute(&cx.dyn_map);\n\n    \u002F\u002F 5. 获取并打印结果\n    println!(\"Result: {:?}\", rt.get_f32(c));\n}\n```\n\n### 运行大模型示例 (Llama 3 8B)\n如果你已配置好 CUDA 环境，可以直接运行官方提供的 Llama 3 示例：\n\n```bash\ncd .\u002Fexamples\u002Fllama\ncargo run --release\n```\n\n> **注意**: 首次运行时编译器会进行搜索和优化，可能需要一定时间，后续运行将直接使用编译好的内核。","某边缘计算团队需要在资源受限的本地服务器上实时运行 Llama 3 8B 模型，以处理高频客户咨询，但受限于推理延迟和部署复杂度。\n\n### 没有 luminal 时\n- **推理速度瓶颈**：传统框架在消费级显卡上运行量化模型时，无法充分挖掘硬件算力，导致响应延迟高达数秒，无法满足实时交互需求。\n- **部署环境臃肿**：必须依赖庞大的 Docker 容器、复杂的 Python 虚拟环境及特定版本的 CUDA 驱动，运维排查问题如同“大海捞针”。\n- **优化手段有限**：缺乏自动化的算子融合能力，开发者需手动编写繁琐的 CUDA 内核才能实现类似 Flash Attention 的加速，开发周期极长。\n- **资源占用过高**：层层抽象带来巨大的内存开销和间接调用损耗，使得小显存设备根本无法加载大模型。\n\n### 使用 luminal 后\n- **极致推理性能**：luminal 通过搜索式编译自动推导最优执行路径，在单卡上即可让 Q8 量化的 Llama 3 8B 跑满理论性能的 80%，实现毫秒级响应。\n- **原生极简部署**：基于 Rust 静态链接特性，luminal 直接交互底层 API，无需 Docker 或虚拟环境，单个二进制文件即可在任何目标机器上“开箱即用”。\n- **自动复杂优化**：仅需定义基础计算图，luminal 能自动发现并应用复杂的算子重写策略（如自动衍生 Flash Attention），彻底解放人力。\n- **高效资源利用**：去除所有中间抽象层，显著降低内存占用与调用开销，让边缘设备也能流畅运行大型语言模型。\n\nluminal 通过将编译器搜索技术与原生系统级性能相结合，让大模型推理真正实现了“光速”落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fluminal-ai_luminal_e9409916.png","luminal-ai","Luminal","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fluminal-ai_98e24351.png",null,"founders@luminal.com","luminal_ai","https:\u002F\u002Fluminal.com","https:\u002F\u002Fgithub.com\u002Fluminal-ai",[85,89,93],{"name":86,"color":87,"percentage":88},"Rust","#dea584",92.6,{"name":90,"color":91,"percentage":92},"Python","#3572A5",7.3,{"name":94,"color":95,"percentage":96},"Shell","#89e051",0.1,2790,199,"2026-04-02T16:32:52","Apache-2.0",4,"Linux, macOS","NVIDIA GPU (支持 CUDA) 或 Apple Silicon (支持 Metal)。具体型号未说明，但示例提到在 H100 上运行 Llama 3 8B。","未说明",{"notes":106,"python":107,"dependencies":108},"该工具主要使用 Rust 编写，无需 Python 环境、Docker 容器或虚拟环境。它通过直接调用 CUDA 或 Metal API 进行编译和运行。目前支持全精度和半精度推理及训练。示例中包含 Llama 3、Phi 3 等模型的实现。Windows 支持未在文档中明确提及。","不需要 (基于 Rust)",[109,110,111],"Rust (cargo)","CUDA API (针对 NVIDIA)","Metal API (针对 macOS)",[26,13],"2026-03-27T02:49:30.150509","2026-04-06T08:52:34.371280",[116,121,126,131,136,141],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},11858,"Luminal 如何处理复杂的符号代数表达式简化问题？","项目已迁移使用 'egg' 库来解决复杂表达式简化问题。在 egg 中，用户可以定义成本函数（默认为 AstSize），通过设置特定操作的成本为极大值来消除不需要的操作。此外，为了优化性能，项目计划采用类似 egg 的后缀表示法（RPN），允许项引用其他项以复用公共子表达式，从而加速从 egg 到 Luminal 的转换。","https:\u002F\u002Fgithub.com\u002Fluminal-ai\u002Fluminal\u002Fissues\u002F47",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},11859,"Luminal 的训练和自动微分（Autograd）是如何实现的？是否需要引入通用的自动微分库？","不需要引入通用的自动微分库。由于 Luminal 的原语操作（primitive ops）范围有限且封闭，其自动微分编译器非常轻量（约 150 行代码）。训练过程通过编译一个包含反向图的完整图来实现，编译器会自动推导梯度节点并将其添加到权重节点以生成新权重。这种方式足以处理所有模型节点的梯度计算，无需依赖如 Enzyme 等外部工具。","https:\u002F\u002Fgithub.com\u002Fluminal-ai\u002Fluminal\u002Fissues\u002F22",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},11860,"在 M3 Mac 上运行 Llama 示例时出现无意义的输出或重复特殊令牌，如何解决？","该问题与 Softmax 操作有关。维护者已移除了 Softmax 操作，因为它仅带来几毫秒的性能提升，且其功能即将被 Flash Attention 取代。更新代码库后，Llama 模型的输出精度应得到改善。如果仍遇到问题，请确保使用的是最新版本的 metal crate。","https:\u002F\u002Fgithub.com\u002Fluminal-ai\u002Fluminal\u002Fissues\u002F51",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},11861,"在 M2 Pro 或 M3 Mac 上运行 Luminal 时，Metal GPU 利用率低或模型加载缓慢怎么办？","这通常是由于内存不足导致模型被交换到 Swap 分区，但系统监控工具（如 Activity Monitor）可能未正确报告内存使用情况。建议检查可用内存（例如 16GB 机型运行大模型可能吃力），并尝试使用量化版本（如 Q8）的模型。此外，确保已重新构建最新的 metal crate，旧版本可能存在利用率问题。可以使用 asitop 等工具辅助监控。","https:\u002F\u002Fgithub.com\u002Fluminal-ai\u002Fluminal\u002Fissues\u002F54",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},11862,"在 M3 Mac 上运行 Phi 模型示例时没有产生任何输出文本，原因是什么？","如果程序运行完成但没有生成预期的文本内容，或者生成的内容质量较差，这通常不是代码错误，而是模型本身的准确性问题（Model Accuracy Issue）。在某些情况下，Phi 模型在特定硬件或配置下的表现可能不如 Llama 模型精确。建议对比测试 Llama 模型以确认是否为特定模型的问题，并确保使用的是经过验证的权重文件。","https:\u002F\u002Fgithub.com\u002Fluminal-ai\u002Fluminal\u002Fissues\u002F55",{"id":142,"question_zh":143,"answer_zh":144,"source_url":120},11863,"如何在 Luminal 中自定义操作的成本以优化表达式重写？","如果使用 egg 库进行表达式重写，可以通过实现 `CostFunction` trait 来自定义成本。例如，若想消除微分或积分操作，可将其成本设为极大值（如 1000），而其他操作设为 1。示例代码如下：\n```rust\npub struct MathCostFn;\nimpl egg::CostFunction\u003CMath> for MathCostFn {\n    type Cost = usize;\n    fn cost\u003CC>(&mut self, enode: &Math, mut costs: C) -> Self::Cost\n    where\n        C: FnMut(Id) -> Self::Cost,\n    {\n        let op_cost = match enode {\n            Math::Diff(..) => 1000,\n            Math::Integral(..) => 1000,\n            _ => 1,\n        };\n        enode.fold(op_cost, |sum, i| sum + costs(i))\n    }\n}\n```",[146,151],{"id":147,"version":148,"summary_zh":149,"released_at":150},62307,"0.2","## 变更内容\n全部。\n\n此外：\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F4 中实现了简单的池化操作\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F7 中添加了 1D 卷积模块\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F8 中实现了 2D 卷积\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F9 中增加了对 Mistral 的支持\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F10 中编写了一个真正可用的用于下载 Mistral 模型的 Shell 脚本\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F11 中修复了 Swish 激活函数\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F12 中对 f16 矩阵乘法进行了小幅优化，并延长了用于测试的提示和生成的 token 数量\n* @TheSeamau5 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F17 中对主程序进行了一些小改进\n* @jafioti 在 https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fpull\u002F24 中实现了 Q8 权重量化\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fjafioti\u002Fluminal\u002Fcompare\u002F0.1...0.2","2024-03-01T23:10:25",{"id":152,"version":153,"summary_zh":154,"released_at":155},62308,"0.1","这是 luminal 的首个发布版本，luminal 是一个专注于静态计算和激进优化的深度学习框架。\n\n本次发布标志着第一个可用版本的诞生。目前，examples\u002Fllama 示例可以完整运行 Llama 1 7B 模型并生成有效文本，不过运行速度非常慢。\n\n未来的工作将显著提升其性能。","2023-08-11T19:19:12"]