又一个全新编程语言,诞生了!

2023-09-20 10:39:43

最近,编程领域又一个黑马忽然冲进了开发者们的视野并正式开放下载。

它的名字叫Mojo,相信有不少小伙伴最近也看到了。

Mojo是为AI开发者所准备的编程语言,语法有点像Python。

根据Mojo官网的描述,它结合了Python的易用性和C语言的高性能,解锁了AI硬件的可编程性和AI模型的可扩展性。

Mojo看起来好像挺能打,它到底是哪个公司所推出来的呢?

看了一下才发现Mojo是由人工智能公司Modular所推出的全新编程语言。

而Modular这个公司则是一个非常年轻的新生AI创业公司,于2022年由Chris Lattner和Tim Davis所创立。

提到这两个创始人,相信有些同学也有所了解,都是业内顶级专家。其中Chris Lattner还被称为“LLVM之父”和“Swift之父”,在苹果、谷歌、特斯拉等多家知名科技巨头里曾带领构建了AI和核心系统。

Modular公司的愿景非常宏伟,目标是自下而上重塑AI基础设施。

去年的时候,Modular AI曾获得过3000万美金的融资。而就在前些天,Modular又再次宣布成功融资 1 亿美金,这对于一个刚诞生不久的初创型公司而言可谓是成绩斐然。

另外在公司官网的投资者名单里能看到,不少AI领域的知名投资机构都有参与。

Mojo这个编程语言有几个比较明显的特点。

1、首先是性能方面。

Mojo充分利用硬件的特性和功能,包括多核、矢量单元和加速器单元,以及先进的编译器和异构运行时机制,在不增加复杂性的前提下实现了与C++和CUDA相当的性能。

在并行化这一块,Mojo利用MLIR,使Mojo开发者能够充分利用向量、线程和AI硬件单元。

2、其次是互操作性方面。

大家都知道,发展到今天,Python的生态极其繁荣,各种函数、库、框架、模型、工具等等数不胜数。

而Mojo则可以访问整个Python生态。比如使用Mojo,可以在代码中无缝地接入和混合像Numpy和Matplotlib等库。

3、再者就是可扩展性方面。

可扩展性这块也是Mojo的优势。Mojo可以升级用户模型中的已有操作,以便开发者可以使用预处理、后处理、自定义替换等操作来轻松地扩展用户的模型。

Mojo最初发布于今年的5月初,上线数月以来就已形成基本规模和生态。

前不久,Modular官网宣布Mojo正式开放下载,首先是从Linux系统开始,并在后续的迭代版本中将陆续添加对Mac和Windows的支持。

这也意味着开发者可以通过Mojo SDK进行尝试并编写自己的Mojo代码。

而就在Mojo官宣可以下载后不久,一位名叫Aydyn Tairov开源作者就利用Mojo来做了一个突破性的尝试。

这个作者之前曾将GitHub上火热的由纯C实现的llama2.c项目移植到了基于Python的llama2.py。

而这次Aydyn Tairov又将llama2.py移植到了llama2.mojo,结果非常出乎意料,移植后性能提升了近250倍。

即便如此,作者仍然认为里面还有一些改进的空间。

看到Mojo如此的表现,有不少网友说Python这次可谓是遭遇了一个强大的对手,Mojo甚至有可能在未来会取代Python?

对此,公司CEO Chris Lattner直接回应称:

Mojo并不会对Python造成威胁,相反,还会帮助Python开发者变得更强大。要担心的也不是Python,而是C++们。

文章的最后也附上相关的页面,感兴趣的小伙伴可以尝试一下。

  • Mojo地址:https://www.modular.com/mojo
  • Mojo文档:https://docs.modular.com/mojo

至于这门编程语言在接下来的AI时代会发展如何,我们可以拭目以待。

注:本文在GitHub开源仓库「编程之路」 https://github.com/rd2coding/Road2Coding 中已经收录,里面有我整理的6大编程方向(岗位)的自学路线+知识点大梳理、面试考点、我的简历、几本硬核pdf笔记,以及程序员生活和感悟,欢迎star。

更多推荐

【吴恩达】prompt engineering(原则 迭代 文本概括 推断、订餐机器人)

简介Introduction基础的LLM训练的模型,问法国的首都什么,可能会将答案预测为“法国最大的城市是什么,法国的人口是多少”许多LLMs的研究和实践的动力正在指令调整的LLMs上。指令调整的LLMs已经被训练来遵循指令。因此,如果你问它,“法国的首都是什么?”,它更有可能输出“法国的首都是巴黎”。指令调整的LLM

