<p>阿塔韦等编著的《MATLAB编程与工程应用(第2版)》分成两大部分:第一部分主要讲述如何用MATLAB进行程序设计及解决实际问题,具体内容包括MATLAB程序设计概念、选择、循环、字符串操作、单元阵列与结构、高级文件输入/输出及高级函数等;第二部分完全针对实际应用,具体内容包括用MATLAB绘图、解线性代数方程组、进行基本统计、集合、排序和索引、处理声音和图像,以及高等数学中的曲线拟合、复数计算、微积分等。</p> <p> 《MATLAB编程与工程应用(第2版)》可以作为各大专院校非计算机专业学生程序设计的教材或参考书,也可以作为工程技术人员的参考用书。</p>
GPU与MATLAB混合编程
✍ Scribed by Jung W. Suh; Youngmin Kim
- Publisher
- 机械工业出版社
- Year
- 2016
- Tongue
- Chinese
- Leaves
- 218
- Series
- 国际信息工程先进技术译丛
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书介绍CPU和MATLAB的联合编程方法,包括首先介绍了不使用GPU实现MATLAB加速的方法;然后介绍了MATLAB和计算统一设备架(CUDA)配置通过分析进行zuiyou规划,以及利用c-mex进行CUDA编程;接着介绍了MATLAB与并行计算工具箱和运用CUDA加速函数库;zui后给出计算机图形实例和CUDA转换实例。本书还通过大量的实例、图示和代码,深入浅出地引导读者进入GPU的殿堂,易于读者理解和掌握。通过阅读本书,读者无需付出很多的精力和时间,就可以学习使用GPU进行并行处理,实现MATLAB代码的加速,提高工作效率,从而将更多的时间和精力用于创造性工作和其他事情。
本书可作为相关专业高年级本科生和研究生的教材,也可作为工程技术人员的参考书。
✦ Table of Contents
GPU与MATLAB混合编程
书名页
版权页
译者序
前言
目录
第1章 不使用GPU实现MATLAB加速
1.1 本章学习目标
1.2 向量化
1.2.1 元素运算
1.2.2 向量/矩阵运算
1.2.3 实用技巧
1.3 预分配
1.4 for-loop
1.5 考虑稀疏矩阵形式
1.6 其他技巧
1.6.1 尽量减少循环中的文件读/写
1.6.2 尽量减少动态改变路径和改变变量类型
1.6.3 在代码易读性和优化间保持平衡
1.7 实例
第2章 MATLAB和CUDA配置
2.1 本章学习目标
2.2 配置MATLAB进行c-mex编程
2.2.1 备忘录
2.2.2 编译器的选择
2.3 使用c-mex实现“Hello,mex!”
2.4 MATLAB中的CUDA配置
2.5 实例:使用CUDA实现简单的向量加法
2.6 图像卷积实例
2.6.1 MATLAB中卷积运算
2.6.2 用编写的c-mex计算卷积
2.6.3 在编写的c-mex中利用CUDA计算卷积
2.6.4 简单的时间性能分析
2.7 总结
第3章 通过耗时分析进行最优规划
3.1 本章学习目标
3.2 分析MATLAB代码查找瓶颈
3.2.1 分析器的使用方法
3.2.2 针对多核CPU更精确的耗时分析
3.3 CUDA的c-mex代码分析
3.3.1 利用VisualStudio进行CUDA分析
3.3.2 利用NVIDIAVisualProfiler进行CUDA分析
3.4 c-mex调试器的环境设置
第4章 利用c-mex进行CUDA编程
4.1 本章学习目标
4.2 c-mex中的存储布局
4.2.1 按列存储
4.2.2 按行存储
4.2.3 c-mex中复数的存储布局
4.3 逻辑编程模型
4.3.1 逻辑分组1
4.3.2 逻辑分组2
4.3.3 逻辑分组3
4.4 GPU简单介绍
4.4.1 数据并行
4.4.2 流处理器
4.4.3 流处理器簇
4.4.4 线程束
4.4.5 存储器
4.5 第一种初级方法的分析
4.5.1 优化方案A:线程块
4.5.2 优化方案B
4.5.3 总结
第5章 MATLAB与并行计算工具箱
5.1 本章学习目标
5.2 GPU处理MATLAB内置函数
5.3 GPU处理非内置MATLAB函数
5.4 并行任务处理
5.4.1 MATLABworker
5.4.2 parfor
5.5 并行数据处理
5.5.1 spmd
5.5.2 分布式数组与同分布数组
5.5.3 多个GPU时的worker
5.6 无需c-mex的CUDA文件直接使用
第6章 使用CUDA加速函数库
6.1 本章学习目标
6.2 CUBLAS
6.2.1 CUBLAS函数
6.2.2 CUBLAS矩阵乘法
6.2.3 使用VisualProfiler进行CUBLAS分析
6.3 CUFFT
6.3.1 通过CUFFT进行二维FFT运算
6.3.2 用VisualProfiler进行CUFFT时间分析
6.4 Thrust
6.4.1 通过Thrust排序
6.4.2 采用VisualProfiler分析Thrust
第7章 计算机图形学实例
7.1 本章学习目标
7.2 Marching-Cubes算法
7.3 MATLAB实现
7.3.1 步骤1
7.3.2 步骤2
7.3.3 步骤3
7.3.4 步骤4
7.3.5 步骤5
7.3.6 步骤6
7.3.7 步骤7
7.3.8 步骤8
7.3.9 步骤9
7.3.10 时间分析
7.4 采用CUDA和c-mex实现算法
7.4.1 步骤1
7.4.2 步骤2
7.4.3 时间分析
7.5 用c-mex函数和GPU实现
7.5.1 步骤1
7.5.2 步骤2
7.5.3 步骤3
7.5.4 步骤4
7.5.5 步骤5
7.5.6 时间分析
7.6 总结
第8章 CUDA转换实例:3D图像处理
8.1 本章学习目标
8.2 基于Atlas分割方法的MATLAB代码
8.2.1 基于Atlas分割背景知识
8.2.2 用于分割的MATLAB代码
8.3 通过分析进行CUDA最优设计
8.3.1 分析MATLAB代码
8.3.2 结果分析和CUDA最优设计
8.4 CUDA转换1——正则化
8.5 CUDA转换2——图像配准
8.6 CUDA转换结果
8.7 结论
附录
附录A 下载和安装CUDA库
A.1 CUDA工具箱下载
A.2 安装
A.3 确认
附录B 安装NVIDIANsight到VisualStudio
📜 SIMILAR VOLUMES
《精通Matlab与C/C++混合程序设计(第2版)》主要介绍如何运用Matlab与c/C++进行混合程序设计。共分8章,主要包括:Matlab程序设计初步、Matlab编译器、Matlab与C语言的接口、生成可独立运行的Matlab程序、VisualC++调用Matlab程序、Matlab DotNetBuilder与Visual C++、Matcom与C/C++以及Visual C++调用Matlab C++数学库。另外,附录中介绍有关动态链接库的基础知识。各章包含大量的实例程序,可供寻求将Matlab程序脱离:Matlab环境的Matlab程序设计人员、寻求在Matlab中调用C/C++
在最近的几年中,PHP已经发展成为世界上最为流行的Web平台,它运行在全球超过1/3的Web服务器上。PHP的发展不仅是数量上的,也是质量上的。越来越多的公司,包括全球500强榜上的公司都依靠PHP来运行它们的商业级应用,从而创造了新的就业机会并增加了更多的PHP开发需求。本书共分14章,主要内容包括PHP环境的搭建、PHP开发工具、变量和常量、运算符与表达式、流程控制、数学函数、字符串搜索和截取、文件读写、文件上传与下载等。在应用方面介绍了PHP获取HTML表单数据,获取Cookie和Session数据,获取数据库数据,获取XML和JSON数据,获取Ajax异步数据等知识。最后一章介绍了常用
MATLAB Programming for Engineers