基于CUDA的GPU并行程序开发指南

0
(0)

基于CUDA的GPU并行程序开发指南

作者:TolgaSoyata

出版社:机械工业出版社

原作名:GPUParallelProgramDevelopmentUsingCUDA

译者:唐杰

出版年:2019-7

页数:425

定价:179

装帧:精装

丛书:高性能计算技术丛书

ISBN:9787111630616

内容简介
······

近10年来,随着大数据、深度学习等相关领域的发展,对计算能力的需求呈几何级数增长。与此同时,大规模集成电路的发展却受到功耗、散热、晶体管尺寸等客观因素的,难以继续维持摩尔定律。因此,人们逐渐把目光转向了并行系统。GPU自诞生之日起就是为计算机的图形图像渲染等大规模并行处理任务而服务的,因而越来越受到研究界和企业界的关注。随着CUDA等计算架构模型的出现,这一趋势更加明显。CUDA(Compute Unified Device Architecture,统一计算设备架构)是Nvidia(英伟达)提出的并行计算架构,它可以结合CPU和GPU的优点,处理大规模的计算密集型任务。同时,它采用了基于C语言风格的语法,又将CPU端和GPU端的开发有效地集成到了同一环境中,对于大多数C程序员来说,使用十分方便,因而一经推出就迅速占领了GPU开发环境的市场。然而,会写CUDA程序与会写好的CUDA程序相差……

目录
······

译者序

前言

关于作者

第一部分 理解CPU的并行性

第1章 CPU并行编程概述

1.1 并行编程的演化

1.2 核心越多,并行性越高

1.3 核心与线程

1.3.1 并行化更多的是线程还是核心

1.3.2 核心资源共享的影响

1.3.3 内存资源共享的影响

1.4 第一个串行程序

1.4.1 理解数据传输速度

1.4.2 imflip.c中的main()函数

1.4.3 垂直翻转行:FlipImageV()

1.4.4 水平翻转列:FlipImageH()

1.5 程序的编辑、编译、运行

1.5.1 选择编辑器和编译器

1.5.2 在Windows7、8、10平台上开发

1.5.3 在Mac平台上开发

1.5.4 在Unix平台上开发

1.6 Unix速成

1.6.1 与目录相关的Unix命令

1.6.2 与文件相关的Unix命令

1.7 调试程序

1.7.1 gdb

1.7.2 古典调试方法

1.7.3 valgrind

1.8 第一个串行程序的性能

1.8.1 可以估计执行时间吗

1.8.2 代码执行时OS在做什么

1.8.3 如何并行化

1.8.4 关于资源的思考

第2章 开发第一个CPU并行程序

2.1 第一个并行程序

2.1.1 imflipP.c中的main()函数

2.1.2 运行时间

2.1.3 imflipP.c中main()函数代码的划分

2.1.4 线程初始化

2.1.5 创建线程

2.1.6 线程启动/执行

2.1.7 线程终止(合并)

2.1.8 线程任务和数据划分

2.2 位图文件

2.2.1 BMP是一种无损/不压缩的文件格式

2.2.2 BMP图像文件格式

2.2.3 头文件ImageStuff.h

2.2.4 ImageStuffc中的图像操作函数

2.3 执行线程任务

2.3.1 启动线程

2.3.2 多线程垂直翻转函数MTFlipV()

2.3.3 FlipImageV()和MTFlipV()的比较

2.3.4 多线程水平翻转函数MTFlipH()

2.4 多线程代码的测试/计时

第3章 改进第-个CPU并行程序

……

第二部分 基于CUDA的GPU编程

第三部分 拓展知识

评论 ······

非常好的入门书籍,从体系结构讲到高性能编程,程序例子也非常清晰易懂、有代表性。

入门书籍,对原理的阐述清晰易懂,内容完备系统化

非常好的入门书籍,从体系结构讲到高性能编程,程序例子也非常清晰易懂、有代表性。

入门书籍,对原理的阐述清晰易懂,内容完备系统化

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

推荐阅读

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册