异构打算在国内外的发展趋势若何?它在企业的就业情形如何?开拓者又该如何学习并行打算?深度学习与机器学习有何差异?带着这些疑问,CSDN联系上了刘文志,请他对此逐一解答。

专访刘文志:异构并行计算的未来很光明_异构_算法 计算机

刘文志

CSDN:请先自我介绍下以及目前所卖力的领域。

刘文志:大家好,我是刘文志,从事异构并行打算、尤其是基于GPU的异构并行打算的同学可能更熟习我的网名“风辰”。
2011年,我从中科院毕业后加入了NVIDIA CUDA团队,2014年初离开了NVIDIA 加入了吴韧老师的团队,是吴老师的第一位下属。
我现在在一家创业公司卖力异构并行打算团队,团队的紧张职责是为公司的运用、系统供应基于GPU、X86、ARM及其它嵌入式处理器的性能优化支持。
一句话总结是:这几年从和学术界打交道转到了和工业界打交道。

CSDN:你从事并行打算这么多年,尤其在异构并行打算领域颇有成绩,你为何会想到从事这一领域?有没有什么故事可以分享?

刘文志:从事这一领域可以说是机缘巧合,也可以说是兴趣使然。
我本科时学习的是运用化学专业,由于化学方面有很多并行打算的需求,比如要仿照分子的最优构型、仿照一些特质的化学性子,当时通过高斯等软件理解到并行打算,以为并行打算比较故意思,能做单机做不了的事情。
2008年进入中科院读研,那个时候基于GPU的并行打算刚涌现,当时的导师对GPU并行打算比较感兴趣,想做一些试验,而我的背景正得当,以是就成为了试验品。
知识和履历丰富后,就扩充了GPU并行打算方面的知识和实践,逐渐的覆盖到集群、X86、ARM等领域的并行打算。

CSDN:《并行算法设计与性能优化》与《并行编程方法与优化实践》汇聚了你的真知灼见,在你看来该书适宜什么样的读者?这两本书有何不同?

刘文志:我还是先来说两本书的不同吧!
《并行算法设计与性能优化》侧重在并行打算和代码性能优化的理论,以及一些赞助理解理论的实例;而《并行编程方法与优化实践》侧重在进行并行编程须要节制的一些库、程序设计措辞的细节,以及一些如何利用这些措辞、库来优化算法的实例。

对付《并行算法设计与性能优化》来说,它适宜想要建立雄厚的并行打算和代码性能优化的根本的同学。
而《并行编程方法与优化实践》适宜由于项目须要,须要学习一种措辞或库来办理问题的同学。
如果想要长期从事并行打算方面的事情的同学,更要关注《并行算法设计与性能优化》。

从其余一方面来说,《并行算法设计与性能优化》可以算作《并行编程方法与优化实践》的根本,须要《并行编程方法与优化实践》的同学一定须要《并行算法设计与性能优化》。

CSDN:当初写这两本书的初衷是什么?分别历时多久完成的?你如何在进度压力下,享受写书带来的快乐?

刘文志:最早是由于想总结一下自己的知识,避免知识过期和跟踪并行打算领域的最新进展。
开始并没有打算出版,以是措辞、表达办法、内容构造都没有特殊的在意,可以说只有我自己能看懂。
后来决定出版后,花了大约一年的韶光来补充、删减内容,让它们更具有系统性和可读性。

写书本身是一个富有乐趣的行为,写技能书本更有乐趣,如何在讲授知识更形象,更具有意见意义性,何时恰当的增加代码示例都是非常有趣的,而想到读者能够从书中得到更多的知识时,这又是一项更大的乐趣。

写书时,进度的压力永久存在,以是操持非常主要。
合理的操持之后,写书的压力就变成了事情的压力之下的一种消遣。

CSDN:目前,异构打算在国内外的发展趋势是若何的?你怎么看待异构并行打算的未来?

刘文志:异构并行打算在国内外正在迅猛发展,我毕业的时候都担心找不到干系的事情,而本日无论是学校、超算中央还是企业对异构并行打算人士的需求都得不到很好的知足。
整体来说,异构并行打算现在向以下几个方向发展:

