02 2015 档案

摘要:CPU和GPU内存交互在CUDA编程中,内存拷贝是非常费时的一个动作.从上图我们可以看出:1. CPU和GPU之间的总线bus是PCIe,是双向传输的.2. CPU和GPU之间的数据拷贝使用DMA机制来实现,非常容易理解,为了更快的传输速度.虚拟内存(virtual memory)我们都知道,虽然在... 阅读全文
posted @ 2015-02-28 11:58 Magnum Programm Life 阅读(12655) 评论(0) 推荐(3) 编辑
摘要:和许多多线程并行问题一样,CUDA也存在互斥访问的问题,即当一个线程改变变量X,而另外一个线程在读取变量X的值,执行原子操作类似于有一个自旋锁,只有等X的变量在改变完成之后,才能执行读操作,这样可以保证每一次读取的都是最新的值.在kernel 程序中,做统计累加,都需要使用原子操作:atomicAd... 阅读全文
posted @ 2015-02-10 11:59 Magnum Programm Life 阅读(24594) 评论(1) 推荐(0) 编辑
摘要:1. Prefix Sum前缀求和由一个二元操作符和一个输入向量组成,虽然名字叫求和,但操作符不一定是加法。先解释一下,以加法为例:第一行是输入,第二行是对应的输出。可以看到,Output[1] = Input[0] + Input[1],而Output[length - 1]就是整个输入向量元素之... 阅读全文
posted @ 2015-02-10 11:58 Magnum Programm Life 阅读(5644) 评论(3) 推荐(1) 编辑
摘要:Reduction并行分析:每个线程是基于一个树状的访问模型,从上至下,上一层读取数据相加得到下一层的数据.不停的迭代,直到访问完所有的数据.利用这么多的线程块(thread block)我们需要做的事情如下:1. 处理非常大的数组2. 让GPU的每个处理器保持忙碌3. 每个thread block... 阅读全文
posted @ 2015-02-08 09:33 Magnum Programm Life 阅读(6799) 评论(0) 推荐(1) 编辑
摘要:首先添加上Heterogeneous Parallel Programming class 中 lab: Reduction的代码:myReduction.c// MP Reduction// Given a list (lst) of length n// Output its sum = lst... 阅读全文
posted @ 2015-02-04 11:03 Magnum Programm Life 阅读(704) 评论(0) 推荐(0) 编辑
摘要:“每日站立会议”。每日站立会议有一些具体的指导原则: 会议准时开始。 (没有特殊情况10点开始) 欢迎所有人参加,但只允许有实际工作的团队成员发言。 不论团队规模大小,会议被限制在15分钟。(每个人2~3分钟必须结束发言) 所有出席者都应站立。(有助于保持会议简短) 会议应在... 阅读全文
posted @ 2015-02-03 16:05 Magnum Programm Life 阅读(380) 评论(0) 推荐(0) 编辑
摘要:git地址:https://github.com/LiuLang/bcloud-packagessudo apt-get install python3-setuptoolsmd5sum bcloud_3.6.1-1_all.deb 得到md5值,然后cat checksum.txt:692e17c... 阅读全文
posted @ 2015-02-02 17:09 Magnum Programm Life 阅读(3414) 评论(0) 推荐(1) 编辑