当前位置: 首页 > 编程日记 > 正文

超越英伟达的,不会是另一款GPU?这家深圳公司发布全球首款数据流AI芯片

2020年6月23日,鲲云科技在深圳举行产品发布会,发布全球首款数据流AI芯片CAISA,定位于高性能AI推理,已完成量产。

鲲云通过自主研发的数据流技术在芯片实测算力上实现了技术突破,较同类产品在芯片利用率上提升了最高11.6倍。第三方测试数据显示仅用1/3的峰值算力,CAISA芯片可以实现英伟达T4最高3.91倍的实测性能。

鲲云科技创始人和CEO牛昕宇博士表示,超越英伟达的,不会是另一款GPU,而鲲云定制数据流技术不依靠更大的芯片面积和制程工艺,通过数据流动控制计算顺序来提升实测性能,为用户提供了更高的算力性价比。

超高芯片利用率,定制数据流芯片架构完成3.0升级

此次发布的CAISA芯片采用鲲云自研的定制数据流芯片架构CAISA 3.0,相较于上一代芯片架构,CAISA 3.0在架构效率和实测性能方面有了大幅的提升,并在算子支持上更加通用,支持绝大多数神经网络模型快速实现检测、分类和语义分割部署。

CAISA3.0在多引擎支持上提供了4倍更高的并行度选择,架构的可拓展性大大提高,在AI芯片内,每一个CAISA都可以同时处理AI工作负载,进一步提升了CAISA架构的性能,在峰值算力提升6倍的同时保持了高达95.4%的芯片利用率,实测性能线性提升。同时新一代CAISA架构对编译器RainBuilder的支持更加友好,软硬件协作进一步优化,在系统级别上为用户提供更好的端到端性能。

CAISA 3.0架构图

CAISA 3.0架构继续保持在数据流技术路线的领先地位,指令集架构采用冯诺依曼计算方式,通过指令执行次序控制计算顺序,并通过分离数据搬运与数据计算提供计算通用性。CAISA架构依托数据流流动次序控制计算次序,采用计算流和数据流重叠运行方式消除空闲计算单元,并采用动态配置方式保证对于人工智能算法的通用支持,突破指令集技术对于芯片算力的限制。此次升级,CAISA架构解决了数据流架构作为人工智能计算平台的三大核心挑战:

1. 高算力性价比:在保持计算正确前提下,通过不断压缩每个空闲时钟推高芯片实测性能以接近芯片物理极限,让芯片内的每个时钟、每个计算单元都在执行有效计算;

2. 高架构通用性:在保证每个算法在CAISA上运行能够实现高芯片利用率的同时,CAISA 3.0架构通用支持所有主流CNN算法;

3. 高软件易用性:通过专为CAISA定制的编译工具链实现算法端到端自动部署,用户无需底层数据流架构背景知识,简单两步即可实现算法迁移和部署,降低使用门槛。

具体来讲,鲲云CAISA 3.0架构的三大技术突破主要通过以下的技术方式实现:

1. 高算力性价比:时钟级准确的计算

CAISA 3.0架构由数据流来驱动计算过程,无指令操作,可以实现时钟级准确的计算,最大限度的减少硬件计算资源的空闲时间。CAISA 3.0架构通过数据计算与数据流动的重叠,压缩计算资源的每一个空闲时钟;通过算力资源的动态平衡,消除流水线的性能瓶颈;通过数据流的时空映射,最大化复用芯片内的数据流带宽,减少对外部存储带宽的需求。上述设计使CNN算法的计算数据在CAISA 3.0内可以实现不间断的持续运算,最高可实现95.4%的芯片利用率,在同等峰值算力条件下,可获得相对于GPU 3倍以上的实测算力,从而为用户提供更高的算力性价比。

2. 高架构通用性:流水线动态重组

CAISA 3.0架构可以通过流水线动态重组实现对不同深度学习算法的高性能支持。通过CAISA架构层的数据流引擎、全局数据流网、全局数据流缓存,以及数据流引擎内部的人工智能算子模块、局部数据流网、局部数据流缓存的分层设计,在数据流配置器控制下,CAISA架构中的数据流连接关系和运行状态都可以被自动化动态配置,从而生成面向不同AI算法的高性能定制化流水线。在保证高性能的前提下,支持用户使用基于CAISA 3.0架构的计算平台实现如目标检测、分类及语义分割等广泛的人工智能算法应用。

3. 高软件易用性:算法端到端自动化部署

RainBuilder架构图

专为CAISA 3.0架构配备的RainBuilder编译工具链支持从算法到芯片的端到端自动化部署,用户和开发者无需了解架构的底层硬件配置,简单两步即可实现算法快速迁移和部署。RainBuilder编译器可自动提取主流AI开发框架(TensorFlow,Caffe,Pytorch,ONNX等)中开发的深度学习算法的网络结构和参数信息,并面向CAISA结构进行优化;工具链中的运行时(Runtime)和驱动(Driver)模块负责硬件管理并为用户提供标准的API接口,运行时可以基于精确的CAISA性能模型,实现算法向CAISA架构的自动化映射,同时提供可以被高级语言直接调用的API接口;最底层的驱动可以实现对用户透明的硬件控制。RainBuilder工具链使用简单,部署方便,通用性强,可以让用户快速和低成本的部署和迁移已有算法到CAISA硬件平台上。

首款量产数据流AI芯片,CAISA带来AI芯片研发新方向

CAISA芯片

作为全球首款采用数据流技术的AI芯片,CAISA搭载了四个CAISA 3.0引擎,具有超过1.6万个MAC(乘累加)单元,峰值性能可达10.9TOPs。该芯片采用28nm工艺,通过PCIe 3.0×4接口与主处理器通信,同时具有双DDR通道,可为每个CAISA引擎提供超过340Gbps的带宽。

CAISA芯片架构图

作为一款面向边缘和云端推理的人工智能芯片,CAISA可实现最高95.4%的芯片利用率,为客户提供更高的算力性价比。CAISA芯片具有良好的通用性,可支持所有常用AI算子,通过数据流网络中算子的不同配置和组合,CAISA芯片可支持绝大多数的CNN算法。针对CAISA芯片,鲲云提供RainBuilder 3.0工具链,可实现推理模型在芯片上的端到端部署,使软件工程师可以方便的完成CAISA芯片在AI应用系统中的集成。

鲲云科技创始人牛昕宇发布全球首款数据流AI芯片

高算力性价比的AI计算平台星空加速卡系列产品发布

星空加速卡系列产品图

发布会上,鲲云科技创始人和CEO牛昕宇博士还发布了基于CAISA芯片的星空系列边缘和数据中心计算平台,X3加速卡和X9加速卡,并公布了由人工智能产业技术联盟(AIIA)测试的包括ResNet-50, YOLO v3等在内的主流深度学习网络的实测性能。

星空X3加速卡发布

星空X3加速卡是搭载单颗CAISA 芯片的数据流架构深度学习推断计算平台,为工业级半高半长单槽规格的PCIe板卡。得益于其轻量化的规格特点,X3加速卡可以与不同类型的计算机设备进行适配,包括个人电脑、工业计算机、网络视频录像机、工作站、服务器等,满足边缘和高性能场景中的AI计算需求。相较于英伟达边缘端旗舰产品Xavier,X3可实现1.48-4.12倍的实测性能提升。

*模型参考:

https://github.com/pushyami/yolov3-caffe/blob/master/deploy.prototxt

X3 vs Xavier 芯片利用率对比图

X3 vs Xavier 性能对比图

X3 vs Xavier 延时对比图

星空X9加速卡发布

星空X9加速卡为搭载4颗CAISA 芯片的深度学习推断板卡,峰值性能43.6TOPS,主要满足高性能场景下的AI计算需求。同英伟达旗舰产品T4相对,X9在ResNet-50, YOLO v3等模型上的芯片利用率提升2.84-11.64倍。在实测性能方面,X9在ResNet50可达5240FPS,与T4性能接近,在YOLO v3、UNet Industrial等检测分割网络,实测性能相较T4有1.83-3.91倍性能提升。在达到最优实测性能下,X9处理延时相比于T4降低1.83-32倍。实测性能以及处理延时的大幅领先,让数据流架构为AI芯片的发展提供了提升峰值性能之外的另一条技术路线。

*模型参考:

https://github.com/pushyami/yolov3-caffe/blob/master/deploy.prototxt

X9 vs T4 芯片利用率对比图

