跳转至

第28课

约 900 个字 预计阅读时间 3 分钟

阵列处理器

SIMD(Single Instruction Multiple Data)即单指令流多数据流。

image-20230605100309793

Array Processor(阵列处理器):每个PE(Processing Element)在单一控制部件CU(Control Unit)都有自己的memory。

image-20230605100326559

image-20230605100335319

所有的PE共享memory

image-20230605100445160

Distributed memory:分布式

image-20230605100606953

image-20230605100625983

Centralized shared memory:集中共享,memory并不指定哪个PE,大家都可以用

image-20230605100703993

image-20230605100734284

通过ICN(Information-Centric Networking)来实现任意两PE间的互联,如果直接互联,网络规模会很大。

image-20230605101012824

通过一步或者有限的步数连通

image-20230605101153482

image-20230605101656277

image-20230605101809067

一些基本概念

静态:网络连接好后就不会发生变化。

动态:网络运行过程中,网络连接方式可能会发生变化。

控制方式可以是全局控制,也可以是局部同级控制,也可能是个体控制

image-20230605101835802

网络连接的分类

大的方面分成静态和动态的连接方式:

image-20230605102020265

image-20230605102111189

image-20230605102103457

入端\(j\),出端\(f(j)\),那么这两个端口就满足函数关系\(f\),当然\(j\)\(f(j)\)都是二进制的编码。

image-20230605102209103

Single-stage interconnection network

1. Cube single-stage interconnection network

image-20230605102507323

Cube0image-20230605102857620

Cube1image-20230605103004113

Cube2image-20230605103129246

三个Cube函数刚好就构成了一个立方体,这个网络符合任意两点之间都可以通过一步或者有限步到达image-20230605103552617

最多\(log_2n\)image-20230605103603130

2. PM2I single-stage interconnection network

PM2I一共有2n-1个不同的函数,因为有两个函数是相同的(\(n = log_2N\))。

image-20230605103816598

\(PM2_{+0}()\)

image-20230605104029213

\(PM2_{-0}()\):和\(PM2_{+0}()\)相反

\(PM2_{+1}()\)

image-20230605104151642

\(PM2_{-1}()\)

\(PM2_{+2}()\)\(PM2_{-2}()\)

总结:最多需要两步就可以到达,如图0经过一步就可以到达12467,当N很大的时候,PM2I最多为n-1步,相比于cube的n步(\(n = log_2N\))。

image-20230605104405473

3. Shuffle exchange network

由shuffle函数和exchange函数两部分组成

image-20230605105435664

一次shuffleimage-20230605105632793

两次shuffle和三次shuffleimage-20230605105654565

image-20230605105750163

shuffle函数不能实现两两互连,我们可以加上exchange函数,这里的exchange函数是cube0函数

在这里,两头的结点比较慢,中间的结点连接比较快,从一端到另一端需要3个exchange和2个shuffle。

image-20230605110012469

所以从全部是0到全部是1的变化需要n次的exchange和n-1次的shuffle,最远距离就是2n-1。

image-20230605110039610

Features of single-stage interconnection networks

结构相对简单,开销比较低,更加灵活。

image-20230605110114302

静态网络连接

线性结构破坏了一个节点就会导致断裂。

image-20230605110410257

image-20230605110225418

image-20230605110306135

image-20230605110313785

image-20230605110320664

image-20230605110327584

用的比较多的是格网络

image-20230605110341885

image-20230605110432095

image-20230605110445742

cube中加环来增加节点的稳定性

image-20230605110458317

image-20230605110523090

动态网络连接

image-20230605110551310

image-20230605110652935

image-20230605110730033

image-20230605110744190

image-20230605110930246

多级网络的示意图:

image-20230605111027941

image-20230605111157610

image-20230605111225102

交叉开关:

image-20230605111248549

image-20230605111311536

image-20230605111324090

image-20230605111352697

image-20230605111437262

多级网络设计原则image-20230605111526341

多级立方体网络(考试会考),这里是级控制image-20230605111622267

其他多级网络image-20230605111949674

image-20230605111957243

控制信号为000,那么连接不变,如果001那么使用cube0函数,4组2元的交换;010就是用cube1,2组4元的交换。

image-20230605112016025

扩展成16个处理单元

image-20230605112727912

需要知道状态的推演,所有取反的信号都是exchange

image-20230605112947725

image-20230608081035526

image-20230608081111839

Multi-stage shuffle exchange network

也叫做omega网络,它的开关是四功能开关(直连交换上波下波),如果把omega网络的四功能变成两功能,单元控制变成级控制,那么正好是cube网络的逆网络

image-20230605113131421

image-20230605113303479

Omega网络和立方体网络对比

image-20230605113413352

Omega网络和立方体网络互相连接

image-20230605113455918

image-20230605113517108

Omega网络可以实现一对多,如下图是从入端的2到所有的出端

image-20230608082222928

image-20230608082326353

image-20230608082848595

总结

SIMD单指令流多数据流,当有多个数据流而且不互相依赖,SIMD有较好的效果。

image-20230608082907495

GPU

是SIMT架构,也就是说是单指令流多线程,以线程为并行的最小粒度。

image-20230608083049298

image-20230608083250788

image-20230608083303018

采用thread->blocks->grid的结构。image-20230608083538803

image-20230608083715420

image-20230608083843626

image-20230608084551337

image-20230608084759986

image-20230608084837807

跨迭代相关:image-20230608084906180

image-20230608084956448

image-20230608085332535

image-20230608085937352

本文总阅读量