Logo

#编译器

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