背景
传统的编译器技术如LLVM和GCC并不适合现有深度学习编程语言的发展迭代,无法完全支持现代芯片架构。如今,专用机器学习加速器的标准技术是MLIR。MLIR是一个相对较新的开源编译器基础架构,最初由Google(其主要负责人转到Modular)启动,已在机器学习加速器社区广泛应用。 MLIR的优势在于它能够构建领域特定编译器,特别是用于不是传统CPU和GPU的奇怪领域,例如AI ASIC、量子计算系统、FPGA和定制硅。
目标
- Python生态系统完全兼容,尽量降低学习门槛
- 实现可预测的低级性能和低级控制
- 充分利用现有的MLIR编译器生态系统
- Mojo的正确长期目标是提供Python的超集(即使Mojo与现有的Python程序兼容),并拥抱CPython实现以支持长尾生态系统。
- 根据场景决定是否使用静态或动态处理方式。
现状
- MOJO还不支持python语法中的类。
- MOJO可以在Cpython环境中实现良好集成。