#编译器
tvm - 适用于 CPU、GPU 和专用加速器的开放式深度学习编译器堆栈
Github开源项目深度学习Apache TVM编译器Apache-2.0硬件后端
Apache TVM为深度学习提供高效编译支持,优化执行效率,适合用于学术与工业研究领域,填补了框架与后端之间的技术差距。
byteir - 端到端模型编译解决方案,支持多种MLIR方言和ASIC优化
Github开源项目前端编译器ByteIR运行时模型编译
ByteIR是ByteDance推出的端到端模型编译解决方案,包括编译器、运行时和前端组件。该项目采用多种上游MLIR方言和Google Mhlo,提供兼容的编译过程,允许灵活混用ByteIR与上游MLIR的passes。ByteIR支持Tensorflow、PyTorch、ONNX等前端,能将SOTA模型转化为Stablehlo。目前处于早期阶段,目标是为深度学习加速器及通用CPU和GPU提供必要的模块和基础设施。
nngen - 深度神经网络硬件加速器编译器
Github开源项目深度神经网络编译器NNgen硬件加速器Verilog HDL
NNgen是一个开源编译器,能为深度神经网络生成特定模型的硬件加速器。它从输入模型定义中生成Verilog HDL源代码和IP核心包(IP-XACT),包括处理引擎、片上存储器、片上网络、DMA控制器和控制电路,且无需外部电路或CPU的额外控制。NNgen使用Veriloggen,一个用Python编写的开源高层次综合编译器,可为新的DNN算法和应用进行定制。
wrecc - 小型x86-64 C99编译器,生成符合System V ABI的二进制文件
Github开源项目编译器wreccx86-64C99系统V ABI
wrecc是一款从零编写的小型x86-64 C99编译器,生成的汇编代码遵循System V ABI规范。它无需外部依赖,只需汇编器和链接器即可生成最终二进制文件。支持多数C99预处理器指令和关键字,同时提供错误报告和AST美化打印功能。通过单元测试、快照测试和模糊测试来保证质量,适用于UNIX系统。如遇问题可查看未实现功能或提交问题,欢迎贡献代码,详情请参阅项目文档。
vox - 多范式编程语言编译器
Github开源项目编程语言编译器JITVoxAOT
Vox是一种受D语言、Jai和Zig启发的多范式编程语言,拥有快速编译和强大的元编程功能。无需依赖其他库,支持脚本和独立程序的即时(JIT)和预先(AOT)编译。兼容Windows、Linux和macOS,计划扩展到更多平台。Vox致力于应用扩展、提高用户生产力和应用性能,提供静态类型和优质错误信息,具备轻量级运行时、嵌入式编译器和条件编译等特性。
iree - 一款基于MLIR的端到端编译器和运行时系统
Github开源项目机器学习编译器运行时IREEMLIR
IREE是一款基于MLIR的端到端编译器和运行时系统,它能够将机器学习模型转化为统一的中间表示(IR),适用于数据中心和边缘设备。该项目仍在早期开发阶段,欢迎反馈意见。
onnx-mlir - 基于LLVM/MLIR的高性能神经网络编译器
人工智能Github开源项目ONNX编译器LLVMONNX-MLIR
ONNX-MLIR是一个开源编译器项目,旨在将ONNX神经网络模型转换为高效的可执行代码。该项目基于LLVM/MLIR技术,实现了ONNX标准,并提供ONNX方言、编译器接口、驱动程序和多语言运行时环境。ONNX-MLIR支持Linux、macOS和Windows等多个平台,并提供Docker镜像以简化开发和部署流程。通过优化ONNX图,ONNX-MLIR能够生成性能卓越的神经网络实现。
beaver - 基于Elixir的MLIR开发工具集
Github开源项目编译器ElixirMLIRIR生成模式匹配
Beaver是一个基于Elixir的MLIR开发工具集,旨在简化开发流程。它充分利用Elixir的SSA、模式匹配和管道操作符等特性,为MLIR提供直观可扩展的接口。Beaver支持快速的开发迭代,并致力于实现Elixir到原生/WASM/GPU的编译。此外,该项目还探索了在硬件加速环境下重新审视符号AI,为机器学习领域引入了新的技术栈。
moonscript - 将MoonScript编译为Lua的高效脚本语言
Github开源项目开源软件编程语言编译器LuaMoonScript
MoonScript是一种编译为Lua的高效脚本语言,结合了Lua的性能和丰富的语言特性。支持Lua 5.1及以上版本,兼容LuaJIT。提供在线编译器、Windows预编译版本和多种编辑器支持。项目采用MIT许可,拥有活跃的开发者社区和完善的测试框架。
typst - 新一代标记语言排版系统
Github开源项目编译器Typst排版系统标记语言
Typst是一款创新的标记语言排版系统,具备与LaTeX相当的功能,同时显著提高了易用性。它提供内置标记语法、灵活函数、集成脚本、数学排版和文献管理等功能。Typst采用增量编译技术,实现快速编译和友好的错误提示。这一工具适用于学术论文、技术文档和创意项目等多种场景的高质量排版需求。
triton - 开源高效深度学习原语编程语言与编译器
Github开源项目深度学习Triton编译器LLVMGPU编程
Triton是一种开源编程语言和编译器,专为编写高效的自定义深度学习原语而设计。它提供了一个兼具高生产力和灵活性的开发环境,性能优于CUDA,灵活性超过其他领域特定语言。Triton支持NVIDIA和AMD GPU平台,提供完善的文档和教程。用户可通过pip轻松安装,也支持源代码构建。该项目持续更新,最新版本进行了大量性能优化和问题修复。
acwj - 构建C语言子集自编译编译器的实践教程
Github开源项目GitHub编程教程编译器C语言
acwj是一个开源项目,记录了构建C语言子集自编译编译器的完整过程。项目详细介绍了从词法分析到代码生成的各个步骤,涵盖变量、函数、指针等C语言特性的实现。它还包括ARM和6809等不同目标平台的后端开发。acwj提供了理论解释和实践指导,是学习编译原理和实现编译器的有价值参考资源。
lightning-thunder - PyTorch模型优化编译器 显著提升训练速度
Github开源项目PyTorch深度学习性能优化GPU加速编译器
Lightning Thunder是一款专为PyTorch设计的源到源编译器。它通过整合nvFuser、torch.compile、cuDNN等多种硬件执行器,大幅提升PyTorch程序的执行效率。支持单GPU和多GPU环境,在Llama 2 7B模型训练中实现40%的吞吐量提升。Thunder具有易用性、可理解性和可扩展性,是PyTorch开发者提升模型性能的有力工具。
tracr - 开源编译器实现RASP程序到Transformer权重的转换
Github开源项目编译器transformer解释性TracrRASP
tracr是一个开源编译工具,可将RASP程序转换为Transformer权重。它通过追踪程序、推断基向量和中间表示,最终生成Haiku模型。tracr支持类别和数值表示,使用BOS标记实现多种操作,并探索了残差流压缩嵌入。研究人员可以利用tracr编译RASP程序,查看中间激活值,深入分析模型行为,为Transformer可解释性研究提供实验平台。
clash-compiler - 基于Haskell的函数式硬件描述语言
Github开源项目编译器Haskell函数式编程Clash硬件描述语言
Clash是一种基于Haskell的函数式硬件描述语言,可将高级描述转换为VHDL、Verilog或SystemVerilog。它具备强类型系统、交互式REPL和高阶函数等特性,支持基于流的同步时序电路设计和多时钟域设计。Clash提供类型安全的时钟域交叉,并拥有活跃的社区支持。开发者可通过多种方式安装或从源码构建Clash,以便进行高效的数字电路设计。
jasmin - 安全高效密码学编程语言与编译器
Github开源项目开源软件编程语言编译器密码学Jasmin
Jasmin是一个开源项目,包含专为高保证和高速密码学设计的编程语言及其编译器。这套工具使开发者能够创建安全高效的密码学代码。项目采用MIT许可证,为密码学研究和应用提供重要资源。相关工具和详细信息可在项目Wiki获取,适合密码学专业人士和爱好者使用。
selfie - 自编译系统工程教育平台
Github开源项目编译器虚拟机RISC-VSelfie系统编程
Selfie是一个系统工程教育平台,通过12000行C代码实现了自编译编译器、自执行模拟器和自托管虚拟机监视器。该项目聚焦系统代码中的自引用挑战,为本科生和研究生提供编译器、库、操作系统和虚拟机监视器的实践构建经验,全面覆盖从编程语言到运行时系统的设计与实现。
WebPd - 将Pure Data音频补丁转换为Web友好的JavaScript代码
Github开源项目编译器网页开发WebPd纯数据音频编程
WebPd是一款模块化的Pure Data编译器,能将.pd补丁转换为易读的JavaScript或AssemblyScript代码。开发者可以轻松将Pure Data的音频处理功能集成到Web应用中,无需依赖其他工具。WebPd支持在线发布生成式音乐作品、实时音频处理以及Web应用和游戏中的声音制作。该项目提供Web编译器和命令行界面,方便用户编译和分享补丁。
gopher-lua - 用Go实现的Lua5.1虚拟机和编译器
Github开源项目Go编译器Lua虚拟机GopherLua
GopherLua是一个用Go语言实现的Lua5.1虚拟机和编译器。它提供友好的Go API,方便开发者将Lua脚本嵌入Go程序。GopherLua支持协程、自定义类型、模块加载等特性,性能与Python3相当。该项目遵循Lua的设计理念,致力于打造一个具有可扩展语义的脚本语言。
holyc-lang - 开源HolyC语言编译器项目
Github开源项目编程语言编译器HolyCx86_64TempleOS
HolyC-lang是一个用C语言实现的HolyC编译器项目。该编译器支持浮点运算、继承和循环等主要语言特性,可将HolyC源代码编译为x86_64兼容的二进制文件。项目提供完整的语言文档,并包含字符串、哈希表、I/O、数学和网络等库。HolyC-lang致力于实现Terry A. Davis设计的HolyC语言,为开发者提供独特的编程体验。
compat-table - ECMAScript特性兼容性测试工具
Github开源项目编译器测试ECMAScript编辑兼容性表
compat-table是一个开源项目,提供ES5、ES6、ESNext和非标准JavaScript特性的兼容性表格。它允许开发者编辑测试文件并运行构建脚本更新数据,支持测试JavaScript编译器和Node.js版本。该项目为开发者提供跨平台兼容性参考,有助于了解不同环境下的ECMAScript特性支持情况。
koka - 具有效果类型和处理器的函数式编程语言
Github开源项目编译器函数式编程引用计数Koka效果系统
Koka是一种新兴的函数式编程语言,特点是效果类型系统和处理器。它能精确追踪函数副作用,为程序提供稳固的语义基础。Koka允许以类型安全和可组合的方式定义高级控制抽象。其独特的Perceus编译技术可生成无需垃圾回收的高效C代码。此外,Koka还能优化函数式程序,实现原地更新以提高性能。
h5 - 实现C#到JavaScript的现代化多平台Web开发工具
Github开源项目JavaScriptC#编译器跨平台开发H5
H5是一个创新的C#到JavaScript编译工具,源自Bridge项目的现代化改进。它结合.NET 8.0技术实现跨平台开发,同时为H5项目集成.NET Standard 2.1支持。作为一个活跃的开源项目,H5不断优化,旨在简化C# Web开发流程。其核心特性包括专注于netstandard2.1、采用SDK风格项目结构、以dotnet全局工具形式分发编译器等,体现了其在技术应用上的前瞻性。
Polygeist - 优化C/C++代码性能与可移植性的MLIR编译框架
Github开源项目GPU优化编译器LLVMMLIRPolygeist
Polygeist是一个先进的编译框架,将C/C++代码转换为MLIR的多面体表示。它实现了自动代码优化、并行化和GPU转译,有效提升代码性能和可移植性。该项目集成了CUDA和ROCm后端,并与LLVM、MLIR和Clang紧密结合,为开发人员提供了强大的工具链以优化现有代码。Polygeist主要应用于高性能计算、自动并行化和跨平台开发领域。
swc - 用 Rust 打造的高性能 TypeScript 和 JavaScript 编译器
Github开源项目TypeScriptJavaScriptRust编译器SWC
SWC(Speedy Web Compiler)是一款用 Rust 开发的高性能 TypeScript 和 JavaScript 编译器。它既可作为 Rust 库使用,也是强大的 JavaScript 开发工具。SWC 以快速编译和丰富功能著称,支持最新 JavaScript 特性,旨在提升 Web 开发效率。这个开源项目由社区驱动,持续优化,为开发者带来更快捷、更强大的开发体验。
assemblyscript - TypeScript 到 WebAssembly 的高效编译器
Github开源项目TypeScriptWebAssembly编译器AssemblyScript
AssemblyScript 是一个开源编译器,将类似 TypeScript 的语言转换为 WebAssembly。它利用 Binaryen 生成高效的 WebAssembly 模块,通过 npm 轻松安装。该项目让开发者能够创建高性能的 WebAssembly 应用,同时保留熟悉的 JavaScript 风格开发体验。AssemblyScript 拥有活跃的社区和持续的维护更新。
vscode-cpptools - C/C++ 扩展为 VS Code 提供全面语言支持
Github开源项目C/C++Visual Studio Code编译器调试器IntelliSense
C/C++ 扩展为 Visual Studio Code 增添了全面的语言支持功能,包括智能编辑和调试。该扩展兼容多种编译器和架构,可在 Windows、Linux 和 macOS 平台上使用。它提供 IntelliSense、增强代码着色和调试等功能,提升了 C/C++ 开发效率。扩展本身不含编译器和调试器,但能与系统预装工具协同工作,为开发者创造流畅的编程环境。
Fable - 将F#编译为JavaScript的开源工具,实现函数式Web开发
Github开源项目JavaScriptFable编译器跨语言开发F#
Fable是一个开源项目,可将F#代码编译为JavaScript。它基于FSharp Compiler Services,致力于使F#成为JavaScript生态系统中的重要组成部分。Fable支持现代.NET和JavaScript特性,并提供多种开发工具。通过Fable,开发者可以在Web环境中运用F#的函数式编程优势,构建高效且易维护的应用程序。
numba - Python数值计算的开源JIT编译器
Github开源项目Python优化编译器数值计算Numba
Numba是一个开源的Python JIT优化编译器,专注于数值计算。它将Python语法转换为机器代码,支持编译大部分数值计算相关的Python代码,包括多数NumPy函数。Numba具备循环自动并行化、GPU加速和ufuncs创建等功能,能够显著提升Python数值计算的性能。适用于科学计算、金融建模、机器学习等高性能计算场景。
cosmopolitan - 跨平台C语言库实现一次编译多处运行
Github开源项目跨平台编译器C语言系统编程Cosmopolitan Libc
Cosmopolitan是一个创新的C语言库,让C语言程序能够一次编译后在多个平台上运行。它通过重新配置GCC和Clang,生成符合POSIX标准的多平台兼容格式,支持Linux、Mac、Windows等多种操作系统。该库具有高性能和小体积的特点,提供系统调用日志和函数调用跟踪等功能,可用于开发各类开源项目。
binaryen - WebAssembly编译器和优化工具链库
Github开源项目优化WebAssembly编译器工具链Binaryen
Binaryen是一个C++编写的WebAssembly编译器和工具链库。它提供C和JavaScript API,支持WebAssembly输入,内部IR支持并行优化。其优化器可改善代码大小和性能,能作为独立编译器后端。Binaryen简化了WebAssembly的编译和优化过程。
相关文章