并行计算知识

54 篇文章 20 订阅
3 篇文章 0 订阅

1、CPU线程

       一个CPU核在一个时刻只能运行一个线程指令,CPU的多线程机制通过操作系统提供的API实现,是一种软件粗粒度多线程。当一个线程中断,或者等待某种资源时,操作系统就保存当前线程的上下文,并装载另外一个线程的上下文。所以,切换线程的代价十分昂贵,通常要数百个时钟周期。

       超线程可以将核心虚拟成多个核心,但每个虚拟核心在一个时刻也只能运行一个线程。

2、GPU线程

        轻量级线程,零开销线程切换,因此,当线程因为访问片外存储器或同步指令开始等待时,可以即时切换到另外一个处于就绪态的线程,用计算来隐藏延迟。所以当计算密度比较高时,延迟就可以被隐藏。

3、CPU核心

        当前为2-8核心,每个核心3-6执行流水线,高指令并行技术,如:超标量超深流水线,乱序执行,预测执行,以及大容量缓存,SSE、3Dnow!一类数据级并行技术。

4、GPU核心

        1-30个流多处理器,每个流多处理器包含8个1D流处理器的SIMD处理器。多流处理器间粗粒度任务级或数据并行,流多处理器内细粒度数据并行。

5、外部存储器

       GT200的显存带宽:140GB/s   是同期CPU的内存带宽五倍

6、CPU缓存

        用于减小访存延迟和节约带宽,在多线程环境下会发生失效反应:每次线程上下文切换后,需要重新建立缓存上下文,一次缓存失效的代价是几十到上百个时钟周期。

        同时为了实现缓存与内存中数据的一致性,还需要复杂的逻辑进行控制。

7、CPU缓存

        没有复杂的缓存体系和替换机制,缓存是只读的,没有缓存一致性问题,缓存主要用于过滤对存储器控制器的请求,减少对显存的访问。所以缓存的主要功能是节约显存带宽,而不是减小访存延迟。


一般来讲,GPU适合用于高密度数据运算,CPU擅长复杂逻辑和事物处理等串行计算。

8、单核指令级并行(ILP)

          让单个处理器的执行单元可以同时执行多条指令。现代CPU的每个核心都采用了超标量、超级流水线、超长指令字、SIMD、超线程、分支预测等手段发掘程序内的指令级并行。

9、多核并行(multi-core)

            在一个芯片上集成多个处理器核心,实现线程级并行(TLP)。CPU上多线程的编程语言OpenMP和Intel的TBB

10、多处理器(multi-processor)并行

            在一块电路板上安装多个处理器,实现线程和进程级并行。

11、大规模群集或者分布式并行。

            每个节点(node)就是一台独立的计算机。MPI(Message Passing Interface)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值