搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
基于CUDA的GPU并行程序开发指南
0.00     定价 ¥ 179.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购20本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111630616
  • 作      者:
    [美]托尔加·索亚塔(Tolga,Soyata)
  • 译      者:
    唐杰
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2019-07-01
收藏
作者简介
  唐杰,博士,南京大学计算机科学与技术系副教授,主要研究高性能计算与并行处理技术,主持和参与国家科技重大专项、国家自然科学基金等十余项课题,在国内外学术会议和期刊上发表了50多篇论文,还参与编写了多部教材。
  
  托尔加·索亚塔(Tolga Soyata),纽约州立大学奥尔巴尼分校电气与计算机工程系副教授。主要教授大规模集成电路、GPU编程课程,曾担任罗切斯特大学CUDA教学中心和CUDA研究中心负责人。
  Tolga Soyata,于1988年在伊斯坦布尔技术大学电子与通信工程系获得学士学位,1992年在美国马里兰州巴尔的摩的约翰·霍普金斯大学电气与计算机工程系(ECE)获得硕士学位,2000年在罗切斯特大学电气与计算机工程系获得博士学位。2000年至2015年间,他成立了一家IT外包和复印机销售/服务公司。在运营公司的同时,他重返学术界,在罗切斯特大学电气与计算机工程系担任研究员。之后,他成为助理教授,并一直担任电气与计算机工程系教职研究人员至2016年。在罗切斯特大学电气与计算机工程系任职期间,他指导了三名博士研究生。其中两人在他的指导下获得博士学位,另一位在他2016年加入纽约州立大学奥尔巴尼分校担任电气与计算机工程系副教授时留在了罗切斯特大学。Soyata的教学课程包括大规模集成电路、模拟电路以及使用FPGA和GPU进行并行编程。他的研究兴趣包括信息物理系统、数字健康和高性能医疗移动云计算系统等。
  Tolga Soyata从2009年开始从事GPU编程的教学,当时他联系Nvidia将罗切斯特大学认证为CUDA教学中心(CTC)。在Nvidia将罗切斯特大学认证为教学中心后,他成为主要负责人。之后,Nvidia还将罗切斯特大学认证为CUDA研究中心(CRC),他也成为项目负责人。Tolga Soyata在罗切斯特大学担任这些计划的负责人直到他于2016年加入纽约州立大学奥尔巴尼分校。这些计划后来被Nvidia命名为GPU教育中心和GPU研究中心。在罗切斯特大学期间,他讲授了5年GPU编程和高级GPU项目开发课程,这些课程同时被列入电气与计算机工程系以及计算机科学与技术系的课程体系。自2016年加入纽约州立大学奥尔巴尼分校以来,他一直在讲授类似的课程。本书是他在两所大学讲授GPU课程的经验结晶。
展开
内容介绍
  《基于CUDA的GPU并行程序开发指南》旨在帮助读者了解与基于CUDA的GPU并行编程技术有关的基本概念,并掌握使用C语言进行GPU高性能编程的相关技巧。
  《基于CUDA的GPU并行程序开发指南》共分为三部分,第一部分通过CPU多线程编程解释了并行计算,使得没有太多并行计算基础的读者也能毫无阻碍地入门CUDA;第二部分重点介绍了基于CUDA的GPU大规模并行程序的开发与实现,并通过大量的性能分析帮助读者理解如何开发一个好的GPU并行程序以及GPU架构对程序性能的影响:第三部分介绍了一些常用的CUDA库、OpenCL编程语言、其他GPU编程语言和API以及深度学习库cuDNN。
  《基于CUDA的GPU并行程序开发指南》内容翔实、实例丰富,可作为高等院校相关专业高年级本科生和研究生课程的教材,也可作为计算机相关技术人员的参考书。
展开
目录
译者序
前言
关于作者

第一部分 理解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编程
第三部分 拓展知识
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证