不断总结自己的异构程序开发思路
来源:互联网 发布:mysql 5.7 key buffer 编辑:程序博客网 时间:2024/05/16 15:25
没有毛主席思想,如何指导中国革命!
没有GPU开发思想,如何开发异构程序!
什么是GPU开发思想呢?你可以有一套,我也有一套,下面是我推荐的思想:
天马行空的想,一开始就想3000个计算单元怎么并行,里面的标准差是否可以并行,太急躁。不必这么着急地考虑如何写我们的内核程序,这样的结果往往让自己的思维禁锢了,什么意思——很简单的理解就是GPU开发要先看大局,再看局部;之前我看了一个图像处理的博客,在整个图像上理解并行的意义远远大于在一个排序或者取中位数等局部算法上并行来的大,优先花大量心思考虑细节往往得不偿失,做什么事情都是这样,也许这点对于异构开发一个大型应用程序而言显得格外突出。
给出我们开发异构程序的一个核心思想是——并行粒度分析由大到小,逐步迭代。
试想这样的收获是最明显的:
第一个开发周期我们提速了50%;
第二个开发周期对内部的某模块进行了并行计算,又提高了75%;
第三个开发周期我们对某个并行计算模块进行了深度优化,又提高了20%;
……
这样的好处是,我们每一个阶段的优化程序都是可以运行的,都是正确的结果,都可以作为一个版本,都可以记录程序的效率,都可以和之前的版本进行比对,都可以看到程序在逐步提高速度。这个过程叫精益求精!这个过程最大的好处是让没有很多开发经验的异构程序员在每个版本的过程中,提高自己对并行计算的认知度和cuda开发的水平。所以,我建议,不要一步到位的开发异构程序,我们需要循序渐进、精益求精的迭代开发过程。
- 不断总结自己的异构程序开发思路
- 开发程序的步骤(自己开发程序的总结)
- 总结自己的基于gpu的异构程序开发流程
- 不断的鞭策自己
- 按自己的思路整一整程序
- 按自己的思路整一整程序(2)
- 按自己的思路整一整程序(3)
- 按自己的思路整一整程序(4)
- 王立平--android项目的开发设计思路,自己总结的,仅供参考
- 关于sys开发的总体思路和大纲(不断修改和更新)
- 说下自己曾经做过的一些工作,编程就是这样,总结自己,不断学习
- Java开发不可忽视的小细节(不断总结中...)
- 程序开发中解决问题的思路很重要
- 我的第一篇IT博客,在此做个纪念,希望以后坚持不断学习,不断总结,得以不断提升自己。
- J2EE程序开发思路
- J2EE程序开发思路
- 微信小程序开发思路
- 微信小程序开发思路
- linux服务器-客户端的最小模型
- mongodb的查询语句学习摘要
- 蒙特卡罗算法串行计算
- 蒙特卡罗算法并行计算
- OpenMP的学习初步
- 不断总结自己的异构程序开发思路
- 总结自己的基于gpu的异构程序开发流程
- CPU和GPU的区别
- 从0开始学习《GPU高性能运算之CUDA》——1
- 从0开始学习《GPU高性能运算之CUDA》——2
- 从0开始学习《GPU高性能运算之CUDA》——3
- 二维数组和二维指针在CUDA中的应用
- OpenMP多核编程的配置与测试
- 从CUDA开始读OpenCL