#LLVM

inkwell - Rust语言的安全LLVM包装器
InkwellRustLLVMllvm-sys代码生成Github开源项目
Inkwell是一个用于Rust的安全LLVM包装器,专为编写自定义编程语言而设计。通过封装llvm-sys,它提供了比LLVM C API更强类型的接口,在编译时捕获错误。支持Rust 1.56及以上版本,以及LLVM 4到18的多种版本。项目正在快速迭代,用户可以通过详细文档和示例代码快速上手。
torch-mlir - 为PyTorch生态系统提供高级编译器支持,并实现与MLIR生态系统的高效集成
Torch-MLIRPyTorchMLIRLLVMTorchScriptGithub开源项目
Torch-MLIR项目为PyTorch生态系统提供高级编译器支持,并实现与MLIR生态系统的高效集成。通过多种路径,该项目能够将PyTorch模型转换成Torch MLIR方言,简化硬件供应商的开发过程。此外,还提供了预构建快照,便于安装和使用,并通过示例指导用户完成模型转换和结果运行。该项目是LLVM孵化器的一部分,正在持续发展,且拥有广泛的社区支持和交流渠道。
Enzyme - LLVM和MLIR自动微分插件
EnzymeLLVMMLIR自动微分插件Github开源项目
Enzyme是一款高性能的LLVM和MLIR自动微分插件,可以通过调用__enzyme_autodiff函数对目标函数进行微分,并替换为相应的梯度值。其高效性使其在处理优化代码时能与先进的自动微分工具相媲美。用户只需几步简单命令即可安装Enzyme,安装和使用的详细信息可在官网获取。Enzyme适用于学术领域的自动微分需求,支持CUDA、OpenMP、MPI等并行计算模式,并提供Julia和Rust绑定。
onnx-mlir - 基于LLVM/MLIR的高性能神经网络编译器
ONNX-MLIR编译器ONNXLLVM人工智能Github开源项目
ONNX-MLIR是一个开源编译器项目,旨在将ONNX神经网络模型转换为高效的可执行代码。该项目基于LLVM/MLIR技术,实现了ONNX标准,并提供ONNX方言、编译器接口、驱动程序和多语言运行时环境。ONNX-MLIR支持Linux、macOS和Windows等多个平台,并提供Docker镜像以简化开发和部署流程。通过优化ONNX图,ONNX-MLIR能够生成性能卓越的神经网络实现。
seahorn - 基于LLVM的开源软件验证与分析框架
SeaHorn软件验证LLVM静态分析模型检查Github开源项目
SeaHorn是一个基于LLVM的开源软件验证和分析框架。它集成了抽象解释、指针分析、约束求解等多种技术,可用于检测程序错误、生成反例和推导不变式。SeaHorn采用模块化设计,提供可组合的分析组件,适用于各类自动化验证研究。该框架支持多种编码方式和分析精度,能够灵活应对不同的验证需求。
triton - 开源高效深度学习原语编程语言与编译器
Triton深度学习GPU编程编译器LLVMGithub开源项目
Triton是一种开源编程语言和编译器,专为编写高效的自定义深度学习原语而设计。它提供了一个兼具高生产力和灵活性的开发环境,性能优于CUDA,灵活性超过其他领域特定语言。Triton支持NVIDIA和AMD GPU平台,提供完善的文档和教程。用户可通过pip轻松安装,也支持源代码构建。该项目持续更新,最新版本进行了大量性能优化和问题修复。
llvm-project - 开源编译器基础设施和工具链
LLVM编译器基础设施Clang中间表示代码优化Github开源项目
LLVM是一个开源编译器基础设施项目,提供用于构建优化编译器和工具链的框架。核心组件包括LLVM后端、Clang前端、libc++标准库和LLD链接器。LLVM支持多种编程语言,提供中间表示处理和代码生成工具。项目致力于提高编译效率和代码性能,为开发者提供灵活的编译工具集。LLVM广泛应用于编译器开发、静态分析和运行时优化等领域。
iron-kaleidoscope - LLVM和Rust实现Kaleidoscope语言教程
RustLLVM编程语言解析器代码生成Github开源项目
iron-kaleidoscope是一个使用LLVM和Rust实现Kaleidoscope语言的教程项目。教程内容包括创建词法分析器、语法分析器、IR生成器和JIT编译器等编译器前端组件。通过渐进式实现过程,展示了如何利用LLVM构建一个简单编程语言的REPL系统。
llvm-test-suite - LLVM测试套件 提升编译器性能与稳定性
LLVM测试套件代码仓库测试基础设施开发文档Github开源项目
LLVM test-suite是一个开源的综合测试框架,专为LLVM编译器基础设施设计。它提供大量测试用例,评估编译器性能、优化能力和稳定性。开发者可利用此套件验证LLVM功能,确保代码质量,并进行跨平台性能比较。通过持续集成和自动化测试,test-suite有效支持LLVM项目的可靠性和效率。
Enzyme.jl - Julia语言下的LLVM自动微分工具Enzyme
Enzyme自动微分LLVMJulia高性能计算Github开源项目
Enzyme.jl为LLVM自动微分工具Enzyme提供Julia语言接口。它可对静态分析的LLVM代码进行高效自动微分,性能与顶级AD工具相当。通过简洁API实现Julia函数的自动微分,适用于科学计算和机器学习。该项目处于活跃开发阶段,鼓励用户提供反馈。
circt - 硬件设计领域的开源编译器基础设施
CIRCTLLVMMLIREDA硬件设计Github开源项目
CIRCT项目旨在将MLIR和LLVM开发方法应用于硬件设计工具领域。它提供一致的、模块化的基础设施,支持多种中间表示,以解决现有EDA工具的局限性。CIRCT鼓励社区通过Discourse论坛、周会和代码贡献参与项目,共同推进开放硬件工具的发展。
Polygeist - 优化C/C++代码性能与可移植性的MLIR编译框架
PolygeistMLIRLLVM编译器GPU优化Github开源项目
Polygeist是一个先进的编译框架,将C/C++代码转换为MLIR的多面体表示。它实现了自动代码优化、并行化和GPU转译,有效提升代码性能和可移植性。该项目集成了CUDA和ROCm后端,并与LLVM、MLIR和Clang紧密结合,为开发人员提供了强大的工具链以优化现有代码。Polygeist主要应用于高性能计算、自动并行化和跨平台开发领域。
emscripten - C/C++到WebAssembly的开源编译工具链
EmscriptenWebAssemblyC/C++编译LLVMWeb开发Github开源项目
Emscripten是一个开源编译器工具链,利用LLVM和Binaryen将C和C++代码转换为WebAssembly。它支持OpenGL和SDL2等可移植API,便于将复杂的图形应用程序移植到Web平台。Emscripten生成的代码可在Web浏览器、Node.js和WebAssembly运行时中执行,适用于多种场景。该项目已成功移植Unity游戏引擎和Google Earth等知名项目,展现了其强大的实际应用价值和影响力。Emscripten采用MIT和UIUC开源许可证,允许商业和非商业使用。
llm-compiler-7b - 一种用于增强代码优化的先进语言模型
Meta Large Language Model Compiler开源项目模型Github开源Huggingface代码优化编译器优化LLVM
Meta的LLM Compiler是一款编译器优化语言模型,基于Code Llama构建,提升了对编译器中间表示与汇编语言的理解。LLM Compiler提供7B和13B两个版本,能够预测LLVM优化效果,在代码优化与反汇编任务中表现优异,实现了显著的代码优化和反汇编准确性。这一模型适用于研究与商业用途,助力开发者提高代码优化效率。