- 精华
 - 0
 
- 帖子
 - 8812
 
- 威望
 - 0 点
 
- 积分
 - 9096 点
 
- 种子
 - 1522 点
 
- 注册时间
 - 2022-9-13
 
- 最后登录
 - 2025-1-5
 
  
 | 
 
 
发表于 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 |   
 
 
 
 |