- 精华
- 0
- 帖子
- 8284
- 威望
- 0 点
- 积分
- 8568 点
- 种子
- 1469 点
- 注册时间
- 2022-9-13
- 最后登录
- 2024-10-24
|
发表于 2024-5-21 16:18 · 广西
|
显示全部楼层
本帖最后由 水滴梦幻 于 2024-5-21 16:20 编辑
blackjtr 发表于 2024-05-21 12:23
看来你是完全不懂啊,
就像我之前说的,simd的执行单位是指令而spmd的执行单位是函数。举个简单的例子,如果有两列数组[1,2,3,4] 和 [5,6,7,8]
如果我们现在想要让他们做简单的对位相加,simd和spmd都能直接在一个cycle内完成。但是如果我们要加上一个逻辑:简单相加后,如果和大于10,则结果除以2。spmd依旧可以并行化处理,在cuda中,只需把逻辑写进kernel function就可以了。但是在simd硬件中,这个逻辑处理是无法在simd寄存器中执行的,cpu必须取回相加的结果之后再单独循环做判断。这就是为什么以cuda为代表的spmd理念(gpgpu)在现代图形学/ai计算中应用如此广泛的原因。现代gpu不是一个简单的fpu计算器,他的能力是simd的超集。
1996年 苏妈的MIT就研制了针对图形处理的可编程流处理器
采用一个流寄存器文件SRF做缓冲器来解决存储器带宽问题
没有什么是CPU不能吞下的 甚至GPGPU也是CELL先行发展
C-GPU用MIMD你CUDA有么 WSE-3的近存计算AI远超GPU |
|