GPU高性能运算之CUDA

GPU高性能运算之CUDA

作者:张舒

出版社:中国水利水电出版社

出版年:2009-10-01

评分:5分

ISBN:9787508465432

所属分类:网络科技

书刊介绍

GPU高性能运算之CUDA 内容简介

本书是全国**本全面介绍CUDA软硬件体系架构的书籍。全面介绍使用CUDA进行通用计算所需要的语法、硬件架构、程序优化技巧等知识,是进行GPU通用计算程序开发的入门教材和参考书。
本书共分5章。第1章介绍GPU通用计算的发展历程,介绍并行计算的历史、现状以及面临的问题;第2章介绍CUDA的使用方法,帮助读者理解CUDA的编程模型、存储器模型和执行模型,掌握CUDA程序的编写方法;第3章探讨CUDA硬件架构,深入分析Tesla GPU架构与CUDA通用计算的相互作用:第4章总结CUDA的高级优化方法,对任务划分、存储器访问、指令流效率等课题进行探讨;第5章以丰富的实例展示如何使用CUDA的强大性能解决实际问题。
本书可作为CUDA的学习入门和编程参考书,主要面向从事高性能计算的程序员与工程师,使用GPU加速专业领域计算的科研人员,以及对GPU通用计算感兴趣的程序员。开设相关课程的高等院校与科研机构也可选用本书作为教材。

GPU高性能运算之CUDA 本书特色

精选典型实用例程,详解CUDA使用细节,重视理论结合实际,介绍并行程序设计方法,深入分析硬件架构,揭示模型与底层映射关系,精心总结优化经验,解析高性能编程技巧。

GPU高性能运算之CUDA 目录

前言
第1章 GPU通用计算
1.1 多核计算的发展
1.1.1 CPU多核并行
1.1.2 超级计算机、集群与分布式计算
1.1.3 CPU+GPU异构并行
1.2 GPU发展简介
1.2.1 GPU渲染流水线
1.2.2 着色器模型
1.2.3 NVIDIA GPU发展简介
1.3 从GPGPU到CUDA
1.3.1 传统GPGPU开发
1.3.2 CUDA开发
第2章 CUDA基础
2.1 CUDA编程模型
2.1.1 主机与设备
2.1.2 Kernel函数的定义与调用
2.1.3 线程结构
2.1.4 硬件映射
2.1.5 deviceQuery示例
2.1.6 matrixAssign示例
2.2 CUDA软件体系
2.2.1 CUDA C语言
2.2.2 nvcc编译器
2.2.3 运行时APl与驱动APl
2.2.4 CUDA函数库
2.3 CUDA存储器模型
2.3.1 寄存器
2.3.2 局部存储器
2.3.3 共享存储器
2.3.4 全局存储器
2.3 5 主机端内存
2.3.6 主机端页锁定内存
2.3.7 常数存储器
2.3.8 纹理存储器
2.4 CUDA通信机制
2.4.1 同步函数
2.4.2 Volatile关键字
2.4.3 ATOM操作
2.4.4 VOTE操作
2.5 异步并行执行
2.5.1 流
2.5.2 事件
2.6 CUDA与图形学APl互操作
2.6.1 CUDA与OpenGL的互操作
2.6.2 CUDA与Direct3D互操作
2.7 多设备与设备集群
2.7.1 CUDA设备控制
2.7.2 CUDA与openMP
2.7.3 CUDA与集群
第3章 CUDA硬件架构
3.1 NVIDIA显卡构造简介
3.1.1 图形显卡概览
3.1.2 PCI—E总线
3.1.3 显存
3.1.4 GPU芯片
3.2 Tesla图形与计算架构
3.2.1 SPA—TPC—SM
3.2.2 主流GPU架构
3.3 Tesla通用计算模型
3.3.1 数据与指令的加载
3.3.2 warp指令的发射与执行
3.3.3 纹理、渲染和存储器流水线
第4章 CUDA程序的优化
4.1 CUDA程序优化概述
4.2 测量程序运行时间
4.2.1 设备端测时
4.2.2 主机端测时
4.3 任务划分
……
第5章 综合应用
附录A 安装、配置、编译及调试
附录B 常见问题与解答
附录C 技术规范
附录D C扩展
附录E 数学函数
附录F 纹理拾取
附录G 着色器模型

GPU高性能运算之CUDA 节选

第1章 GPU通用计算
目前,主流计算机中的处理器主要是中央处理器CPU和图形处理器GPU。传统上,GPU只负责图形渲染,而大部分的处理都交给了CPU。
21世纪人类所面临的重要科技问题,如卫星成像数据的处理、基因工程、全球气候准确预报、核爆炸模拟等,数据规模已经达到TB甚至PB量级,没有万亿次以上的计算能力是无法解决的。与此同时,我们在日常应用中(如游戏、高清视频播放)面临的图形和数据计算也越来越复杂,对计算速度提出了严峻挑战。
GPU在处理能力和存储器带宽上相对CPU有明显优势,在成本和功耗上也不需要付出太大代价,从而为这些问题提供了新的解决方案。由于图形渲染的高度并行性,使得GPU可以通过增加并行处理单元和存储器控制单元的方式提高处理能力和存储器带宽。GPU设计者将更多的晶体管用作执行单元,而不是像CPU那样用作复杂的控制单元和缓存并以此来提高少量执行单元的执行效率。图1—1对CPU与GPU中晶体管的数量以及用途进行了比较。
……

GPU高性能运算之CUDA 作者简介

张舒,电子科技大学信息与通信工程专业硕士,现任NvIDIA深圳有限公司系统设计验证工程师,CUDA技术顾问。曾实现基于CUDA的神经网络、聚类分析、主分量分析等模式识别算法,以及信号仿真、密码破解、字符串匹配等应用。

相关推荐

微信二维码