设计模式-命令模式

“小度,小度,热死了请打开空调~”,“小度,小度,主人回家了~”,“小度,小度,播放一首炸雷~”,像小度类似的智能产品正在逐步改善我们的生活,只要我们一声令下,产品立马执行,毫不拖延。就如同老板的命令一样,系统需接收到命令后经过一系列分析后,会自动选择执行哪些命令,而发令者完全不关心内部是执行了哪些动作以及哪个具体方法

【校招VIP】排序算法之高级排序

考点介绍:在校招面试中,排序算法是经常被问到的。排序算法又比较多,很容易遗忘和混淆。有相当同学校招卡在排序的实现上,要么是核心代码实现不了,要么是实现方法串台。大厂的考察重点在快速排序等高级排序上。排序算法之高级排序-相关题目及解析内容可点击文章末尾链接查看!一、考点试题1.以下哪种不是非稳定排序算法A.归并排序B.快

分库分表知识点

分库分表专题1.概述1.1分库分表是什么小明是一家初创电商平台的开发人员,他负责卖家模块的功能开发,其中涉及了店铺、商品的相关业务,设计如下数据库:通过以下SQL能够获取到商品相关的店铺信息、地理区域信息SELECTp.*,r.[地理区域名称],s.[店铺名称],s.[信誉]FROM[商品信息]pLEFTJOIN[地理

【论文解读】Faster sorting algorithm

一、简要介绍基本的算法,如排序或哈希,在任何一天都被使用数万亿次。随着对计算需求的增长,这些算法的性能变得至关重要。尽管在过去的2年中已经取得了显著的进展,但进一步改进这些现有的算法路线的有效性对人类科学家和计算方法都是一个挑战。在这里,论文展示了人工智能是如何通过发现迄今为止未知的算法路线来超越目前的最先进的方法。为

你能想象在亚运赛场打《王者荣耀》吗?

作者:April叶快评:20年前,没人敢相信电竞加入亚运会,但在今年的杭州亚运会,电竞不仅正式成为官方竞赛项目,首次登场还一举成了亚运会“顶流”。你以为打游戏只会毁了你但其实打游戏也能为国争光要说今年杭州亚运会最大的“顶流”是谁那必须是这个项目不仅呼声最高门票价格也最高还是唯一要抽签才能买票的项目门票比演唱会的还难抢哪

自己实现一个简单的vhost-net

框架vhost在网络中的位置如图:要学习具体的框架可以看我之前的文章vhost-net--------深入了解Virtio-networking和vhost-net接下来,我们自己实现一个vhost.vhost-net代码在代码中写了详细注释,就直接上代码了#include<stdio.h>#include<strin

新消费降温,良品铺子还能走多远?

如果时间倒退到多年前,杨红春应该不会料到现在良品铺子的境遇。从2006年创立至今,前半段良品铺子经历了品牌升级,从线下发展到平台电商、社交电商,做APP客户端进行全渠道的营销,把一家曾入不敷出的小店,养成年利润过亿的高端零食大公司,似乎每一步都精准地踏在时代的节骨眼上。行业层面,国内零食市场规模也从杨红春刚创业时的数千

Next.js 13 服务器组件和应用目录完整指南

通过关于使用服务器组件和应用程序目录的最完整和最权威的教程,释放Next.js13的全部潜力。目录Next.js13带来了什么?服务器组件(RSC)布局ServerActions服务器操作EnhancedRouter增强型路由器什么是服务器组件?服务器组件与客户端组件定义服务器组件定义客户端组件App应用目录文件结构托

Docker 架构解析:理解 Docker 引擎和容器运行时

🌷🍁博主猫头虎带您GotoNewWorld.✨🍁🦄博客首页——猫头虎的博客🎐🐳《面试题大全专栏》文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺🌊《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐🌊《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大

【计算机组成原理】读书笔记第四期:从源文件到可执行文件

目录写在开头从源代码到本地代码源代码本地代码的初级形态(这一节有点不严谨)编译器从目标文件到可执行文件启动和库文件DLL文件及导入库可执行文件的运行机制变量和函数的内存地址程序加载时生成栈和堆结尾写在开头本文继续阅读总结《程序是怎样跑起来的》这本书(作者:矢泽久雄)。前三篇博客介绍了这本书的阅读感受,并分别对第一章CP

热文推荐