Mojo 是一种新的编程语言,有望为机器学习开发提供更好的性能
前几天有消息爆出 克里斯·拉特纳 LLVM的创始人兼首席架构师和 蒂姆·戴维斯 前谷歌人工智能项目负责人 发布了一种新的编程语言“Mojo”, 基于 Python,修复了 Python 实现和性能问题。
据说莫乔 该 结合了研发的易用性 以及适合高性能最终产品的快速原型制作。 前者是通过使用 Python 语言熟悉的语法来实现的,后者是由于能够编译为机器代码、安全内存管理机制以及使用硬件加速计算的工具。。
关于魔卓
这种新的编程语言 专注于机器学习开发的使用, 但是,是的e 呈现为通用语言 它通过系统编程扩展了 Python 语言的功能,适用于广泛的任务。
例如,该语言适用于高性能计算、数据处理和数据转换等领域。 Mojo 的一个有趣功能是能够将“🔥”表情符号指定为代码文件的扩展名。
该项目旨在涉及硬件资源 计算中系统中可用的系统。 例如,GPU、专用机器学习加速器和矢量处理指令 (SIMD) 可用于运行 Mojo 应用程序和并行计算。
开发一个单独的 Python 语言子集,而不是加入现有的 CPython 优化工作的原因被引用为:
构建方法、系统编程功能的集成以及使用根本不同的内部架构,允许代码在 GPU 和各种硬件加速器上执行。 同时,Mojo 开发人员打算尽可能坚持 CPython 支持。
Mojo 既可用于 JIT 解释模式,也可用于编译成可执行文件 (AOT,提前)。 该编译器内置了用于自我优化、缓存和分布式编译的现代技术。
编码 Mojo 语言中的源代码被转换为低级中间代码 MLIR(多级中间表示),由 LLVM 项目开发并提供额外的功能来优化数据流图的处理。
使用额外的硬件机制来加速计算使您能够通过密集计算获得优于 C/C++ 应用程序的性能。
Chris Lattner 负责创建我们今天所依赖的许多项目,尽管我们可能甚至没有听说过他构建的所有项目! 作为他博士论文的一部分,他开始了 LLVM 的开发,它从根本上改变了编译器的构建方式,如今已成为世界上许多使用最广泛的语言生态系统的基础。
然后,他继续发布 Clang,这是一种 C 和 C++ 编译器,位于 LLVM 之上,被世界上大多数顶级软件开发人员使用(包括为性能关键代码提供主干)。谷歌)。
在评估机器学习故障排除领域的性能时,发现与基于 TensorFlow 库的解决方案相比,用 Mojo 语言编写的模块化推理引擎 AI 堆栈在具有英特尔处理器的系统上快 3 倍
然而,Chris 发现 C 和 C++ 并未充分利用 LLVM 的强大功能,因此在 Apple 工作期间,他设计了一种名为“Swift”的新语言,他将其描述为“LLVM 的语法糖”。
值得一提的是 语言支持静态类型和安全的低级内存功能 这让人想起 Rust 的功能,例如参考生命跟踪和可变借用(贷款检查器)。
除了使用指针进行安全操作的方法外,语言 还为低级工作提供功能, 例如,可以使用指针类型在不安全模式下直接访问内存,调用单个 SIMD 指令,或访问 TensorCores 和 AMX 等硬件扩展。
目前, 语言正在深入发展 并且只提供接口 在线尝试。 未来的承诺是在收到有关交互式 Web 环境工作的反馈后,发布单独的版本以在稍后在本地系统上运行。
编译器、JIT等项目相关开发的开源代码是在内部架构设计完成后进行的(闭门工作原型的开发模式类似于LLVM、Clang和Swift的开发初期)。
由于 Mojo 的语法基于 Python,类型系统接近 C/C++,因此未来计划开发一套工具,以便更轻松地将现有的 C/C++ 和 Python 编写的项目转换为 Mojo,以及至于开发结合了 Python 和 Mojo 代码的混合项目。
最后,如果你有兴趣了解更多,可以咨询详情 在下面的链接中。
发表评论,留下您的评论
这个石标很有趣…… (没有口音)