
最近, 国内的摩尔线程公司, 在显卡市场搞了个大动作, 他们最新的MUSA 5.0技术, 说了句挺让人期待的话, 就是能让那些习惯用英伟达CUDA编程的工程师们, 几乎不用花啥大力气, 就能把手头的程序搬到摩尔线程的显卡上跑。
这事儿挺有意思, 毕竟英伟达的CUDA, 就像个巨大的软件和工具王国, 绝大多数搞人工智能的程序员, 都习惯了在里面开发。
这个王国太大了, 别人想进去插一脚, 可不是那么容易的事, 等于说, 大家都在用一套语言说话, 用一套工具干活, 突然让你换一套, 成本可就高了, 这就是所谓的生态壁垒。
所以, 摩尔线程选择兼容英伟达CUDA的这条路, 对他们来说, 也算是当下比较务实, 也就是最实在的做法了。
{jz:field.toptypename/}不过, 摩尔线程在他们的开发者大会上, 虽然说“现有的AI项目不用重写就能运行”, 但这不代表他们的技术能完全照搬英伟达CUDA的东西。这里面的关键, 其实是他们做了一套叫做MUSIFY的工具, 这套工具可以帮忙, 实现对英伟达CUDA生态的“部分兼容”, 并且能把代码“搬家”。
简单来说, 就是你不用从头把程序的逻辑重新写一遍, 但你的程序代码还是需要通过这个工具, 转换和适配一下, 才能在摩尔线程的平台上顺利运行。
所以, 摩尔线程官方自己也挺实在的, 他们没说MUSA 5.0架构能“百分之百兼容”英伟达的CUDA生态。他们最主要的办法, 就是给大家提供一套工具, 好让大家把现有的CUDA项目, 能相对顺利地, 也就是比较平稳地搬到他们的MUSA平台上来
这个搬家过程, 主要通过下面这些方法来实现, 他们发布了一套全新的软件工具包, 里面包含了MUSA工具箱, MUSA运行时环境, 还有一些像MTL-BLAS, MT-DNN这样的高性能计算库, 当然, 那个很重要的MUSIFY工具也在里面。
这些工具都是为了让电脑能更好地用显卡干活。那个MUSIFY工具呢, 它做的事情, 有点像英伟达社区里一个叫zLUDA的项目, 它的主要作用, 就是在程序跑起来的时候, 也就是我们说的“运行时”, 把那些本来给CUDA显卡写的代码, 自动或者半自动地转换成摩尔线程显卡能理解的指令
这就好像把你用中文写的指令, 实时翻译成英文, 让说英文的人也能明白你的意思。
那么具体的搬家流程是这样的, 程序员们需要先把他们用CUDA语言写的程序, 编译成一种叫做PTX的中间格式。这个PTX, 就像是CUDA程序的一种通用草稿纸, 不管是哪个型号的英伟达显卡, 都能理解这种格式。
然后呢, 摩尔线程的MUSIFY工具, 就会把这个PTX格式的草稿, 再进一步转换成摩尔线程显卡能直接执行的指令。这样一来, 你的程序就能在摩尔线程的显卡上跑起来了。
摩尔线程说, 他们MUSA 5.0的兼容能力已经比以前提高了很多。有些早期的测试结果显示, 这种兼容程度已经能达到百分之九十左右。这意味着大部分用CUDA写的程序, 经过他们的工具转换后, 都能在MUSA平台上正常工作。当然, 剩下那百分之十, 可能就需要程序员手动调整一下了, 但总体来说, 已经大大减轻了大家的负担, 不用从零开始重新开发, 省了不少时间和精力。

备案号: