Udacity cs344Unit 3-Introduction to Parallel Programming笔记(超详细,CUDA,并行,GPU)

本文详细介绍了Udacity cs344Unit 3关于并行编程的内容,包括GPU算法的速度和效率分析、归约、扫描和直方图的基本算法。通过实例探讨了串行与并行操作的步骤和工作复杂度,重点讲述了并行归约的实现,以及在GPU上实现扫描和直方图的优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.课程目标

如何分析GPU算法的速度和效率(speed and efficiency)

三个新的基本算法:归约,扫描和直方图(reduce,scan and histogram)

2.

 

3.再看之前讲的例子

考虑两件事

 

介绍几个概念

a.步骤(step):指的是 单人!完成某特定计算(比如挖洞)所需时间

b.工作总量(total amount of work):所有参与员工完成计算量的总值

也就是,人数 * 步数 =  工作总量

 

4.谈论算法时,将讨论两个成本

a.step complexity(步骤复杂度):一共分成几个步骤得到了最终结果,那个步骤数量

b.work complexity(工作复杂度):一共进行了多少次计算?

我们会用step complexity 或者work complexity来衡量一个算法,而这两个指标通常与input的大小是有关联的

 

5.

从数学定义开始

有两个输入(一个数组和一个运算符)运算符要具有两个性质:二元性和可结合性

 

 

6.

先看串行的归约(每一个操作都依赖前一个操作)

操作次数为4次,共计4 steps

这意味着工作复杂度(与节点数目一致)和步骤复杂度(操作总次数)都是和input成正比的

 

7.并行归约(就是想办法给他凑成可以一同运算的,互相不依赖的——改变运算次序)结合性保证了次序改变,结果不受影响

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值