清华大学出版社

您所在的位置:网站首页 matlab编程入门书籍 清华大学出版社

清华大学出版社

2023-02-16 15:15| 来源: 网络整理| 查看: 265

MATLAB是广泛应用的算法开发语言之一。然而,MATLAB简单易用的特性与算法复杂性的矛盾,造成了各个领域的MATLAB程序运行缓慢。本书总结了作者多年来在算法开发工作中关于MATLAB程序加速的实战经验,系统地介绍了利用GPU计算能力和CUDA编程语言实现加速MATLAB编程的方法。 本书首先介绍了MATLAB程序的性能评估的方法,帮助读者找到制约MATLAB程序运行速度的“瓶颈”所在; 接着循序渐进地介绍加速MATLAB编程的方法,包括基于多核处理器的MATLAB程序加速、基于大内存和向量化的MATLAB程序加速、基于并行计算工具箱和GPU计算的MATLAB加速、基于CUDA库的MATLAB加速、基于CUDA语言的MATLAB加速等。同时,本书附带了大量程序实例,包括深度学习及大数据分析领域的例子,深入浅出地示范各种基于CUDA语言的MATLAB程序加速的技巧。 本书可帮助读者对所在领域的MATLAB应用程序进行显著加速,大幅提升算法开发的效率。

more >

前言 【写作背景】 从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计算加速卡等。 MATLAB提供了调用其他程序的接口,并能够完成MATLAB与其他程序之间的数据传输: MATLAB能够通过MEXfile(MATLAB executable)的形式,调用C/C++和Fortran语言的程序; Windows版本的MATLAB可以调用ActiveX和DotNet(.NET)程序; 从2000年的6.0版本(R12)开始,MATLAB捆绑了JVM(Java Virtual Machine),能够调用Java程序; MATLAB也能够通过perl()调用perl代码。 MATLAB集成较好的多核(multicore)加速能力。大多数情况下,MATLAB的开发者和使用者能够不做任何修改,自动获得多核加速能力。多核加速性能要求苛刻的用户,能够通过MATLAB与其他程序的接口,获得极致的多核加速能力。 现代计算机都配有较大的内存容量,大内存能够显著提升MATLAB的计算速度。MATLAB没有提供对大内存优化的自动工具。为了有效利用大的内存容量,MATLAB的开发者和使用者需要通过向量化(vectorization)对MATLAB程序进行优化。 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的支持。 本书基于作者多年GPU计算与加速的研究和经验[112],全面叙述了基于CUDA编程的加速MATLAB编程的方法。 【读者人群】 本书适用于各行各业利用MATLAB进行算法开发,并且对MATLAB程序有加速需求的专业人员。本书主要面向满足日常办公需要的个人计算机(Personal Computer,PC)和服务器(Server),并安装了GPU加速卡。 【衷心感谢】 感谢英伟达公司袁永清先生等对于本书撰写与出版的大力支持。感谢MATLAB公司吕凌曦女士对本书出版的大力支持。感谢清华大学出版社电子信息事业部主任梁颖先生对于本书出版的大力支持。感谢丽台科技王锋先生提供了测试用GPU卡。 【相关读物】 为了确保内容的正确性,在本书编写的过程中,作者参考了MATLAB Programming Fundamentals R2017a、MATLAB Parallel Computing Toolbox User's Guide R2017a和CUDA C Programming Guide v8.0等。读者还可以参阅GPU计算与MATLAB编程相关中英文书籍[1316]。 编者 2017年7月

more > 暂无课件 样章下载 暂无网络资源 扫描二维码 下载APP了解更多

版权图片链接



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3