X9 vs T4 性能对比图

X9 vs T4 延时对比图

鲲云科技通过CAISA数据流架构提高芯片利用率,同样的实测性能,对芯片峰值算力的要求可大幅降低3-10倍,从而降低芯片的制造成本,为客户提供更高的算力性价比。目前星空X3加速卡已经实现量产,星空X9加速卡将于今年8月推出市场。鲲云科技成为国内首家在发布会现场披露Benchmark的AI芯片公司。

对标芯片数据来源:

T4性能数据来源:https://developer.nvidia.com/deep-learning-performance-training-inference#resnet50-latency

Xavier性能数据来源:https://developer.nvidia.com/embedded/jetson-agx-xavier-dl-inference-benchmarks

ResNet50,ResNet152算法网络来源:

https://github.com/tensorflow/models/tree/master/research/slim

YOLO算法网络来源:

[官方] https://pjreddie.com/darknet/yolo/

[其他] https://github.com/pushyami/yolov3-caffe/

SSD-ResNet50算法网络来源:

https://ngc.nvidia.com/catalog/models/nvidia:ssdtf_fp16

UNet Industrial算法网络来源:

https://ngc.nvidia.com/catalog/models/nvidia:unetindtf_fp16

推荐阅读
  • 图灵奖得主Judea Pearl:从“大数据革命”到“因果革命”

  • Python 玩出花儿了!一文教你用 Python 制作吃豆人游戏 | 附代码

  • 陆奇:疫情下的创业者,最不能缺两大能力

  • 时隔 15 年,苹果的自研 ARM 芯片为何能取代 Intel 处理器?

  • 程序员端午炫富指南~

  • 科普 | 哈希函数的过去、现在与未来

你点的每个“在看”,我都认真当成了AI

相关文章:

不要依赖代码中的异常

因为异常大大地降低性能,所以您不应该将它们用作控制正常程序流程的方式。如果有可能检测到代码中可能导致异常的状态,请执行这种操作。不要在处理该状态之前捕获异常本身。常见的方案包括:检查 null,分配给将分析为数字值的 Stri…

MySQL5.7配置日志

之前使用MySQL 5.1版本的时候,修改my.cnf,在[mysqld]下添加"log/data/mysql/query.log",重启服务就ok了 但是在5.7会出现 Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).原因是5.7…

Linux下新增硬盘处理过程

1、Linux的硬盘识别  在/dev/下建立相应的设备文件。如  sda 表示第一块SCSI硬盘  hda 表示第一块IDE硬盘(即连接在第一个IDE接口的Master口上)  scd0 表示第一个USB光驱  通过fdisk -l 查看当前的设备和分区信息。注意,新硬盘没有…

FastSpeech语音合成系统技术升级,微软联合浙大提出FastSpeech2

来源 | 微软研究院AI头条(ID: MSRAsia)编者按:基于深度学习的端到端语音合成技术进展显著,但经典自回归模型存在生成速度慢、稳定性和可控性差的问题。去年,微软亚洲研究院和微软 Azure 语音团队联合浙江大学提出了快速…

如果有大型 Web 应用程序,可考虑执行预批编译

每当发生对目录的第一次请求时都会执行批编译。如果目录中的页面没有被分析并编译,此功能会成批分析并编译目录中的所有页面,以便更好地利用磁盘和内存。如果这需要很长时间,则将快速分析并编译单个页面,以便请求能被处理。此功能…

深入理解javascript函数系列第二篇——函数参数

前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同。函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数。本文是深入理解javascript函数系列第二篇——函数参数 arguments javascript中的函数定义并…

linux下如何查看某个软件 是否安装??? 安装路径在哪???

<1>.在linux下如何判断是否已经安装某个软件&#xff1f; 我的系统是red hat我用命令rpm查是否安装了某个软件&#xff08;例如&#xff1a; matlab 与 fluent &#xff09;&#xff0c;得到了如下的结果&#xff1a;我用rpm -qa &#xff08;| grep&#xff09; matlab …

适当地使用公共语言运行库的垃圾回收器和自动内存管理

小心不要给每个请求分配过多内存&#xff0c;因为这样垃圾回收器将必须更频繁地进行更多的工作。另外&#xff0c;不要让不必要的指针指向对象&#xff0c;因为它们将使对象保持活动状态&#xff0c;并且应尽量避免含 Finalize 方法的对象&#xff0c;因为它们在后面会导致更多…

