【问题标题】:What is the diffrence between SPMD and SIMD?SPMD和SIMD有什么区别?
【发布时间】:2011-06-28 05:01:42
【问题描述】:

我只是无法理解它们之间的差异......

SPMD 是在编程级别,而 SIMD 是在硬件级别吗?

例子会很好!

谢谢

【问题讨论】:

    标签: terminology parallel-processing simd


    【解决方案1】:

    SIMD 是指令级别的矢量化 - 每条 CPU 指令处理多个数据元素。

    SPMD 是一种更高级别的抽象,其中进程或程序被拆分到多个处理器上,并对不同的数据子集进行操作。

    【讨论】:

    • 因此,如果 SIMD 是关于一个可以处理多个数据的 cpu 上的指令 - 这里的并行性在哪里?是操纵多个数据的能力吗?
    • @RanZilber:是的,在一条指令中使用 SIMD,您可以处理 N 个数据点,而不是 1,对于普通 CPU 上的典型 SIMD 实现,N 通常为 4、8 或 16。因此,您可以在指令级获得 N 路数据并行性。
    • @PaulR 也许,如果您添加精度会更清楚。使用 SPMD,您有一个将线程 ID 作为参数的程序。例如,此 ID 可以在 switch case 语句中使用。
    猜你喜欢
    • 2015-07-28
    • 2015-05-21
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    • 2011-11-22
    相关资源
    最近更新 更多