集群打算。
这是传统高性能打算的领域。
但是本日高性能打算已经演化成了异构并行打算的一部分,越来越多的高性能打算集群利用GPU、MIC,乃至FPGA等。
单机打算。
推动单机打算向异构并行打算发展的紧张动力是游戏、打算机赞助设计等,而紧张表现是GPU+CPU的异构打算。
X86处理器知足不了游戏渲染对打算能力的需求,必须须要GPU的存在,实际上现在Intel X86处理器芯片中集成显卡所利用的面积已经超过了CPU的面积。
移动打算。
近几年景长表明,人们对手机的需求比对PC的需求更大。
目前险些所有的移动芯片办理方案都是异构的,除了有CPU、GPU之外,他有***编解码单元,有音频处理单元。
人类方向于把更多事情内容转移得手机上,而为了担保续航韶光,移动处理器的设计一开始就不因此高性能为目标,这使得要在移动处理器上获取高性能是比较难的。
嵌入式打算。
在一些恶劣事情环境下,只有DSP和FPGA能够知足哀求,在DSP和FPGA上优化程序性能须要的技能和X86/GPU具有明显的差异。

在我看来,异构并行打算的未来是光明的,在未来几年内异构并行打算会得到进一步的发展。
目前来说更多的是异构并行打算环绕算法发展,即软件开拓职员将算法移植到异构并行打算平台上,未来将会涌现越来越多的为异构并行打算平台设计的算法,而企业对异构并行打算人士的需求缺口会进一步扩大。

CSDN:深度学习领域是打算机科学一个新兴领域,什么是深度学习?它与机器学习有何差异?目前深度学习面临的寻衅有哪些?

刘文志:深度学习并不是一个新兴领域,一些著名的研究职员(如hinton)80年代就已经在研究它了。
深度学习紧张是指神经网络,它的紧张特色是:不须要手动选择特色,特色是通过算法从数据中学习得到的,这能够减少人工选择特色的一些缺陷。
深度学习是机器学习这个大方向中的一个小方向。
传统的机器学习算法须要手动选取特色,而深度学习则从数据中学习特色。

目前深度学习面临的寻衅有很多,有算法方面的,也有实现方面的。
从算法方面来说,如何设计一个高性能的神经网络很主要,如何组织神经网络(有多少层,每层做什么操作,每层的神经元数量),如何初始化参数。

从实现方面来说,如何高效的实现算法,降落神经网络的演习韶光,如何在分布式环境下高效的演习神经网络。
末了如何网络到足够的数据来演习神经网络的同时又避免过拟合。

CSDN:对付开拓者而言该当如何学习并行打算,有没有履历可以分享下?

刘文志:并行打算的思维办法和串行打算具有明显的差异,要想学好并行打算建议同学们从以下几个方面努力:

培养并行思维,学习一些如何通过并行打算办理常见问题的实例,比如nbody问题、偏微分方程求解问题等。
理解一些硬件、系统的细节。
并行编程以提高打算速率为目的,这哀求开拓职员理解硬件、系统的详细细节,以避免走进了硬件、系统的毛病。
学习一些常见的并行编程措辞、工具的利用。
只有利用编程措辞、工具才能实现并行算法,才能在某个详细的硬件上运行,才能理解算法是否优秀。
边学习边编写并行代码。
学习的最好的办法是做出来,如果你制造出了飞机,还须要学习制造飞机吗?做才是最好的学习方法。
保持正派、谦善的心态。

CSDN:未来的下一步方案是什么?

刘文志:从短期、中期和长期来说,我的方案如下:

1. 我的短期方案是准备写一本OpenCL的技能书本;让国人更理解OpenCL这个生态环境。
这件事情正在做,希望不久之后就可以完成。

2. 我的中期方案是建立一个天下领先的异构并行打算团队;这件事情现在正常做,相信三四年后会成功。

3. 我的长期方案想改变中国在异构并行打算领域的现状。
这件事情我正在想如何去做,有人如果想到如何去做,可以联系我。

CSDN现开启图书作者专访栏目,欢迎推举采访人或自荐,来分享你的发展经历和干系技能,干系信息请发送邮件至:xiamz#csdn.net(#换成@)。
更多精彩内容,请点击社区之星或搜索关键字著译者说查看。