AI又进阶!除了鉴别PS图片,还能一键卸妆

作者 | 马超编辑 | 伍杏玲封图 | 视觉中国出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;最近CVPR2020的论文集合在GitHub火了&#xff0c;CVPR2020-Paper- Code 的项目&#xff08;https://github.com/extreme-assistant/CVPR2020-Paper-Code-Interpretation&#…

[转]Git忽略规则及.gitignore规则不生效的解决办法

在git中如果想忽略掉某个文件&#xff0c;不让这个文件提交到版本库中&#xff0c;可以使用修改根目录中 .gitignore 文件的方法&#xff08;如无&#xff0c;则需自己手工建立此文件&#xff09;。这个文件每一行保存了一个匹配的规则例如&#xff1a; # 此为注释 – 将被 Git…

改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)

系列博客 1. 改善代码设计 —— 优化函数的构成(Composing Methods) 2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects) 3. 改善代码设计 —— 组织好你的数据(Composing Data) 4. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Express…

必要时调整应用程序每个辅助进程的线程数

ASP.NET 的请求结构试图在执行请求的线程数和可用资源之间达到一种平衡。已知一个使用足够 CPU 功率的应用程序&#xff0c;该结构将根据可用于请求的 CPU 功率&#xff0c;来决定允许同时执行的请求数。这项技术称作线程门控。但是在某些条件下&#xff0c;线程门控算法不是很…

嵌入式开发「坑」太多?MathWorks 高级工程师教你 debug

文/ 朱雪妍据博思数据发布的《2018-2023年中国嵌入式软件行业市场发展现状调研与投资趋势前景分析报告》表明&#xff1a;2018年上半年我国嵌入式系统软件收入达4240.2亿元&#xff0c;累计增长6.6%&#xff0c;并将持续保持高速增长。嵌入式系统是当前最热门、最具发展前途的I…

[转]cocos2d-js 3.0 屏幕适配方案 分辨率适应

首先介绍一个api和相应的参数&#xff1a; cc.view.setDesignResolutionSize(1024, 768, cc.ResolutionPolicy.FIXED_WIDTH); 这里设置游戏制作的目标尺寸和显示的模式。 模式包括&#xff1a; cc.ResolutionPolicy {// The entire application is visible in the specified a…

两个程序员的泰国普吉岛之行

十一长假后&#xff0c;我和女朋友一起去了普吉岛游玩&#xff08;作为两个程序员&#xff0c;不能每天敲代码&#xff0c;也应该放松下自己&#xff09;&#xff0c;玩的很Happy&#xff0c;也是我们第一次出国&#xff0c;所以更带有许多兴奋。也许是由于玩的太High&#xff…

使用 HttpServerUtility.Transfer 方法在同一应用程序的页面间重定向

采用 Server.Transfer 语法&#xff0c;在页面中使用该方法可避免不必要的客户端重定向。

90行Python代码,让张小龙的微信地球转起来

作者 | xiaorang来源 | 数据分析与统计学之美1.微信地球手机重启后打开微信的一瞬间&#xff0c;会看到一幅有名的图片&#xff0c;上面站着一个张小龙。你可曾想过这样一个问题&#xff0c;如果上面那个地球转起来会是怎样&#xff1f;2.效果图效果简直不要太酷炫&#xff0c;…

70.打印所有Spring boot载入的bean【从零开始学Spring Boot】

【从零开始学习Spirng Boot—常见异常汇总】 问题的提出&#xff1a; 我们在开发过程当中&#xff0c;我们可能会碰到这样的问题&#xff1a;No qualifying bean 就是我们定义的bean无法进行注入&#xff0c;那到底是什么原因呢&#xff0c;有时候挺难定位的&#xff0c;当然这…

了解 C# “.NET研究”4 中的 Dynamic 关键字

dynamic 关键字和动态语言运行时 (DLR) 是 C# 4 和 Microsoft .NET Framework 4 中的重大新增功能。 这些功能在宣布时就引起了人们的极大兴趣&#xff0c;并伴随着许多疑问。 同时人们也给出了很多答案&#xff0c;但这些答案现在已散布于各种文档以及各种技术博客和文章之中。…

