Mojo,由 LLVM 的创建者 Chris Lattner 创建的新编程语言

魔力郎

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 代码的混合项目。

最后,如果你有兴趣了解更多,可以咨询详情 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   海梅

    这个石标很有趣…… (没有口音)