加速MATLAB编程指南——CUDA实现
加速MATLAB编程的指南,基于众核CPU和加速器加速MATLAB代码的理论与编程方法

作者:赵地

定价:59元

印次:1-2

ISBN:9787302493174

出版日期:2018.08.01

印刷日期:2018.10.15

图书责编:梁颖

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

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会员。

前言 【写作背景】 从20世纪70年代以来,MATLAB便受到学术界和工业界的欢迎。时至今年,MATLAB拥有大约200万用户。MATLAB的最大优点是易用性: Cleve Moler当年开发MATLAB的初衷是不用学习Fortran语言,也能够使用线性代数库LINPACK和EISPACK。MATLAB的易用性能够显著降低开发难度和减小开发周期,对于面临科研成果压力的学术界和面临利润压力的工业界有很大的吸引力。 易用性的代价是MATLAB的运算效率不如编译型的编程语言,如C/C++和Fortran。同时,创新的压力使学术界和工业界开发出来的MATLAB程序越来越复杂。多项因素综合的结果,使MABLAB程序的效率不高,运行时间长。 很多MATLAB程序的用户对程序运行时间有要求。例如,金融领域的算法开发者和使用者,往往对程序的运行时间有苛刻的要求; 医学领域的算法开发者和使用者希望MATLAB程序的速度达到临床的要求; 对于数据分析领域的MATLAB使用者,分析大数据所耗费的运行时间是很大的问题。因此,工业界和学术界的MATLAB的开发者和使用者,都有对于MATLAB程序加速的强烈需求。 现代硬件技术的发展,使MATLAB程序的开发者和使用者能够拥有多核(multicore)、大内存等有效工具; 图形处理器(Graphics Processing Unit,GPU)具有很好的加速能力。同时,一些公司还推出了专用的计算加速卡,如英伟达公司的Tesla系列计算加速卡、AMD公司的Fire Pro系列计算加速卡、Intel公司的Xeon Phi计算加速卡等。 M...

目录
荐语
查看详情 查看详情

目录

第1章绪论

1.1MATLAB程序的加速

1.2MATLAB程序加速的可能途径

1.2.1基于多核CPU的MATLAB程序加速

1.2.2基于大内存的MATLAB程序加速

1.2.3基于英伟达公司GPU的MATLAB程序加速

1.2.4基于AMD公司GPU的MATLAB程序加速

1.2.5基于Intel公司Xeon Phi的MATLAB程序加速

1.3MATLAB程序加速的度量

1.4基于GPU计算的MATLAB程序的编制

1.4.1并行计算工具箱简介

1.4.2CUDA库

1.4.3CUDA编程

第2章MATLAB程序的性能评估

2.1bench()函数

2.2tic()函数/toc()函数

2.3timeit()函数

2.4cputime()函数

2.5clock()函数和etime()函数

2.6gputimeit()函数

2.7MATLAB探查器

第3章基于多核处理器的MATLAB程序加速

3.1MATLAB矩阵及运算符

3.1.1MATLAB矩阵的创建

3.1.2矩阵的性质的检验

3.1.3MATLAB矩阵的操作

3.2MATLAB函数

3.2.1MATLAB函数的定义

3.2.2MATLAB函数的执行

3.3语句与代码

3.3.1分支结构

3.3.2循环结构

3.4MATLAB代码

3.5MATLAB并行设置

3.6基于并行for循环(p... 查看详情

从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计算加速卡等。


查看详情