“我,懂数据,不怕被裁”:这项核心能力到底有多香?

我见过市面上很多的 Python 讲解教程和书籍&#xff0c;他们大都这样讲 Python 的&#xff1a;先从 Python 的发展历史开始&#xff0c;介绍 Python 的基本语法规则&#xff0c;Python 的 list, dict, tuple 等数据结构&#xff0c;然后再介绍字符串处理和正则表达式&#xff0…

使请求管线内的所有模块尽可能高效

请求管线内的所有模块在每次请求中都有机会被运行。因此&#xff0c;当请求进入和离开模块时快速地触发代码至关重要&#xff0c;特别是在不使用模块功能的代码路径里。分别在使用及不使用模块和配置文件时执行吞吐量测试&#xff0c;对确定这些方法的执行速度非常有用。

PHP smarty缓存

缓存一个页面 test.php <?php//定义该页面缓存文件存放的路径 $filename "../cache/cachetest.html";//定义缓存有效期 $cachetime 5;//判断缓存文件是否存在 if(!file_exists($filename) || filemtime($filename)$cachetime<time()) {//开启内存缓存ob_sta…

在 Visual Basic .NET 或 JScript 代码中使用早期绑定

以往&#xff0c;开发人员喜欢使用 Visual Basic、VBScript 和 JScript 的原因之一就是它们所谓“无类型”的性质。变量不需要显式类型声明&#xff0c;并能够简单地通过使用来创建它们。当从一个类型到另一个类型进行分配时&#xff0c;转换将自动执行。不过&#xff0c;这种便…

Use MVS Dsbame convensions. windows下ftp.exe客户端上传错误

环境:主机 220-FTPD1 IBM FTP CS V1R11 at BT11 windows下的ftp.exe客户端 现象:windows下ftp.exe命令上传文件,报"Use MVS Dsbame convensions." 错误 原因: 主要是IBM FTP Server 文件系统的命名规范造成的: 8个基本字符 解决: 通过 cd 根目录.目录1.目录2----…

算法对建筑业的影响,不仅仅是画图

拿什么来拯救&#xff0c;这些奇葩的设计&#xff1f;奇葩造型位于英国伦敦芬乔奇街 20 号的一座摩天大楼&#xff0c;由于造型像「对讲机」&#xff0c;被取外号「对讲机大楼」。其实造型奇葩倒没什么&#xff0c;也有一些人觉得还挺好看。但问题是&#xff0c;建成之后&#…

如何参与团队合作?

现在&#xff0c;团队合作就是竞争力。随着市场竞争的日益激烈&#xff0c;企业更加强调团队精神&#xff0c;建立群体共识&#xff0c;以达到更高的工作效率。特别是有遇到大型项目时&#xff0c;想凭借一己之力去取得卓越的成果&#xff0c;可能非常困难。想必你也意识到&…

200 个工具分析机器学习十年:开源是大势,工程师是核心

【编者按】人工智能和机器学习经过十年多的发展&#xff0c;在过去的几年间&#xff0c;各类工具数量迎来了持续的爆发式的增长&#xff0c;机器学习也正式由科研走进工业生产阶段。本文作者 —— 来自硅谷一家初创公司的计算机科学家 Chip Huyen 梳理挖掘出 202 个机器学习工具…

将调用密集型的 COM 组件迁移到托管代码

.NET Framework 提供了一个简单的方法与传统的 COM 组件进行交互。其优点是可以在保留现有投资的同时利用新的平台。但是在某些情况下&#xff0c;保留旧组件的性能开销使得将组件迁移到托管代码是值得的。每一情况都是不一样的&#xff0c;决定是否需要迁移组件的最好方法是对…

性能优化工具 MVC Mini Profiler

MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC、WebForm 以及WCF 的性能分析的小程序。可以对一个页面本身&#xff0c;及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容&#xff0c;并可以显示数据库访问的SQL&#xff…

刷新UITableView

【from】http://www.superqq.com/blog/2015/08/18/ios-development-refresh-uitableview/ UITableView对于iOS开发者来说一定不会陌生&#xff0c;很有可能你的APP很多界面都用到它。关于UITableView的文章&#xff0c;想必已经不计其数&#xff0c;没事可以多看看。特别是UITa…