加速MATLAB编程指南CUDA实现
编辑推荐
从20世纪70年代Cleve Moler开发MATLAB开始, MATLAB受到学术界和工业界的欢迎,用户超过200万。然而,很多算法的MATLAB实现代码都有加速的需求。以深度学习为例,相关的MATLAB代码需要运行数小时甚至数天的时间。GPU计算和CUDA编程为MATLAB加速提供了很好的解决方案。
现代的硬件技术的发展,使MATLAB程序的开发者和使用者能够拥有多核(multicore)、大内存等有效工具;图形处理器(Graphics Processing Unit,GPU)具有很好的加速能力。同时,一些公司还推出了专用的计算加速卡,如英伟达公司的Tesla系列计算加速卡、AMD公司的Fire Pro系列计算加速卡、Intel公司的Xeon Phi计算加速卡等。
GPU是现代计算机必备的配件,都有不错的加速能力。GPU的主要生产厂商包括英伟达公司和AMD公司。MATLAB通过并行计算工具箱(Parallel Computing Toolbox,PCT)对英伟达公司的GPU单卡提供支持,MATLAB的开发者和使用者可以通过PCT使用英伟达公司生产的GPU。需要英伟达公司GPU多卡的计算支持和对英伟达公司GPU计算加速性能要求好的程序员,可以通过MATLAB与C / C++程序或者Fortran程序的接口,获得计算性能的提升。MATLAB不直接提供对AMD公司GPU的提供支持,MATLAB的开发者和使用者需要对AMD公司生产的GPU编写程序,并通过MATLAB与C / C++程序或者Fortran程序的接口功能(wrapper function),获得MATLAB对AMD公司的GPU的支持。
《加速MATLAB编程指南:CUDA实现》基于作者多年GPU计算与加速的研究和经验[1-10],全面叙述了基于CUDA编程的加速MATLAB编程的方法。
《加速MATLAB编程指南:CUDA实现》适应于各行各业利用MATLAB进行算法开发,并且对MATLAB程序有加速需求的专业人员。《加速MATLAB编程指南:CUDA实现》主要是面向满足日常办公需要的个人计算机(Personal Computer,PC)和服务器(Server),并安装了GPU加速卡。
内容简介
MATLAB是广泛应用的算法开发语言之一。然而,MATLAB简单易用的特性与算法复杂性的矛盾,造成了各个领域的MATLAB程序运行缓慢。本书总结了作者多年来在算法开发工作中关于MATLAB程序加速的实战经验,系统地介绍了利用GPU计算能力和CUDA编程语言实现加速MATLAB编程的方法。
本书首先介绍了MATLAB程序的性能评估的方法,帮助读者找到制约MATLAB程序运行速度的“瓶颈”所在; 接着循序渐进地介绍加速MATLAB编程的方法,包括基于多核处理器的MATLAB程序加速、基于大内存和向量化的MATLAB程序加速、基于并行计算工具箱和GPU计算的MATLAB加速、基于CUDA库的MATLAB加速、基于CUDA语言的MATLAB加速等。同时,本书附带了大量程序实例,包括深度学习及大数据分析领域的例子,深入浅出地示范各种基于CUDA语言的MATLAB程序加速的技巧。
本书可帮助读者对所在领域的MATLAB应用程序进行显著加速,大幅提升算法开发的效率。
作者简介
赵地获得美国路易斯安娜理工大学(Louisiana Tech University)计算机与应用数学专业博士学位,曾在美国哥伦比亚大学(Columbia University)和美国俄亥俄州立大学(The Ohio State University)从事博士后研究工作。
赵地博士在GPU计算方面具有丰富的研究经验,发表了多篇学术论文和会议论文。现任CNIC-英伟达公司GPU研究中心(GPU Research Center, GRC)、CNIC-英伟达公司GPU教育中心(GPU Education Center, GEC)和CNIC-英伟达公司“智慧医疗”联合实验室负责人;中国图象图形学学会视觉大数据专业委员会委员,CCF会员。