细粒度和粗粒度 SIMD 架构的区别

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

(0)
上一篇 2022年6月6日
下一篇 2022年6月6日

相关推荐

发表回复

登录后才能评论