- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 Heterogeneous Parallel Programming(异构并行编程)学习笔记(七)
这里主要介绍MPI框架,以及怎样将其与CUDA结合起来运用。 1. MPI MPI可以视为大一号的CUDA。一个MPI框架由分布式计算节点组成,每一个节点可以视为是一个“Thread”,但这里的不同之处在于这些节点没有所谓的共享内存,或者说Global Memory。所以,在后面也会看到,一般会有一个节点专门处理数据传输和分配的问题。MPI和CUDA的另一个不同之处在于MPI只有一级结
2013-01-22 16:36:21 2690
原创 Heterogeneous Parallel Programming(异构并行编程)学习笔记(六)
这里主要介绍CUDA的Overlapping计算。 1. Pinned Memory 所谓的Pinned Memory,是一种锁定内存物理地址的方法,对应于操作系统的分页技术。众所周知,操作系统的虚拟地址空间大于物理地址,通过分页(paging)技术来实现其转换与管理。如果在cudaMemcpy()过程中,正在发出或者接收数据的内存被paged out了,则对程序的性能肯定有影响。使用
2013-01-22 14:18:44 2852
原创 Heterogeneous Parallel Programming(异构并行编程)学习笔记(五)
这里主要讲述两种并行计算模式,前缀求和(Prefix Sum)以及卷积(Convolution)。 1. Prefix Sum 前缀求和由一个二元操作符和一个输入向量组成,虽然名字叫求和,但操作符不一定是加法。先解释一下,以加法为例: 第一行是输入,第二行是对应的输出。可以看到,Output[1] = Input[0] + Input[1],而Output[length -
2013-01-09 17:14:59 2747
原创 Heterogeneous Parallel Programming(异构并行编程)学习笔记(四)
这次的内容主要集中在Reduction模型上。 1. Reduction Reduction是一种广泛使用的计算模型,特别是在并行计算领域。简单地来说,Reduction就是一系列的划分(Partition)和汇总(Summarize)操作的集合:对输入数据分块,对每一个分块汇总,然后再将汇总后的数据视为新的输入数据,重复分块和汇总,直到得到最终结果,可以想象为一个倒置的树。Googl
2013-01-07 15:43:45 2654
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人