首页 > 站长学院 > 人物访谈 > 正文
清华大学副教授都志辉讲座笔记——数据移植过程
2018-04-21 10:14:29       个评论    来源:Hunt Counter  
收藏    我要投稿

\

第一版中,讲MPI并行代码直接用cuda重写,一个月完成,发现有大量计算错误,并且不能排查。(结果不一样原因就是移植的代码错了,因为移植过程不可能完全想明白程序逻辑,总会有各种各样的问题出来,这也是大型应用程序移植的难点)

第二版中的解决方法就是要做单元拆分。并且一直的时候分析代码并重写,写成适合cuda计算的数据结构。

在能提升性能地方的代码用cuda一直,没有什么提升余地的地方用OpenACC。即使有些代码在一直到GPU上提升不大也要移植,因为这样需要CPU和GPU之间进行数据交换,这个数据交换的开销非常大。nvlink在数据交换的时候性能提升非常大。

对于大型程序来说,找到真正能提升性能的地方是非常难的。

大部分时候,CPU代码在移植到GPU上的时候都要进行数据结构的重组,不然会对性能有负影响。

性能优化的三个方面:应用、算法、硬件体系结构。

对写论文吧来说:在优化之前或者优化过程中提很多问题,把这些问题弄明白以后,有了优化结果,就容易找到创新点。他们之前也容易犯一种错误:一上来有一个任务就搞,搞快一点就可以了,虽然最后搞出来。但没有反思这么做有什么好处,为什么这么做,有没有什么别的更好的方法,这个方法的瓶颈和极限在哪里。

点击复制链接 与好友分享!回本站首页
上一篇:马化腾:我最大的担忧,就是越来越看不懂年轻人的喜好
下一篇:最后一页
相关文章
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心
版权所有: 红黑联盟--致力于做实用的IT技术学习网站