OpenCL异构并行编程实战
编辑推荐
资深软件开发人员撰写,浓缩作者多年的OpenCL使用经验和异构编程心得,系统讲述OpenCL的核心概念、技术及实用技巧 从软件开发人员的角度,深入剖析OpenCL异构并行编程技术,通过50多个OpenCL技巧案例及大量示例代码,加速掌握异构并行编程技术并理解高性能计算 OpenCL是一个免版税的标准,适用于对个人计算机、服务器、手机和嵌入式设备中的现代处理器进行跨平台的并行编程。 本书可大致划分为两部分,第一部分介绍OpenCL并行开发的基础知识,第二部分则给出各种算法。每一部分都包含许多代码示例和图解,以便演示各种概念。通过阅读本书,你将学到: OpenCL的使用方式 OpenCL中的数据划分和传送 OpenCL数据类型 OpenCL的各种函数,包括数学、原子、线程模型、数据传送等 在OpenCL中开发直方图 在OpenCL中开发索贝尔边缘检测滤波器 在OpenCL中实现矩阵乘法和稀疏矩阵向量乘法 在OpenCL中实现双调排序和基数排序 并行编程的相关知识
内容简介
资深软件开发人员撰写,从软件开发者的角度,深入剖析OpenCL异构并行编程技术,系统讲述OpenCL的核心概念、技术及实用技巧,融合作者多年OpenCL使用经验和异构编程心得,包含大量示例代码,有助于软件开发人员快速掌握异构并行编程技术并理解高性能计算。 本书共10章,第1章介绍使用OpenCL的目的,并概述OpenCL的核心概念;第2章讨论OpenCL中的缓冲区对象以及划分数据的策略;第3章解释OpenCL提供的两种常规数据类型,以及如何使用这些数据类型解决不同的问题;第4章讨论OpenCL提供的各种函数,以及如何使用对应的向量化函数加快执行速度;第5章给出典型OpenCL开发的生命周期及一些数据划分策略;第6章讨论如何开发索贝尔边缘检测滤波器;第7章讲述如何使用OpenCL实现矩阵乘法;第8章讨论如何在OpenCL中实现稀疏矩阵向量乘法;第9章介绍如何使用OpenCL开发双调排序;第10章介绍使用OpenCL开发基数排序。
作者简介
Raymond Tay,资深软件开发者,拥有非常丰富的软件开发经验,精通Scala、Haskell、C和C++等编程语言。Raymond于2008年开始接触GPGPU技术,最初使用的是NVIDIA提供的CUDA工具箱和AMD提供的OpenCL工具箱,然后使用的是Intel工具箱。他参与了多个使用CUDA和OpenCL中所提供GPGPU技术与技巧的项目,同时对云计算中的函数编程范例和相关应用充满热情,并研究通过使用GPGPU技术和函数编程范例加速云中应用程序的各种途径。