SIMD代表单指令多数据( Single Instruction Multiple Data),实际上是弗林分类中的一类并行计算机。它概述了具有多个处理元素的计算机,这些处理元素可以同时对多个数据点执行相同的操作。
而且,粒度是系统被分解成各个小部分的概念,我们可以说系统本身或系统的描述/观察。当一个更大的实体被细分为不同的部分时,它实际上是相关的。例如,一个情节被分成几码,比仅仅说一个情节要细得多。
SIMD(单指令多数据)可分为多种类型,但 SIMD 的 2 种主要和最重要的类型是:
(i) 细粒度 SIMD: 这些实际上是处理更小的组件的详细描述,实际上是由更大的组件组成的。
(ii) 粗粒度 SIMD: 这些系统由更少的组件组成,这些组件显然比原始组件多,但比细粒度 SIMD 小得多,但组件的大小比系统的细粒度子组件大得多(高/多)。
细粒度和粗粒度 SIMD 架构的区别:
编号 | 细粒度SIMD | 粗粒度SIMD |
---|---|---|
1 | 细粒度 SIMD 的计算时间比粗粒度架构少。 | 粗粒度 SIMD 比细粒度架构具有更多的计算时间。 |
2 | 在细粒度SIMD中,程序被分解成大量的小任务。 | 在粗粒度SIMD中,程序被分解成少量的大任务。 |
3 | 细粒度 SIMD 比粗粒度 SIMD 具有更高的并行度。 | 粗粒度 SIMD 的并行度低于细粒度 SIMD。 |
4 | 在细粒度SIMD中,Grain Size 超过 1000 条指令。 | 在粗粒度SIMD中,粒度在 2-500 条指令的范围内。 |
5 | 在细粒度SIMD中,子组件的大小比粗粒度小很多。 | 在粗粒度SIMD中,子组件的大小比 Fine-Grained 更大。 |
6 | 在细粒度SIMD中,可以获得两种类型的并行度—— (a) 指令级并行;(b) Loop Level Parallelism | 在粗粒度SIMD中,可以得到这两种类型的并行——(a) 子程序;(b)程序级并行 |
7 | 在细粒度 SIMD 中,负载平衡是正确的。 | 在粗粒度 SIMD 中,负载平衡不合适。 |
8 | 在细粒度SIMD中可以使用编译器检测并行度。 | 在粗粒度SIMD中,无法使用编译器检测并行性。 |
9 | 细粒度 SIMD 比粗粒度 SIMD 成本高得多。 | 粗粒度 SIMD 比细粒度 SIMD 便宜得多。 |
10 | Fine Grain 是未来多线程架构的概念,也将在未来使用。 | 粗粒度是单线程架构的早期概念之一。 |
11 | 详细描述进一步分为许多小的子组件,使过程比原来的和粗粒度的过程更简单。 | 详细描述分为大的子组件,使过程不如原始描述复杂,但比细粒度复杂。 |
12 | 例子:连接机 (CM-2)、J-Machine 等 | 示例:CRAY Y 等 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264009.html