说说中国高校理工科教育中的基础概念混乱问题——GPU是ASIC吗
在YouTube上看到这样一个视频:
https://www.youtube.com/watch?v=7EXDp6c9n-Q&lc=Ugydwl8gppB5FWE8Y5V4AaABAg.9fcFRMWuCpg9fcrI479gE2
视频中说A100是ASIC,对此我表示不认同,理由就是A100虽然是加速卡但也是一种GPU,只不过不带视频输出功能而已,但其绝不是ASIC。在我回复后没多久就有人回复我,说GPU就是ASIC的一种,理由就是GPU是专门用来处理图形的。看了这回复我不得不说这是中国国内哪个大学培养的理工生,这基本概念的掌握能力真的是要人无语的很。由于被YouTube禁言无法回复,具体回复过程见下图:
被禁止回复的内容:
建议你好好研究清楚概念,ASIC是专用集成电路,GPU是通用集成电路,这两个本就不是一个概念。你可以说TPU是ASIC,哪怕广义上你把FPGA归为ASIC我都多少能接受,但是你不能说GPU是ASIC。什么一个芯片设计中部分电路是专门负责一个功能的,然后你就说这个芯片是ASIC,如果你要是这样认为的话,那么所有芯片的电路设计都可以归为ASIC,那其他概念也就没有必要存在了。概念没理解透就多读书,多查资料,严谨些。
==================================================
蚂蚁矿机、通讯设备中的滤波芯片、数模转换芯片等,这些都是ASIC,但是你要是说GPU是ASIC,那简直就是概念不清。ASIC主要的特点就是使用场景的单一性,但是你说GPU就是做图形和图像计算的,因此GPU也是一种ASIC,这就是没有弄清基本概念的本质。是否是专用电路,还是要看是否对特定功能的强化,ASIC就不用多说什么了,对于GPU来说虽然是做图形和图像计算的,但是其功能却是通用的,或者你也可以将图形和图像计算看做是复杂的通用计算而不是单一功能的计算。如果说这样还不理解就可以换个角度,指定的ASIC只能高效的跑一些固定类型的计算,甚至很多ASIC能且只能运行固定类型的计算,或者说ASIC具有一定的定制性,而GPU是可以高效运行所有矢量类型的计算的,这一点和CPU很像,所以说CPU和GPU都是通用芯片而不是ASIC。使用ASIC作为AI芯片可以对特定的AI应用大幅度提高性能,但是不要忘记即使是深度学习即AI的当下也不是所有的AI应用都是Deep Learning的,你可以这样认为,那就是TPU只能运行Deep Learning,而A100不仅可以运行Deep Learning还能运行其他类型的AI矢量计算。不论是设计架构、应用场景还是设计原理上GPU都不能归到ASIC一类中,正确的归法应该是和CPU一样归到通用芯片中。如果非要抬杠,说GPU芯片中的部分芯片电路也是针对单一类型计算的,如A100中的TensorRT部分,那么也只能说GPU中含有部分ASIC,这一点如同CPU一样,现在很多CPU芯片中也会集成定制部分如现在所谓的“带有AI功能的CPU”,但即使如此你也只能说这些CPU和GPU是带有特定电路设计的通用芯片,而不能说这些CPU和GPU是ASIC。
个人认为ASIC最大的优点就是性能的强大,最大的缺点就是难扩展和延伸,软硬件支撑困难。对于ASIC来说往往需要构成软硬件的闭环,而GPU虽然对特定任务的性能不如ASIC但是比较方便升级和后期维护,对于难以形成软硬件闭环的用户来说AI芯片选择时GPU要优于ASIC的,毕竟你不需要那么大的人力物力,软硬件平台可以直接拿来就用的,当然如果你是要进行移动端芯片选择的话你只能用ASIC,不然这个功耗和性能确实解决不太来。在现实中很多AI的ASIC往往也是针对固定网络类型的Deep Learning,而GPU就不用考虑这些,虽然GPU运行指定网络结构的Deep Learning的速度比不上指定的ASIC,但是GPU可以运行几乎所有的网络结构模型,只能说GPU和ASIC各有优劣吧。由于ASIC的专用定制性即使是现在的AI应用中其实使用也是很受限的,比如在TPU中你运行Deep Learning类型的矩阵运算性能可以得到保障,但是你也只能使用Tensorflow框架,并且你还得用原生的不能加入你自定义的TensorFlow操作(或许在得到Google官方支持下花费较多时间也能行)。由于现在的Deep Learning的盛行,很多的AI下的ASIC其实都是对特定矩阵运算的定制,功能还是比较单一的,不是所有的AI应用都是图像识别和语言识别的。即使在Deep Learning下,我认为ASIC对比GPU的优势还是在部署端尤其是移动端,因为大多数场景下只有到了部署的时候神经网络结构才是彻底定死的,这就如GPU计算中也往往会分训练卡和推理卡一样,同样一款硬件在不同场景下其性能的表现也是不同的。矢量计算包括矩阵运算,但不仅限于矩阵运算,Deep Learning下的ASIC所获得的超越GPU的性能可以说是通过牺牲通用性所换来的。
相关资料:
https://blog.csdn.net/finovycloud/article/details/124378239
=================================================
上面说了这些,下面就说说下个话题——说说中国高校理工科教育中的基础概念混乱问题:
其实要谈的就是我个人的一些感觉和观点。由于我经常参见985理工科高校博士的学术讨论会,所以对高校理工博士还是有些了解的。开的会开多了也就发现了一些问题,那就是好多985高校的理工科博士在讲自己的研究课题的时候经常性的将本课题下的基础概念讲错,可能我本人也是个比较较真的人,每每遇到这种情况总是忍不住的要公开吐槽一下,不过这种事情见多了后吐槽啥的也不重要了,重要的是我对此感觉蛮忧虑的。作为中国科研主力军,如果连基础概念都不理解又怎么能要人放心呢,诚然现在的科研犹如盖楼,你往往只需要知道你下一层是怎么盖的你就可以接着往上该,但是无法对整个情况有个大致了解,无法对基本原理和概念有个深入的理解,又怎么能要人放心这一层层垒上去的楼会坚固呢。
关于理工科学生是否应该有个牢固的基础我想人们是没有疑问和意义的,不过每每落实到实际情况上时人们又往往觉得这个事情无伤大雅、不太碍事,但是我个人的观点则是要想有更好的发展对基础技能培养(包括基础概念的掌握)都是极为有必要的。或许现在的人们对发展和收益很急迫,但是我觉得“磨刀不误砍柴工”还是有理的,如果基础技能都不过关即使盖好了高楼往往也是抵不过大些的地震的。
即使人们认为我说的高校生连本学科基础概念都掌握不清这件事并不会影响人们的学术发展,但这总是有碍观瞻吧,尤其是在公开场合开讨论会的时候,因为每每遇到这样的场景我都会觉得“天雷滚滚”,甚至有种愤然离场的冲动。不过说实在的,我发现慢慢的人们也发现不了这些基础概念是否被讲错,可能是“劣币驱逐良币”,慢慢的人们都变得搞不清楚真正的本学科基础概念应该是什么了。这件事从轻上说是不严谨,从重上说,我认为这就是“瞎搞”、“乱象”。这种问题已然不是个例而是成为了普遍现象,想想真的要人忧心。
=================================================
说说中国高校理工科教育中的基础概念混乱问题——GPU是ASIC吗的更多相关文章
- MongoDB中的基础概念:Databases、Collections、Documents
MongoDB以BSON格式的文档(Documents)形式存储.Databases中包含集合(Collections),集合(Collections)中存储文档(Documents). BSON是一 ...
- JavaScript随笔记(一)基础概念以及变量类型
一.JavaScript中的基础概念 1.defer属性 一般我们在引用外部js文件的时候往往是将引用文件的位置放在标签当中,比如那么在标签中引入多个js文件时,浏览器会按照引入顺序加载执行这些引入的 ...
- RabbitMQ 入门之基础概念
什么是消息队列(MQ) 消息是在不同应用间传递的数据.这里的消息可以非常简单,比如只包含字符串,也可以非常复杂,包含多个嵌套的对象.消息队列(Message Queue)简单来说就是一种应用程序间的通 ...
- (数据科学学习手札102)Python+Dash快速web应用开发——基础概念篇
本文示例代码与数据已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的新系列教程Python+Dash快 ...
- [CB]IPv6 在中国 - 大规模部署进行中 进展明显
IPv6 在中国 - 大规模部署进行中 进展明显 2019年02月04日 08:21 3078 次阅读 稿源:solidot 0 条评论 中国有着世界上最大的网民人口,但它的 IPv6 普及度却处于世 ...
- Tapdata 实时数据中台在智慧教育中的实践
摘要:随着教育信息化的推进,智慧校园建设兴起,但在实施过程中面临数据孤岛.应用繁多.数据再利用等方面挑战,而 Tapdata 的实时数据中台解决方案,能够高效地解决智慧校园实施中的基础数据问题. ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换
[.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
随机推荐
- 如何判断APP页面是原生还是H5
如何判断APP页面是原生还是H5 1.打开设置,搜索"开发者选项",点击"开发者选项" 华为手机进入开发者模式方法 1.打开华为手机的[设置],找到并点击进入[ ...
- Asp.net Core 经过nginx代理后获取不到真实ip和scheme的问题
背景 我最近在一个Asp.net core Web 程序在经过nginx代理后 ,总是获取不到用户真实i和scheme(HttpContext.Request.Scheme),挠头: 我们一般从请求头 ...
- Python优雅遍历字典删除元素的方法
在Python中,直接遍历字典并在遍历过程中删除元素可能会导致运行时错误,因为字典在迭代时并不支持修改其大小.但是,我们可以通过一些方法间接地达到这个目的. 1.方法一:字典推导式创建新字典(推荐) ...
- Linux 增加 swap 分区
检查当前swap分区 [root@localhost ~]# free -g total used free shared buffers cached Mem: 15 0 14 0 0 0 -/+ ...
- 开源云同步的markdown写作软件——Yosoro
文章目录 前言 简便的项目管理 舒服的写作体验 支持one driver 存在缺点 前言 Yosoro是一款支持在Win.Linux.macOS上使用的写作软件.它的界面设计以及交互上表达出的极简主义 ...
- mysql这个垃圾迁移数据费劲半天
mysql垃圾得很! 对于一些小系统还可以.大型系统自己找麻烦--必须有高昂的人工费! 没有高昂的人工(必须有好的程序员和工程师才能解决一些复杂的问题),构建基于大量数据的应用,非常麻烦. 而这些费 ...
- mysql 如何分配root账号创建数据库的权限
1.mysql 如何分配root账号创建数据库的权限 在 MySQL 中,root 用户通常具有所有的权限,包括创建数据库的权限.但是,如果我们想要为另一个用户分配创建数据库的权限,或者想要限制 ro ...
- 仓颉语言HelloWorld内测【仅需三步】
2024年6月21日,华为仓颉正式公开发布.还记的19年和王学智的团队做过接触,他们反馈说16年我出版的<自己动手构造编译系统>一书对他们的研发很有帮助,身为作者听到这个消息还是很开心的. ...
- ubuntu 同时安装python2 和 python3 版本的 gunicorn
前言 最近在学习使用 gunicorn 部署 flask 项目.发现使用 pip3 安装完 gunicorn后,如如果再使用 pip2 安装 gunicorn,后安装的 gunicorn 就会覆盖掉原 ...
- 记一次使用python的selenium库爬取动态页面内容的经历
安装与配置selenium 安装selenium库 pip install selenium 配置浏览器驱动(本次使用Google Chrome) 打开Chrome,在浏览器的地址栏,输入chrome ...