摘要:
1. Prefix Sum前缀求和由一个二元操作符和一个输入向量组成,虽然名字叫求和,但操作符不一定是加法。先解释一下,以加法为例:第一行是输入,第二行是对应的输出。可以看到,Output[1] = Input[0] + Input[1],而Output[length - 1]就是整个输入向量元素之... 阅读全文
摘要:
Reduction并行分析:每个线程是基于一个树状的访问模型,从上至下,上一层读取数据相加得到下一层的数据.不停的迭代,直到访问完所有的数据.利用这么多的线程块(thread block)我们需要做的事情如下:1. 处理非常大的数组2. 让GPU的每个处理器保持忙碌3. 每个thread block... 阅读全文
摘要:
首先添加上Heterogeneous Parallel Programming class 中 lab: Reduction的代码:myReduction.c// MP Reduction// Given a list (lst) of length n// Output its sum = lst... 阅读全文
摘要:
“每日站立会议”。每日站立会议有一些具体的指导原则: 会议准时开始。 (没有特殊情况10点开始) 欢迎所有人参加,但只允许有实际工作的团队成员发言。 不论团队规模大小,会议被限制在15分钟。(每个人2~3分钟必须结束发言) 所有出席者都应站立。(有助于保持会议简短) 会议应在... 阅读全文
摘要:
git地址:https://github.com/LiuLang/bcloud-packagessudo apt-get install python3-setuptoolsmd5sum bcloud_3.6.1-1_all.deb 得到md5值,然后cat checksum.txt:692e17c... 阅读全文
摘要:
1. ReductionReduction是一种广泛使用的计算模型,特别是在并行计算领域。简单地来说,Reduction就是一系列的划分(Partition)和汇总(Summarize)操作的集合:对输入数据分块,对每一个分块汇总,然后再将汇总后的数据视为新的输入数据,重复分块和汇总,直到得到最终结... 阅读全文
该文被密码保护。 阅读全文
摘要:
分析tile并行算法的优化情况:一维卷积的复用情况分析比如8个元素的一维卷积tile优化.M的大小是5,计算8个元素的卷积需要载入 8+5-1 =12, 如果不使用tile,每个元素都需要载入 8*5 =40, 所以全局内存访问带宽减少 40/12 =3.3. 正常我们算40 = 8*5的方式来看,... 阅读全文
摘要:
一维卷积Convolution卷积也是很常用的一种计算模式。卷积计算方法如下:对输出数据中的每一个元素,它的值是输入数据中相同位置上的元素与该元素周边元素的值的加权和。卷积中有一个被称为卷积核(Kernel)或卷积码(Mask)的数据段,指定了周边元素的权值。为了避免混淆,以后都称为卷积码。计算如下... 阅读全文
摘要:
全局存储带宽(DRAM)全局内存是动态随机访问的方式访问内存.我们希望访问DRAM的时候非常快,实际情况是DRAM中出来的数据非常非常慢,这就好比,理想状态是泄洪,水倾巢而出,气势宏伟,实际取水却像是用吸管在喝饮料,速度非常慢.通常来看,我们会通过优化算法减少DRAM的访问次数.由上图可以看出,用户... 阅读全文