琢磨了好几天,也不知道公众号第一篇正式文章应该怎么写。现在很后悔在朋友圈高调公开公众号,还竟敢宣称有15年行业经验,大家不要信以为真,其实不过是一年经验重复了十几年而已。连知乎的小朋友都知道问问题的正确姿势,我真是有些汗颜。
言归正状,万事开头难,现在骑虎难下,也只好勉力为之。在这里想先介绍些今后文章经常会涉及的一些指标概念,希望能达成基本的共识,到时候交流起来会方便些。
Lateny和Throughput
1 延迟(latency),完成一个任务所需要的时间。
2.吞吐量(throughput),单位时间完成的任务量。
体系结构大神David.A.Patterson在他的著作《计算机组成和设计》用洗衣过程来做譬喻。洗衣过程由清洗,烘干,折叠,收纳四个环节组成,每个环节耗时30分钟,所以每次洗衣任务的latency是2个小时,没有优化以前,8个小时的完成4次洗衣任务,所以throughput只有0.5。
经过流水线改造以后,效率得到改善,虽然每次洗衣还是花费2小时,但单位时间完成的任务量大大提升,4次洗衣任务只花了3.5个小时。
我们可以把生活常识映射到处理器的流水线(Pipeline)设计,处理器的指令Pipeline通过实现指令级的并行(Instruction Level Parallelism)来提高throughput。这种ILP的优化对码农们就是免费的午餐,躺着程序性能就上去了。
另外,如下图,我们也可以通过多核CPU或者内置很多计算单元的GPU来提高程序整体的性能(throughput),这种优化属于线程级并行(Thread Level Parallelism)。相比ILP,TLP对码农不太友好,不再供应免费的午餐,我们需要编写多线程程序,甚至通过专门的接口(CUDA/OpenCL)让CPU/GPU忙碌起来,才能得到性能的提升。
第一篇先写到这儿了,再长就没人看了,接下来会介绍其它几个重要概念。
编辑:lyn
-
处理器
+关注
关注
68文章
19156浏览量
229071 -
cpu
+关注
关注
68文章
10824浏览量
211109 -
吞吐量
+关注
关注
0文章
47浏览量
12324 -
延迟
+关注
关注
1文章
70浏览量
13511
原文标题:GPU: 衡量计算效能的正确姿势(1)
文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论