[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Tiramisu-Compiler--tiramisu":3,"tool-Tiramisu-Compiler--tiramisu":61},[4,18,28,37,45,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":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},10095,"AutoGPT","Significant-Gravitas\u002FAutoGPT","AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台，核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点，让用户只需设定目标，AI 即可自主规划步骤、调用工具并持续运行直至完成任务。\n\n无论是开发者、研究人员，还是希望提升工作效率的普通用户，都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体；研究人员能基于开源架构探索多智能体协作机制；而非技术背景用户也可直接选用预置的智能体模板，立即投入实际工作场景。\n\nAutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑，每个块负责单一动作，灵活且易于调试。同时，平台支持本地自托管与云端部署两种模式，兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本，即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛，让人人都能成为 AI 的创造者与受益者。",183572,"2026-04-20T04:47:55",[13,36,27,14,15],"语言模型",{"id":38,"name":39,"github_repo":40,"description_zh":41,"stars":42,"difficulty_score":10,"last_commit_at":43,"category_tags":44,"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":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"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 真正成长为懂上",161692,"2026-04-20T11:33:57",[14,13,36],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"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":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":78,"languages":79,"stars":120,"forks":121,"last_commit_at":122,"license":123,"difficulty_score":124,"env_os":125,"env_gpu":126,"env_ram":127,"env_deps":128,"category_tags":142,"github_topics":143,"view_count":24,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":153,"updated_at":154,"faqs":155,"releases":184},10194,"Tiramisu-Compiler\u002Ftiramisu","tiramisu","A polyhedral compiler for expressing fast and portable data parallel algorithms","Tiramisu 是一款专为高性能计算设计的多面体编译器，旨在帮助开发者轻松编写既快速又具备高度可移植性的数据并行算法。在深度学习、图像处理、线性代数及机器学习等领域，算法往往需要在 CPU、GPU、FPGA 或分布式集群等多种硬件上高效运行，而手动针对不同架构优化代码不仅耗时且极易出错。Tiramisu 正是为了解决这一痛点而生，它允许用户将算法逻辑与具体的优化策略分离开来。\n\n通过简洁的 C++ API，用户只需描述计算任务本身（即\"Tiramisu 表达式”），随后即可灵活指定并行化、向量化等优化指令。其核心优势在于基于强大的“多面体模型”，能够自动探索并应用复杂的循环优化和数据布局变换，从而生成针对特定硬件极致优化的底层代码。目前，Tiramisu 已支持多核 X86 处理器、Nvidia GPU、Xilinx FPGA 以及基于 MPI 的分布式系统，并便于扩展至新架构。\n\n这款工具特别适合从事高性能计算研究的科研人员、系统级软件工程师以及需要跨平台部署复杂算法的开发者。如果你希望在不牺牲性能的前提下提升代码的通用性，或者想深入探索编译器优化技术，Tiramisu 提供了一个","Tiramisu 是一款专为高性能计算设计的多面体编译器，旨在帮助开发者轻松编写既快速又具备高度可移植性的数据并行算法。在深度学习、图像处理、线性代数及机器学习等领域，算法往往需要在 CPU、GPU、FPGA 或分布式集群等多种硬件上高效运行，而手动针对不同架构优化代码不仅耗时且极易出错。Tiramisu 正是为了解决这一痛点而生，它允许用户将算法逻辑与具体的优化策略分离开来。\n\n通过简洁的 C++ API，用户只需描述计算任务本身（即\"Tiramisu 表达式”），随后即可灵活指定并行化、向量化等优化指令。其核心优势在于基于强大的“多面体模型”，能够自动探索并应用复杂的循环优化和数据布局变换，从而生成针对特定硬件极致优化的底层代码。目前，Tiramisu 已支持多核 X86 处理器、Nvidia GPU、Xilinx FPGA 以及基于 MPI 的分布式系统，并便于扩展至新架构。\n\n这款工具特别适合从事高性能计算研究的科研人员、系统级软件工程师以及需要跨平台部署复杂算法的开发者。如果你希望在不牺牲性能的前提下提升代码的通用性，或者想深入探索编译器优化技术，Tiramisu 提供了一个强大而灵活的实验与生产平台。","[![MIT licensed](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](.\u002FLICENSE)\n\u003C!--- [![Build Status](https:\u002F\u002Ftravis-ci.org\u002FTiramisu-Compiler\u002Ftiramisu.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002FTiramisu-Compiler\u002Ftiramisu)--->\n\n## Overview\n\nTiramisu is a compiler for expressing fast and portable data parallel computations.  It provides a simple C++ API for expressing algorithms (`Tiramisu expressions`) and how these algorithms should be optimized by the compiler.  Tiramisu can be used in areas such as linear and tensor algebra, deep learning, image processing, stencil computations and machine learning.\n\nThe Tiramisu compiler is based on the polyhedral model thus it can express a large set of loop optimizations and data layout transformations.  Currently it targets (1) multicore X86 CPUs, (2) Nvidia GPUs, (3) Xilinx FPGAs (Vivado HLS) and (4) distributed machines (using MPI).  It is designed to enable easy integration of code generators for new architectures.\n\n### Example\n\nThe following is an example of a Tiramisu program specified using the C++ API.\n\n```cpp\n\u002F\u002F C++ code with a Tiramisu expression.\n#include \"tiramisu\u002Ftiramisu.h\"\nusing namespace tiramisu;\n\nvoid generate_code()\n{\n    \u002F\u002F Specify the name of the function that you want to create.\n    tiramisu::init(\"foo\");\n\n    \u002F\u002F Declare two iterator variables (i and j) such that 0\u003C=i\u003C100 and 0\u003C=j\u003C100.\n    var i(\"i\", 0, 100), j(\"j\", 0, 100);\n\n    \u002F\u002F Declare a Tiramisu expression (algorithm) that is equivalent to the following C code\n    \u002F\u002F for (i=0; i\u003C100; i++)\n    \u002F\u002F   for (j=0; j\u003C100; j++)\n    \u002F\u002F     C(i,j) = 0;\n    computation C({i,j}, 0);\n    \n    \u002F\u002F Specify optimizations\n    C.parallelize(i);\n    C.vectorize(j, 4);\n    \n    buffer b_C(\"b_C\", {100, 100}, p_int32, a_output);\n    C.store_in(&b_C);\n\n    \u002F\u002F Generate code\n    C.codegen({&b_C}, \"generated_code.o\");\n}\n```\n\n## Building Tiramisu from Sources\n\nThis section provides a description of how to build Tiramisu.  The installation instructions below have been tested on Linux Ubuntu (18.04) and MacOS (13.0.1) but should work on other Linux and MacOS versions.\n\n### Prerequisites\n###### Required\n1) [CMake](https:\u002F\u002Fcmake.org\u002F): version 3.22 or greater.\n\n2) [Autoconf](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fautoconf\u002F) and [libtool](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Flibtool\u002F).\n\n3) [Ninja](https:\u002F\u002Fninja-build.org\u002F).\n  \n###### Optional\n1) [OpenMPI](https:\u002F\u002Fwww.open-mpi.org\u002F) and [OpenSSh](https:\u002F\u002Fwww.openssh.com\u002F): if you want to generate and run distributed code (MPI).\n2) [CUDA Toolkit](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-toolkit): if you want to generate and run CUDA code.\n\n3) Python 3.8 or higher if you want to use the python bindings. (Along with Pybind 2.10.2, Cython, and Numpy).\n\n\n### Build Methods\n\nThere are 3 ways to build Tiramisu:\n1) From [spack](https:\u002F\u002Fpackages.spack.io\u002Fpackage.html?name=tiramisu), which will build everything from source for you.\n2) From source, but using system package managers for dependencies. \n3) Purely from source with our install script.\n\nThe last two only differ only in how they setup the dependenies.\n\n#### Method 1: Build from spack\n\nInstall spack and then run:\n```bash\nspack install tiramisu\n```\n\n#### Method 2: Build from source but install dependencies using system package managers\n\nThere are two steps:\n1) Install the dependencies (either using Homebrew or using Apt).\n2) Use Cmake to build Tiramisu.\n\n##### Install the dependencies\n\n###### Install the dependencies using Homebrew\nIf you are on MacOS and using Homebrew, you can run the following commands to setup the dependencies:\n```bash\nbrew install cmake\nbrew install llvm@14\nbrew install halide\nbrew install isl\nbrew link halide\nbrew link isl\n```\n\nIf any of these ask you to update your path, do so. For example, using the following command, you can find the isl include and library directories:\n```bash\nbrew info isl\nISL_INCLUDE_DIRECTORY=..\nISL_LIB_DIRECTORY=..\n```\t\t\n\n###### Install the dependencies using Apt\n\nIf you are on Ubuntu\u002FDebian, you can use apt to setup the dependencies:\n\n```bash\nwget https:\u002F\u002Fapt.llvm.org\u002Fllvm.sh\nchmod +x llvm.sh\nsudo .\u002Fllvm.sh 14 all\nsudo apt-get install liblld-14-dev llvm-14-runtime\nsudo apt-get install libllvm14 llvm-14-dev\nsudo apt-get install llvm14-*\nsudo apt-get install halide\nsudo apt-get install libisl-dev\n```\n\t\t\n\t\t\n Using the following command, you can find the isl include and library directories:\n```bash\ndpkg -L libisl-dev\nISL_INCLUDE_DIRECTORY=..\nISL_LIB_DIRECTORY=..\n```\n\t\t\n##### Building Tiramisu with cmake \n\n1) Get Tiramisu\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu.git\ncd tiramisu\nmkdir build\n```\n\n2) Setup the configure.cmake. In particular, choose if you want to use a GPU or MPI setup. Choose if you want to use the python bindings. Choose if you want to us the auto scheduler. You may need to add other options to support these.\n\n3) Configure:\n\n```bash\ncmake . -B build -DISL_LIB_DIRECTORY=$ISL_LIB_DIRECTORY -DISL_INCLUDE_DIRECTORY=$ISL_INCLUDE_DIRECTORY -DPython3_EXECUTABLE=`which python3`\n```\n\t\t\nIf you want to install, add `CMAKE_INSTALL_PREFIX`. If you are installing the python bindings, add `Tiramisu_INSTALL_PYTHONDIR` to tell Tiramisu where to place a python package. You will need add these install locations to the relevant path variables such as `PYTHONPATH` and `LD_LIBRARY_PATH`.\n\n4) Build:\n```bash\ncmake --build build\n```\n\nYou can also install if you want via `cmake --install`.\n\t\t\n\n#### Method 3: Build from source, but install dependencies using our script\n\nThere are two steps:\n1) Install the dependencies using our script.\n2) Use Cmake to build Tiramisu.\n\n##### Building Dependencies via Script\n1) Get Tiramisu\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu.git\ncd tiramisu\n```\n2) Get and install Tiramisu submodules (ISL, LLVM and Halide).  This step may take between few minutes to few hours (downloading and compiling LLVM is time consuming).\n```bash\n.\u002Futils\u002Fscripts\u002Finstall_submodules.sh \u003CTIRAMISU_ROOT_DIR>\n```\n    - Note: Make sure `\u003CTIRAMISU_ROOT_DIR>` is absolute path!\n\n3) Optional: configure the tiramisu build by editing `configure.cmake`.  Needed only if you want to generate MPI or GPU code, run the BLAS benchmarks, or if you want to build the autoscheduler module.  A description of what each variable is and how it should be set is provided in comments in `configure.cmake`.\n\n    - To use the GPU backend, set `USE_GPU` to `TRUE`. If the CUDA library is not found automatically while building Tiramisu, the user will be prompt to provide the path to the CUDA library.\n    - To use the distributed backend, set `USE_MPI` to `TRUE`. If the MPI library is not found automatically, set the following variables: MPI_INCLUDE_DIR, MPI_LIB_DIR, and MPI_LIB_FLAGS.\n    - To build the autoscheduler module, set `USE_AUTO_SCHEDULER` to `TRUE`.\n\t\n4) Add Halide's cmake to the `CMAKE_PREFIX_PATH`: \n```bash\nexport CMAKE_PREFIX_PATH=\u003CTIRAMISU_ROOT_DIR>\u002F3rdParty\u002FHalide\u002Fbuild\u002F:$CMAKE_PREFIX_PATH\n```\n5) Build the main Tiramisu library\n```bash\nmkdir build\ncd build\ncmake ..\ncmake --build .\n```\n        \n6) If you want to build the autoscheduler module, set `USE_AUTO_SCHEDULER` to `TRUE` in `configure.cmake`, and after building Tiramisu :\n```bash\nmake tiramisu_auto_scheduler\n```\n## Old Tiramisu on a Virtual Machine\nUsers can use the Tiramisu [virtual machine disk image](http:\u002F\u002Fgroups.csail.mit.edu\u002Fcommit\u002Fsoftware\u002FTiramisuVM.zip).  The image is created using virtual box (5.2.12) and has Tiramisu already pre-compiled and ready for use. It was compiled using the same instructions in this README file.\n\nOnce you download the image, unzip it and use virtual box to open the file 'TiramisuVM.vbox'.\n\nOnce the virtual machine has started, open a terminal, then go to the Tiramisu directory\n\n    cd \u002Fhome\u002Fb\u002Ftiramisu\u002F\n    \nIf asked for a username\u002Fpassword\n\n    Username:b\n    Password:b\n\n## Getting Started\n- Build [Tiramisu](https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002F).\n- Read the [Tutorials](https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002Fblob\u002Fmaster\u002Ftutorials\u002FREADME.md).\n- Read the [Tiramisu Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.10694).\n- Subscribe to Tiramisu [mailing list](https:\u002F\u002Flists.csail.mit.edu\u002Fmailman\u002Flistinfo\u002Ftiramisu).\n- Read the compiler [internal documentation](https:\u002F\u002Ftiramisu-compiler.github.io\u002Fdoc\u002F) (if you want to contribute to the compiler).\n\n\n## Run Tests\n\nTo run all the tests, assuming you are in the build\u002F directory\n\n    make test\n\nor\n\n    ctest\n    \nTo run only one test (test_01 for example)\n\n    ctest -R 01\n\nThis will compile and run the code generator and then the wrapper.\n\nTo view the output of a test pass the `--verbose` option to `ctest`.\n","[![MIT 许可](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](.\u002FLICENSE)\n\u003C!--- [![构建状态](https:\u002F\u002Ftravis-ci.org\u002FTiramisu-Compiler\u002Ftiramisu.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002FTiramisu-Compiler\u002Ftiramisu)--->\n\n## 概述\n\nTiramisu 是一款用于表达快速且可移植的数据并行计算的编译器。它提供了一个简单的 C++ API，用于描述算法（称为“Tiramisu 表达式”）以及如何通过编译器对这些算法进行优化。Tiramisu 可广泛应用于线性代数与张量代数、深度学习、图像处理、模板计算和机器学习等领域。\n\nTiramisu 编译器基于多面体模型，因此能够表达大量的循环优化和数据布局变换。目前，它支持的目标平台包括：(1) 多核 x86 CPU；(2) NVIDIA GPU；(3) Xilinx FPGA（使用 Vivado HLS）；以及 (4) 分布式机器（使用 MPI）。该编译器的设计旨在方便集成针对新架构的代码生成器。\n\n### 示例\n\n以下是使用 C++ API 指定的一个 Tiramisu 程序示例：\n\n```cpp\n\u002F\u002F 使用 Tiramisu 表达式的 C++ 代码。\n#include \"tiramisu\u002Ftiramisu.h\"\nusing namespace tiramisu;\n\nvoid generate_code()\n{\n    \u002F\u002F 指定要创建的函数名称。\n    tiramisu::init(\"foo\");\n\n    \u002F\u002F 声明两个循环变量 i 和 j，满足 0\u003C=i\u003C100 且 0\u003C=j\u003C100。\n    var i(\"i\", 0, 100), j(\"j\", 0, 100);\n\n    \u002F\u002F 声明一个 Tiramisu 表达式（算法），等价于以下 C 代码：\n    \u002F\u002F for (i=0; i\u003C100; i++)\n    \u002F\u002F   for (j=0; j\u003C100; j++)\n    \u002F\u002F     C(i,j) = 0;\n    computation C({i,j}, 0);\n    \n    \u002F\u002F 指定优化策略\n    C.parallelize(i);\n    C.vectorize(j, 4);\n    \n    buffer b_C(\"b_C\", {100, 100}, p_int32, a_output);\n    C.store_in(&b_C);\n\n    \u002F\u002F 生成代码\n    C.codegen({&b_C}, \"generated_code.o\");\n}\n```\n\n## 从源码构建 Tiramisu\n\n本节将介绍如何从源码构建 Tiramisu。以下安装说明已在 Linux Ubuntu (18.04) 和 macOS (13.0.1) 上测试通过，但也应适用于其他版本的 Linux 和 macOS。\n\n### 先决条件\n###### 必需\n1) [CMake](https:\u002F\u002Fcmake.org\u002F)：版本 3.22 或更高。\n\n2) [Autoconf](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fautoconf\u002F) 和 [libtool](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Flibtool\u002F)。\n\n3) [Ninja](https:\u002F\u002Fninja-build.org\u002F)。\n\n###### 可选\n1) [OpenMPI](https:\u002F\u002Fwww.open-mpi.org\u002F) 和 [OpenSSH](https:\u002F\u002Fwww.openssh.com\u002F)：如果您希望生成并运行分布式代码（MPI）。\n\n2) [CUDA 工具包](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-toolkit)：如果您希望生成并运行 CUDA 代码。\n\n3) Python 3.8 或更高版本：如果您希望使用 Python 绑定。（同时需要 Pybind 2.10.2、Cython 和 NumPy）。\n\n### 构建方法\n\n构建 Tiramisu 有三种方式：\n1) 通过 [spack](https:\u002F\u002Fpackages.spack.io\u002Fpackage.html?name=tiramisu) 安装，它会为你从源码编译所有依赖。\n2) 从源码编译，但使用系统包管理器来安装依赖。\n3) 完全从源码编译，并使用我们的安装脚本。\n\n后两种方法的区别仅在于如何设置依赖项。\n\n#### 方法 1：通过 spack 构建\n\n先安装 spack，然后运行：\n```bash\nspack install tiramisu\n```\n\n#### 方法 2：从源码编译，但使用系统包管理器安装依赖\n\n此方法分为两个步骤：\n1) 使用 Homebrew 或 Apt 安装依赖。\n2) 使用 CMake 构建 Tiramisu。\n\n##### 安装依赖\n\n###### 使用 Homebrew 安装依赖\n\n如果你在 macOS 上并使用 Homebrew，可以运行以下命令来设置依赖：\n```bash\nbrew install cmake\nbrew install llvm@14\nbrew install halide\nbrew install isl\nbrew link halide\nbrew link isl\n```\n\n如果这些命令提示你更新 PATH，请按照提示操作。例如，你可以通过以下命令找到 isl 的头文件和库目录：\n```bash\nbrew info isl\nISL_INCLUDE_DIRECTORY=..\nISL_LIB_DIRECTORY=..\n```\n\n###### 使用 Apt 安装依赖\n\n如果你在 Ubuntu\u002FDebian 上，可以使用 apt 来安装依赖：\n```bash\nwget https:\u002F\u002Fapt.llvm.org\u002Fllvm.sh\nchmod +x llvm.sh\nsudo .\u002Fllvm.sh 14 all\nsudo apt-get install liblld-14-dev llvm-14-runtime\nsudo apt-get install libllvm14 llvm-14-dev\nsudo apt-get install llvm14-*\nsudo apt-get install halide\nsudo apt-get install libisl-dev\n```\n\n使用以下命令可以找到 isl 的头文件和库目录：\n```bash\ndpkg -L libisl-dev\nISL_INCLUDE_DIRECTORY=..\nISL_LIB_DIRECTORY=..\n```\n\n##### 使用 CMake 构建 Tiramisu\n\n1) 获取 Tiramisu 源码：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu.git\ncd tiramisu\nmkdir build\n```\n\n2) 配置 `configure.cmake` 文件。特别需要选择是否使用 GPU 或 MPI 设置，是否启用 Python 绑定，以及是否启用自动调度器。你可能还需要添加其他选项来支持这些功能。\n\n3) 进行配置：\n```bash\ncmake . -B build -DISL_LIB_DIRECTORY=$ISL_LIB_DIRECTORY -DISL_INCLUDE_DIRECTORY=$ISL_INCLUDE_DIRECTORY -DPython3_EXECUTABLE=`which python3`\n```\n\n如果你想进行安装，可以添加 `CMAKE_INSTALL_PREFIX`。如果要安装 Python 绑定，还需添加 `Tiramisu_INSTALL_PYTHONDIR`，以指定 Python 包的安装路径。你需要将这些安装路径添加到相关的环境变量中，如 `PYTHONPATH` 和 `LD_LIBRARY_PATH`。\n\n4) 编译：\n```bash\ncmake --build build\n```\n\n如果需要安装，可以使用 `cmake --install` 命令。\n\n#### 方法 3：从源码编译，但使用我们的脚本安装依赖\n\n此方法同样分为两个步骤：\n1) 使用我们的脚本安装依赖。\n2) 使用 CMake 构建 Tiramisu。\n\n##### 通过脚本安装依赖\n\n1) 获取 Tiramisu 源码：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu.git\ncd tiramisu\n```\n\n2) 获取并安装 Tiramisu 的子模块（ISL、LLVM 和 Halide）。这一步可能需要几分钟到几小时不等，因为下载和编译 LLVM 需要较长时间。\n```bash\n.\u002Futils\u002Fscripts\u002Finstall_submodules.sh \u003CTIRAMISU_ROOT_DIR>\n```\n    - 注意：请确保 `\u003CTIRAMISU_ROOT_DIR>` 是绝对路径！\n\n3) 可选：编辑 `configure.cmake` 文件来配置 Tiramisu 的构建。只有当你需要生成 MPI 或 GPU 代码、运行 BLAS 基准测试，或者想要构建自动调度器模块时，才需要进行此步骤。`configure.cmake` 文件中的注释详细说明了每个变量的作用及如何设置。\n\n    - 若要使用 GPU 后端，需将 `USE_GPU` 设置为 `TRUE`。如果在编译 Tiramisu 时未能自动找到 CUDA 库，系统会提示你提供 CUDA 库的路径。\n    - 若要使用分布式后端，需将 `USE_MPI` 设置为 `TRUE`。如果未自动找到 MPI 库，则需要设置 `MPI_INCLUDE_DIR`、`MPI_LIB_DIR` 和 `MPI_LIB_FLAGS` 等变量。\n    - 若要构建自动调度器模块，需将 `USE_AUTO_SCHEDULER` 设置为 `TRUE`。\n\n4) 将 Halide 的 CMake 路径添加到 `CMAKE_PREFIX_PATH`：\n```bash\nexport CMAKE_PREFIX_PATH=\u003CTIRAMISU_ROOT_DIR>\u002F3rdParty\u002FHalide\u002Fbuild\u002F:$CMAKE_PREFIX_PATH\n```\n\n5) 构建主 Tiramisu 库：\n```bash\nmkdir build\ncd build\ncmake ..\ncmake --build .\n```\n\n6) 如果你想构建自动调度器模块，在 `configure.cmake` 中将 `USE_AUTO_SCHEDULER` 设置为 `TRUE`，并在完成 Tiramisu 构建后执行：\n```bash\nmake tiramisu_auto_scheduler\n```\n\n## 在虚拟机上使用旧版 Tiramisu\n\n用户可以使用 Tiramisu 的 [虚拟机磁盘镜像](http:\u002F\u002Fgroups.csail.mit.edu\u002Fcommit\u002Fsoftware\u002FTiramisuVM.zip)。该镜像是使用 VirtualBox (5.2.12) 创建的，其中已预编译好 Tiramisu，可以直接使用。编译时使用的指令与本 README 文件中的说明一致。\n\n下载镜像后，解压并使用 VirtualBox 打开 `TiramisuVM.vbox` 文件。\n\n虚拟机启动后，打开终端并进入 Tiramisu 目录：\n```bash\ncd \u002Fhome\u002Fb\u002Ftiramisu\u002F\n```\n\n如果提示输入用户名\u002F密码：\n```bash\n用户名：b\n密码：b\n```\n\n## 开始使用\n\n- 构建 [Tiramisu](https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002F)。\n- 阅读 [教程](https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002Fblob\u002Fmaster\u002Ftutorials\u002FREADME.md)。\n- 阅读 [Tiramisu 论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1804.10694)。\n- 订阅 Tiramisu [邮件列表](https:\u002F\u002Flists.csail.mit.edu\u002Fmailman\u002Flistinfo\u002Ftiramisu)。\n- 阅读编译器的 [内部文档](https:\u002F\u002Ftiramisu-compiler.github.io\u002Fdoc\u002F)（如果你打算为编译器贡献代码）。\n\n## 运行测试\n\n假设你在 `build\u002F` 目录下，运行所有测试：\n```bash\nmake test\n```\n或\n```bash\nctest\n```\n\n若只想运行单个测试（例如 test_01），可以执行：\n```bash\nctest -R 01\n```\n\n这将编译并运行代码生成器和包装器。\n\n要查看测试的详细输出，可以在 `ctest` 命令中添加 `--verbose` 选项。","# Tiramisu 快速上手指南\n\nTiramisu 是一个用于表达快速且可移植的数据并行计算的编译器。它提供简单的 C++ API 来描述算法及其优化策略，支持多核 CPU、Nvidia GPU、Xilinx FPGA 以及分布式集群（MPI）。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux (推荐 Ubuntu 18.04+) 或 macOS (13.0.1+)\n- **构建工具**：CMake (≥3.22), Autoconf, libtool, Ninja\n\n### 前置依赖\n根据需求选择安装以下依赖：\n\n**必需依赖：**\n- CMake, Autoconf, libtool, Ninja\n- LLVM 14, Halide, ISL (Integer Set Library)\n\n**可选依赖（按需安装）：**\n- **GPU 支持**：CUDA Toolkit\n- **分布式支持**：OpenMPI, OpenSSH\n- **Python 绑定**：Python 3.8+, Pybind11 (2.10.2), Cython, Numpy\n\n> **提示**：国内用户可通过清华源或中科大源加速 `apt` 或 `brew` 依赖包的下载。\n\n## 安装步骤\n\n推荐使用 **方法二（使用系统包管理器安装依赖）**，适合大多数开发者。若需完全隔离环境或特定版本控制，可选择方法三。\n\n### 方法一：使用 Spack（最简单，全自动）\n如果你已安装 Spack，可直接一键安装：\n```bash\nspack install tiramisu\n```\n\n### 方法二：源码编译（使用系统包管理器安装依赖）\n\n#### 1. 安装依赖\n**macOS (Homebrew):**\n```bash\nbrew install cmake llvm@14 halide isl\nbrew link halide\nbrew link isl\n# 记录 ISL 路径（后续配置需要）\nbrew info isl\n```\n\n**Ubuntu\u002FDebian (Apt):**\n```bash\n# 安装 LLVM 14\nwget https:\u002F\u002Fapt.llvm.org\u002Fllvm.sh\nchmod +x llvm.sh\nsudo .\u002Fllvm.sh 14 all\nsudo apt-get install liblld-14-dev llvm-14-runtime libllvm14 llvm-14-dev llvm14-*\n\n# 安装其他依赖\nsudo apt-get install halide libisl-dev cmake ninja-build\n# 记录 ISL 路径（后续配置需要）\ndpkg -L libisl-dev\n```\n*执行上述命令后，请记下 `ISL_INCLUDE_DIRECTORY` 和 `ISL_LIB_DIRECTORY` 的具体路径。*\n\n#### 2. 克隆与配置\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu.git\ncd tiramisu\nmkdir build\n```\n\n配置 CMake（替换 `\u003CISL_LIB_DIR>` 和 `\u003CISL_INC_DIR>` 为上一步获取的实际路径）：\n```bash\ncmake . -B build \\\n  -DISL_LIB_DIRECTORY=\u003CISL_LIB_DIR> \\\n  -DISL_INCLUDE_DIRECTORY=\u003CISL_INC_DIR> \\\n  -DPython3_EXECUTABLE=$(which python3) \\\n  -DCMAKE_INSTALL_PREFIX=\u002Fusr\u002Flocal\n```\n*如需启用 GPU 或 MPI，需在 `configure.cmake` 中设置 `USE_GPU=TRUE` 或 `USE_MPI=TRUE` 并指定相应路径。*\n\n#### 3. 编译与安装\n```bash\ncmake --build build\nsudo cmake --install build\n```\n*若使用 Python 绑定，请将安装路径添加到 `PYTHONPATH` 和 `LD_LIBRARY_PATH`。*\n\n### 方法三：源码编译（使用脚本自动安装依赖）\n此方法会下载并编译 LLVM、Halide 等子模块，耗时较长，但环境更独立。\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu.git\ncd tiramisu\n\n# 安装子模块 (替换 \u003C绝对路径> 为当前目录的绝对路径)\n.\u002Futils\u002Fscripts\u002Finstall_submodules.sh \u003C绝对路径>\n\n# 配置 Halide 路径\nexport CMAKE_PREFIX_PATH=\u003C绝对路径>\u002F3rdParty\u002FHalide\u002Fbuild\u002F:$CMAKE_PREFIX_PATH\n\n# 编译\nmkdir build && cd build\ncmake ..\ncmake --build .\n```\n\n## 基本使用\n\n以下是一个最简单的 Tiramisu 程序示例，定义了一个双重循环并将结果并行化和向量化。\n\n### 示例代码 (`example.cpp`)\n\n```cpp\n\u002F\u002F C++ code with a Tiramisu expression.\n#include \"tiramisu\u002Ftiramisu.h\"\nusing namespace tiramisu;\n\nvoid generate_code()\n{\n    \u002F\u002F 1. 初始化函数名称\n    tiramisu::init(\"foo\");\n\n    \u002F\u002F 2. 声明迭代变量 (0\u003C=i\u003C100, 0\u003C=j\u003C100)\n    var i(\"i\", 0, 100), j(\"j\", 0, 100);\n\n    \u002F\u002F 3. 定义计算逻辑: C(i,j) = 0\n    computation C({i,j}, 0);\n    \n    \u002F\u002F 4. 指定优化策略\n    C.parallelize(i);       \u002F\u002F 在外层循环 i 上并行化\n    C.vectorize(j, 4);      \u002F\u002F 在内层循环 j 上进行宽度为 4 的向量化\n    \n    \u002F\u002F 5. 定义输出缓冲區\n    buffer b_C(\"b_C\", {100, 100}, p_int32, a_output);\n    C.store_in(&b_C);\n\n    \u002F\u002F 6. 生成目标代码\n    C.codegen({&b_C}, \"generated_code.o\");\n}\n```\n\n### 编译与运行\n将上述代码保存为 `.cpp` 文件，链接 Tiramisu 库进行编译：\n\n```bash\ng++ example.cpp -ltiramisu -lHalide -lisL -llvmCore -o example\n.\u002Fexample\n```\n*(具体链接参数需根据实际安装路径调整)*\n\n生成的 `generated_code.o` 即可集成到你的项目中调用。\n\n### 验证安装\n在构建目录下运行测试套件以验证安装是否成功：\n```bash\ncd build\nctest\n# 运行单个测试\nctest -R 01 --verbose\n```","某高性能计算团队正在开发一套用于实时气象预测的三维热扩散模拟系统，需要在多核 CPU 和 GPU 集群上高效运行复杂的嵌套循环算法。\n\n### 没有 tiramisu 时\n- 工程师必须手动为不同硬件（如 X86 CPU 与 Nvidia GPU）编写多套底层优化代码，维护成本极高且容易出错。\n- 调整循环分块大小或并行策略需要反复修改底层 C++\u002FCUDA 代码，每次尝试新优化方案都耗时数天。\n- 难以充分利用多面体模型自动挖掘深层循环依赖关系，导致内存访问模式不佳，缓存命中率低。\n- 算法逻辑与性能优化代码高度耦合，一旦更换目标架构，整个计算核心几乎需要重写。\n- 缺乏统一接口来描述数据布局变换，团队在适配分布式 MPI 环境时经常遇到数据对齐难题。\n\n### 使用 tiramisu 后\n- 只需通过简洁的 C++ API 定义一次算法逻辑，tiramisu 即可自动为多核 CPU、GPU 甚至 FPGA 生成对应的高效代码。\n- 开发者仅需调用 `parallelize` 或 `vectorize` 等高级指令即可切换优化策略，无需触碰底层实现，迭代效率提升十倍。\n- 基于多面体编译技术，tiramisu 自动推导最优循环变换与数据重排，显著减少缓存缺失，大幅提升计算吞吐量。\n- 算法表达与具体架构解耦，同一份源码可无缝部署到从单机服务器到大规模 MPI 集群的不同环境中。\n- 内置对数据布局变换的原生支持，轻松处理复杂的数据分区与对齐问题，简化了分布式场景下的开发流程。\n\ntiramisu 让科学家专注于算法本身，将繁琐的跨平台性能优化交给编译器自动完成，真正实现了“一次编写，处处高速运行”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTiramisu-Compiler_tiramisu_c941ead9.png","Tiramisu-Compiler","Tiramisu Compiler","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTiramisu-Compiler_1d8c0124.png","A compiler for expressing fast, portable and composable data parallel computations",null,"https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler",[80,84,88,92,96,100,104,108,112,116],{"name":81,"color":82,"percentage":83},"C++","#f34b7d",48.1,{"name":85,"color":86,"percentage":87},"Jupyter Notebook","#DA5B0B",37,{"name":89,"color":90,"percentage":91},"Python","#3572A5",8.9,{"name":93,"color":94,"percentage":95},"C","#555555",4.1,{"name":97,"color":98,"percentage":99},"Shell","#89e051",0.7,{"name":101,"color":102,"percentage":103},"CMake","#DA3434",0.5,{"name":105,"color":106,"percentage":107},"Cuda","#3A4E3A",0.4,{"name":109,"color":110,"percentage":111},"Makefile","#427819",0.2,{"name":113,"color":114,"percentage":115},"MATLAB","#e16737",0.1,{"name":117,"color":118,"percentage":119},"C#","#178600",0,958,137,"2026-04-13T15:32:59","MIT",4,"Linux (Ubuntu 18.04+), macOS (13.0.1+)","可选。若需生成 CUDA 代码，需安装 NVIDIA CUDA Toolkit（具体版本未说明，示例中提及 LLVM 14 环境）。","未说明（编译 LLVM 耗时较长，建议充足内存）",{"notes":129,"python":130,"dependencies":131},"该工具是一个编译器而非深度学习模型，主要用于生成高性能并行代码。支持多核 CPU、NVIDIA GPU、Xilinx FPGA 和分布式 MPI 环境。若使用脚本自动安装依赖（方法 3），编译 LLVM 可能需要数小时。如需使用 Python 绑定，需额外安装 Numpy。官方提供预编译的 VirtualBox 虚拟机镜像以供快速体验。","3.8+",[132,133,134,135,136,137,138,139,140,141],"CMake >= 3.22","LLVM 14","Halide","ISL (Integer Set Library)","Autoconf","libtool","Ninja","OpenMPI (可选，用于分布式)","Pybind11 2.10.2 (可选，用于 Python 绑定)","Cython (可选，用于 Python 绑定)",[14,36],[144,145,146,147,148,149,150,151,152],"compiler","library","optimization","linear-algebra","tensors","deep-neural-networks","machine-learning","code-generation","tensor-algebra","2026-03-27T02:49:30.150509","2026-04-20T21:04:35.895060",[156,161,165,170,175,180],{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},45752,"如何限制生成的 Tiramisu CPU 内核使用的核心数量？","直接在程序中调用 `halide_set_num_threads` 可能会导致未定义引用错误。根据社区经验，使用 OpenMP (`omp_set_num_threads`) 或 `std::thread` 可能无法达到预期效果，因为它们可能共享同一个 JIT 执行引擎，导致内核串行执行。\n\n推荐的解决方案是使用 **MPI (Message Passing Interface)** 启动多个 Tiramisu 内核。多个进程 (MPI) 会调用独立的执行引擎，从而可以真正同时启动和执行多个内核，并精确控制每个进程使用的 CPU 核心数。","https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002Fissues\u002F343",{"id":162,"question_zh":163,"answer_zh":164,"source_url":160},45753,"Tiramisu 是否支持直接生成 C 代码而不是对象文件？","Tiramisu 生成 Halide IR 并使用 Halide 进行 lowering。Halide 本身支持 C 代码生成器。\n\n要生成 C 代码，你需要查看 `tiramisu::codegen()` 函数，找到其中调用 Halide 生成对象文件的部分。你需要稍微修改该函数的选项，指示 Halide 生成 C 代码（这是 Halide 代码生成函数的一个选项）。具体配置方法请参考 Halide 的官方文档。",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},45754,"有哪些推荐的学习资源可以帮助理解 Tiramisu 中使用的 ISL (Integer Set Library) 代码？","掌握 ISL 和多面体编译模型的建议学习路径如下：\n1. **基础概念**：阅读 Barvinok 工具文档的第 1.2 章，了解集合 (sets) 和映射 (maps) 的概念：http:\u002F\u002Fbarvinok.gforge.inria.fr\u002Fbarvinok.pdf\n2. **Python 接口实践**：建议使用 ISLPy (ISL 的 Python 接口) 进行学习，比直接使用 C 接口更直观：https:\u002F\u002Fdocumen.tician.de\u002Fislpy\u002F\n3. **多面体模型教程**：访问 http:\u002F\u002Fpolycomp.gforge.inria.fr\u002F 获取相关教程。\n4. **学术论文**：访问 http:\u002F\u002Fpolyhedral.info\u002F 查找该领域的经典论文。\n5. **官方手册**：参考 ISL 用户手册：http:\u002F\u002Fisl.gforge.inria.fr\u002F","https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002Fissues\u002F279",{"id":171,"question_zh":172,"answer_zh":173,"source_url":174},45755,"如何在 Tiramisu 表达式中实现 XOR (异或) 运算符？","Tiramisu 当前的 `op_t` 枚举中没有直接内置 XOR 运算符。\n\n解决方法是：\n1. 编写一个标准的 C 函数来实现 XOR 逻辑。\n2. 在 Tiramisu 代码中使用 `o_call` 操作符来调用这个自定义的 C 函数。\nTiramisu 支持调用任意 C 函数，因此可以通过这种方式扩展不支持的操作符。","https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002Fissues\u002F373",{"id":176,"question_zh":177,"answer_zh":178,"source_url":179},45756,"Tiramisu 是否有自动解决数据依赖并进行循环分块 (tiling) 或并行化的方法？","目前的公共版本 Tiramisu **不会** 自动检查变换的正确性或自动解决复杂的数据依赖（如模板计算中的倾斜依赖）。\n\n如果你对一个不应该分块的代码应用 `Computation::tile`，Tiramisu 不会报错，但会生成错误的结果。虽然有一个私有分支包含了正确性检查功能，但尚未合并到主分支。\n\n对于需要自动倾斜 (skewing) 和分块的场景，用户通常需要手动处理或使用底层 ISL 库进行依赖分析（参考 ISL 依赖分析文档：http:\u002F\u002Fisl.gforge.inria.fr\u002Fuser.html#Dependence-Analysis），目前 Tiramisu 高层 API 暂未完全自动化此过程。","https:\u002F\u002Fgithub.com\u002FTiramisu-Compiler\u002Ftiramisu\u002Fissues\u002F326",{"id":181,"question_zh":182,"answer_zh":183,"source_url":160},45757,"如何获取生成的对象文件对应的原始 C 代码？","Tiramisu 后端使用 Halide。如果需要查看生成的 C 代码，不能直接从对象文件反编译得到易读的源码。\n\n正确的做法是利用 Halide 的功能：在调用 `tiramisu::codegen()` 时，修改传递给 Halide 的代码生成选项，将其配置为输出 C 代码而非二进制对象文件。具体参数设置需查阅 Halide 文档中关于 C Code Generation 的部分。",[185,190],{"id":186,"version":187,"summary_zh":188,"released_at":189},360729,"V0.2","提拉米苏 0.2 版本","2018-07-26T23:17:39",{"id":191,"version":192,"summary_zh":193,"released_at":194},360730,"V0.1","提拉米苏 0.1 版本","2018-07-17T02:06:50"]