网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 加速MATLAB编程指南
分类 教育考试-考试-计算机类
作者 赵地 著
出版社 清华大学出版社
下载
简介
内容推荐
MATLAB是广泛应用的算法开发语言之一。然而,MATLAB简单易用的特性与算法复杂性的矛盾,造成了各个领域的MATLAB程序运行缓慢。本书总结了作者多年来在算法开发工作中关于MATLAB程序加速的实战经验,系统地介绍了利用GPU计算能力和CUDA编程语言实现加速MATLAB编程的方法。本书首先介绍了MATLAB程序的性能评估的方法,帮助读者找到制约MATLAB程序运行速度的“瓶颈”所在; 接着循序渐进地介绍加速MATLAB编程的方法,包括基于多核处理器的MATLAB程序加速、基于大内存和向量化的MATLAB程序加速、基于并行计算工具箱和GPU计算的MATLAB加速、基于CUDA库的MATLAB加速、基于CUDA语言的MATLAB加速等。同时,本书附带了大量程序实例,包括深度学习及大数据分析领域的例子,深入浅出地示范各种基于CUDA语言的MATLAB程序加速的技巧。本书可帮助读者对所在领域的MATLAB应用程序进行显著加速,大幅提升算法开发的效率。
目录
第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循环(parfor循环)的MATLAB程序加速
第4章基于大内存的MATLAB程序的加速
4.1内存条的选择与安装
4.2内存预分配
4.2.1已知数组大小
4.2.2未知数组大小
4.3MATLAB向量化简介
4.4MATLAB矩阵运算的向量化
4.4.1创建MATLAB矩阵的函数
4.4.2数据复制
4.4.3MATLAB的矩阵变换函数
4.4.4索引
4.4.5矩阵操作的向量化
4.4.6符合条件的元素总数
4.5MATLAB函数的向量化
4.5.1基于arrayfun()函数、bsxfun()数、cellfun()函数、
spfun()函数和structfun()函数的向量化
4.5.2基于pagefun()函数的向量化
4.6MATLAB语句的向量化
第5章基于并行计算工具箱的MATLAB加速
5.1GPU卡的选择与安装
5.1.1GPU卡的选择
5.1.2电源功率
5.1.3散热问题
5.2基于并行计算工具箱的GPU计算简介
5.3基于并行计算工具箱的矩阵运算
5.3.1在设备端(GPU端)直接创建MATLAB矩阵
5.3.2在设备端(GPU端)生成随机数矩阵
5.3.3设备端(GPU端)的稀疏矩阵
5.3.4设备端(GPU端)矩阵的数据类型
5.3.5设备端(GPU端)矩阵的检验
5.3.6设备端(GPU端)矩阵的操作
5.4基于并行计算工具箱的设备端(GPU端)函数
5.4.1设备端(GPU端)函数的定义
5.4.2设备端(GPU端)函数的执行
5.5基于设备端(GPU端)大内存的MATLAB程序的加速
5.6例子
5.6.1卷积神经网络前向传播的卷积层
5.6.2卷积神经网络前向传播的激活函数
5.6.3卷积神经网络前向传播的降采样层
5.6.4卷积神经网络后向传播的升采样层
5.6.5卷积神经网络后向传播的卷积层
5.6.6卷积神经网络后向传播中的梯度计算
第6章MATLAB与C/C++的接口
6.1MEX库API
6.1.1MEX相关的函数
6.1.2从MEX中调用MATLAB函数
6.1.3mexGet()函数
6.1.4MEX库API与输入输出相关的函数
6.1.5MEX库API与锁定相关的函数
6.2MATLAB的C/C++矩阵库API
6.2.1定义MEX函数的数据类型
6.2.2创建数组、分配内存和释放内存
6.2.3数据类型校验: 数组的数据类型和性质
6.2.4数据存取: 从数组读取和写入数据
6.2.5数据类型转换: 将字符串数组和结构数组转换成对象数组
6.3MEX函数编译器
6.3.1MEX介绍
6.3.2编译MEX
6.3.3MEX文件的查错
第7章基于CUDA库的MATLAB加速
7.1基于CUDA库的MATLAB加速简介
7.2基于ArrayFire库的MATLAB加速简介
7.2.1ArrayFire简介
7.2.2ArrayFire数组
7.2.3ArrayFire函数
7.2.4CUDA的混合编程
7.2.5实例
7.3基于其他CUDA库的MATLAB加速简介
第8章GPU计算简介
8.1芯片技术的发展与摩尔定律
8.2每秒浮点运算次数
8.3GPU计算加速的度量
8.3.1GPU程序的加速比
8.3.2阿姆达尔定律和古斯塔夫森定律
8.3.3并行程序的并行状况
8.4并行计算部件
8.4.1张量处理器
8.4.2现场可编程门阵列
8.4.3类脑处理器
8.4.4视觉处理器
8.4.5物理处理器
8.4.6图形处理器
8.5英伟达公司GPU简介
8.5.1计算单
8.5.2GPU内存
8.5.3计算能力
8.5.4GPU当前状态的检测
8.5.5GPU集群设置
8.5.6集群管理软件
第9章CUDA编程简介
9.1CUDA核
9.2CUDA线程与线程块
9.2.1CUDA线程
9.2.2CUDA线程块
9.3内存结构与管理
9.3.1全局内存
9.3.2共享内存
9.3.3锁页内存
9.3.4纹理内存和表面内存
9.4并行管理
9.4.1非同步并行执行
9.4.2流和事件
9.4.3同步调用
9.5CUDA流
9.5.1CUDA流的创建和结束
9.5.2默认CUDA流
9.5.3显式同步
9.5.4隐式同步
9.5.5重叠行为
9.5.6回调函数
9.5.7CUDA流的优先级
9.6CUDA事件
9.6.1CUDA事件的创建与清除
9.6.2CUDA事件的运行
9.7多设备系统
9.7.1多设备系统的初始化
9.7.2多设备系统的设备计数
9.7.3多设备系统的设备选择
9.7.4多设备系统的CUDA流和CUDA事件
9.7.5不通过统一虚拟地址的多设备系统的设备间的内存复制
9.7.6通过统一虚拟地址的多设备系统的设备间的内存复制
9.8动态并行
9.8.1动态并行简介
9.8.2动态并行的编程模型
9.8.3动态并行的环境配置
9.8.4动态并行的内存管理
9.8.5动态并行的嵌套深度
9.9统一虚拟地址空间
9.9.1统一虚拟地址空间简介
9.9.2统一内存编程的优点
9.9.3统一内存分配
9.9.4统一内存的连续性与并行性
9.9.5统一内存的检验
9.9.6统一内存的性能优化
9.10CUDA的编译
9.10.1CUDA编译工作流
9.11CUDA程序实例
9.11.1序列蒙特卡罗的类别分布随机数
9.11.2哈尔变换
第10章CUDA程序优化
10.1CUDA程序优化的策略
10.2指令级别的优化
10.2.1算术指令吞吐量优选化
10.2.2控制流指令
10.2.3同步指令
10.3线程和线程块级别的优化
10.3.1warp简介
10.3.2CUDA线程块的warp数量
10.3.3CUDA占用率
10.3.4线程warp对设备端(GPU端)内存读写
10.4CUDA核级别的优化
10.4.1优化CUDA核参数
10.4.2减少内存同步
10.4.3减少寄存器总量
10.4.4提高指令层次的并行度
10.5CUDA程序级别的优化
第11章基于CUDA的MATLAB加速
11.1基于CUDAKernel的MATLAB加速
11.2基于MEX函数的MATLAB加
11.3多GPU编程
11.4例子
11.4.1基于MEX函数的多GPU矩阵相加
11.4.2基于MEX函数的多GPU的LSE函数
第12章总结
12.1加速MATLAB编程方法的比较
12.2进一步加速MATLAB
12.2.1多路多核处理器的MATLAB程序加速
12.2.2基于AMD公司GPU的MATLAB程序加速
12.2.3基于Intel公司Xeon Phi的MATLAB程序加速
参考文献
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/1/18 20:23:16