说说中国高校理工科教育中的基础概念混乱问题——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#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
随机推荐
- 项目管理--PMBOK 读书笔记(7)【项目成本管理】
1.成本术语: 2.三点估算(PERT): 平均估算值=(最可能持续时间*4+最乐观+最悲观)/6 标准差=(最乐观-最悲观)/6 68.26%.95.46%.99.73% 3.估算成本的工具:质量成 ...
- 2020年你不可不知的自动化框架,可替代Selenuim的测试框架Top10
Selenium是一种开源自动测试工具.它可以跨不同的浏览器和平台在Web应用程序上执行功能,回归,负载测试.Slenium是最好的工具之一,但确实有一些缺点. 业界有一些强大的工具可以替代Selen ...
- 指令(Prompt)基本格式
指令(Prompt)基本格式: 参考信息:包含文心一言完成任务时需要知道的必要背景和材料,如:报告.知识.数据库.对话上下文等 动作:需要文心一言帮你解决的事情,如:撰写.生成.总结.回答等 目标:需 ...
- nacos v2.2 k8s部署启动报错:nacos server did not start because dumpservice bean construction failure. errMsg102, errllsg dataSource or tableName is null
背景 最近搭建个nacos环境,用的镜像是2.2版本的,yaml如下: nacos-conf apiVersion: v1 kind: ConfigMap metadata: name: nacos- ...
- LuBase 低代码开发框架介绍 - 可私有化部署
框架定位 面向开发人员,针对管理软件领域,对页面交互和通用功能进行高阶封装,逐步打造成平台型.生态型开发工具. 涓涓细流 ,汇聚成海,基于 PBC(组件式开发)开发理念,让功能模块的复用更简单. 让管 ...
- 【译】了解17.10 GA 中最新的 Git 工具特性
我们相信提高开发和团队协作的生产力可以帮助您产生更好的软件解决方案.这就是为什么 Visual Studio 版本控制团队发布了新特性,简化了内部循环和代码审查体验.您将获得 AI 支持编写提交消息. ...
- WPF/C#:如何实现拖拉元素
前言 在Canvas中放置了一些元素,需要能够拖拉这些元素,在WPF Samples中的DragDropObjects项目中告诉了我们如何实现这种效果. 效果如下所示: 拖拉过程中的效果如下所示: 具 ...
- 千万别忽视基础!十张图带你一步步理解Java内存结构!
作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发.但是一旦发生内存泄漏或者内存溢出,如果对Java内存 ...
- RK3588J + 麒麟系统,“软硬件”全国产——让您的产品更具竞争力!
银河麒麟嵌入式操作系统简介 银河麒麟嵌入式操作系统V10是面向物联网及工业互联网场景的安全实时嵌入式操作系统,具备信息安全.多域隔离.云边端协同.多样性算力支持等特点,可满足嵌入式场景对操作系统小型化 ...
- SpringMVC springmvc.xml配置路径前缀和后缀
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...