有没有可能今后GPU算力完全替代CPU多核并行所做的所有工作?
涉及CPU多核多线程的工作完全可以全部交给GPU来做。不光图形的C4D,之前什么cfd,matlab,fluent物理流体仿真,化学计算等。以后全部交给GPU来完成。CPU只做一些基础的数据交换,调度的任务
之后什么9950x 7950x包括epyc,都是伪需求。可能还不如人家一张4060ti16。 本帖最后由 KimmyGLM 于 2024-11-22 10:39 编辑
有可能,但是绕不开CPU;
但是:老黄不是在研究自己的CPU 嘛,也许用ARM来实现。 这俩玩意儿原理都不一样。。。。。。。 KimmyGLM 发表于 2024-11-22 10:38
有可能,老黄不是在研究自己的CPU 嘛,用ARM来实现。
ARM也是精简指令集的CPU,和GPU完全不是一码事啊 本帖最后由 KimmyGLM 于 2024-11-22 10:43 编辑
mofeielva 发表于 2024-11-22 10:39
ARM也是精简指令集的CPU,和GPU完全不是一码事啊
嗯,没表述完整,冯诺依曼的经典结构应该还要持续下去。
CPU功能不可或缺,但扮演的角色也许会越来越弱。
昨天看到新闻:老黄的AI 卡已经用上HBM3460GB的超大显存,以后真有无限可能的搭配 理论上没有问题,本质上就是如何把一个大的工作拆分成一个一个小小的工作
但是GPU编程(SIMT)的难度、工作量比CPU(SIST)编程要高非常多
事实是,大部分程序员连多线程都写不顺
所以能不能是一码事,大家愿不愿意干是另一码事 你显卡要自己开创一个生态 宇宙吗 你如果能开创 那完全没问题 这个问题,我们十几年前就开始讨论了……至少现在来说,我们码农,还是觉得 GPU 不方便(没有内存统一寻址算是一个很大的痛苦点) 换个角度想,也许以后都是云端了呢[偷笑] 将来不是不可能,只是短时间内不可能。。。。 先说结论,不可能
原因也不难理解,多数科学运算需要逻辑顺序,GPU只能做协处理器,而且更要命的是精度。
所以现在用GPU加速基本思路就是拆分+组合,没有逻辑关系的代码执行效率很高,比方说渲染,有逻辑关系的需要考虑数据分发和同步,PCIE带宽就是很大的瓶颈,有时候还不如用CPU+多通道内存速度快。 能不能把您写的上一个 feature, 改造成 16 线程比 8 线程快的版本? 这要求不高吧?
还是说, 您根本几行代码都没写过呢 从X86到GPU,那相当于软件要重写了。这是个巨大的工程。
行业软件不会这么激进的哈。
只有新软件才会这样玩。
而且X86积累了大量的指令集。这也是X86的核心优势。
KimmyGLM 发表于 2024-11-22 10:41
嗯,没表述完整,冯诺依曼的经典结构应该还要持续下去。
CPU功能不可或缺,但扮演的角色也许会越来越弱。 ...
现代 x86 CPU 没有任何一颗是冯诺依曼结构
指令/数据 l1 分离, 属于哈佛结构;
哪条指令的数据先到位就执行哪个, 属于归约机架构 现有的GPU架构是一大群弱鸡运算器在一起,通用性也不够。。。干的不是一个事情。非要合在一起,所有的东西都得干,NV怕是没这个精力和底子 本帖最后由 momo77989724 于 2024-11-22 11:23 编辑
想多了早上刚经历个软件在WIN系统下用 EPYC会黑屏用9950反而不会。。。
人家给你个功能你就别指望优化了。。。能用就用不能用也别指望其他的 。。。
然后呢?再把486DX拿出来上机呀? 可以是可以,但你要做好单线程超级慢的准备。还要做好大部分编程语言尤其是前端几乎没有库可用的准备 不可能,GPU并不能替代CPU的很多方面的能力,特别是一些高精度的计算需求,GPU是各种更低精度但速度更快的计算 专利是绕不开的问题。
要么让win兼容非x86架构
要么抛开win重新搞一套操作系统
要么ia把x86授权给n
目前来说这三条都不太现实 没可能,你看看amd的新的数据中心的芯片就知道了! 想起从前在win上的多线程编程经验,挺多要考虑的,任务是否能拆分、是否有顺序要求、同一内存区域操作时的互斥等。其实理解为如果你是项目组负责人的话,如何分配工作,每个人的能力适合干什么、什么时间什么结果要先出来等,就能明白cpu多线程编程干的事情了。
win自己系统级的偏底层些的api其实也会有bug,只是一般编程能用到的很少所以无感。
gpu深度编程没弄过,都是现成的库直接调用,类似AI训练、图像处理之类的,只要数据准备好了发过去给gpu循环处理起来,gpu占用率就上来了,普通用户不需要控制啥,想想图像处理一个多年的思路不就是分块计算嘛,cpu一个线程处理一块,2位数的并行,gpu几千个线程并行开干,可不是快得多了。但是多个图像程序要是同时让gpu处理的话,一样抢资源,所以继续大力出奇迹:加gpu解决。
场景不同,cpu是计算的底线,啥都能干,gpu是抽象好的分块处理算法的上限,两者都可以可以堆叠,只要钱到位。
那不可能 都能做的话那gpu就叫cpu了 intel的拉拉比不是失败了嘛,当年就是想用x86暴力运算统一,后来还是不现实 自旋烧麦 发表于 2024-11-22 10:46
理论上没有问题,本质上就是如何把一个大的工作拆分成一个一个小小的工作
但是GPU编程(SIMT)的难度、工作量 ...
哈哈哈,现在多线程大家还是愿意写的。
编程语言进化出来了语法糖,辅助库,以及大家的意识也都到位了。
但这个进步,花了了二十多年 APU才是未来融合才是未来 这里有一个归并排序
现在请将其改造为多线程版本
好了 你已经学会GPU编程了 尝试把你的程序全部改写为多线程的吧 GPU只适合执行简单且大量的并行运算,要想让普通软件运行在几千上万个核心的处理器上,要么只能利用几个弱鸡之极的线程,要么得要了程序员的老命 如果你的工作是计算一万个2位数以内的加减乘除,那你可以找1万个小学生在几秒之内全部完成。但是如果是要你做一个大学高难度物理题,你找十万个小学生也没用
页:
[1]
2