《CUDA高性能并行计算》----3.5 本章小结

本 节 书 摘 来 自 华 章 出 版 社 《CUDA高性能并行计算》 一 书 中 的 第3章,第3.5节, 作 者 CUDA for Engineers: An Introduction to High-Performance Parallel Computing[美] 杜安·斯托尔蒂(Duane Storti)梅特·尤尔托卢(Mete Yurtoglu) 著,苏统华 项文成 李松泽 姚宇鹏 孙博文 译 , 更 多 章 节 内 容 可 以 访 问 云 栖 社 区 “华 章 计 算 机” 公 众 号 查 看。

3.5 本章小结

在本章中,我们使用CUDA依次创建了dist_v1dist_v2的并行化版本—dist_v1_cudadist_v2_cuda

dist_v2_cuda为CUDA应用标准工作流程提供范例。下面是一些简明的内容回顾(CUDA应用包括的大致步骤):

创建主机端输入和输出的数组,为输入数据和结果提供存储空间。

在设备端上为类似的输入和输出数组声明指针并分配内存。

将输入数据从主机端复制到设备端对应的数组上。

启动一个核函数在设备端上进行计算并将结果写入设备端的输出数组。

将结果从设备端的数组复制到主机端对应的数组上。

释放为数组分配的内存。

恭喜你,你已经迈入了大规模并行计算的大门。现在你应该能够开始修改一些样例应用和CUDA样例来创建你自己的CUDA应用了。注意我们用“需知”(Need-to-know)的理念来尽量快速和简明地完成CUDA的入门部分。我们实现了标准的CUDA操作流程(其中包括在主机端和设备端分别存储一份数据以及显式的数据传输的函数调用),也实现了使用统一内存这一简便方法来让开发方法变得尽可能简单。

虽然我们快速实现了最初希望利用CUDA能力的目标,但是值得注意的是我们跳过了一些应该考虑的重要问题(错误处理、CUDA调试、计时以及性能分析等),当你开发较大的CUDA项目时。这些是你需要(至少是想要)知道的。这些主题将在附录D中讨论,读者现在已经掌握了阅读它们的背景知识。在这里,我们推荐读者去进行下面章节的学习,并在需要掌握关于错误处理、调试、计时或者性能分析的相关细节知识时,再去参阅附录D中一些实践技巧的内容。

时间: 2024-11-18 06:41:16

《CUDA高性能并行计算》----3.5 本章小结的相关文章

Activiti实战. 3.4本章小结

3.4本章小结 "工欲善其事,必先利其器".本章主要介绍了Activiti引擎提供的两个流程设计器,一个是由Signavio授权的基于Web的Activiti Modeler,另外一个是Activiti Designer.两个设计器侧重面不同,Activiti Modeler偏向于业务层面,而Activiti Designer则更侧重于开发层. 针对Activit Modeler本章讲解了如何进行打包.部署.运行等,并且简单介绍了如何使用Activiti Modeler设计一个简单的请

Activiti实战. 1.7本章小结

1.7本章小结 本章内容主要是以初识工作流和Activiti的角度去讲解什么是工作流.什么是Activiti.从Activiti项目的发起.特点.应用.架构,以及与其他同类产品比较的角度在概念层给读者一个引导和认识. 作为一个开发人员,能够知道为什么需要学习Activiti,Activiti能帮助企业解决什么问题,为什么要选择Activiti而不是其他的工作流引擎. 看到这里你或许会不耐烦了,会想起一句话:"Talk is cheap. Show me the code".下一章将带领

《AngularJS实战》——第3章 Angular的过滤器和作用域

第3章 Angular的过滤器和作用域在第2章介绍完Angular中的基础知识后,我们将在本章中进一步介绍Angular的另外两个重要的概念--过滤器和作用域.过滤器的功能是格式化数据表达式,只要有数据表达式的地方就可以使用过滤器,如页面模板视图.控制器,在服务中都可能使用过滤器,并且还可以自定义过滤器.与过滤器单一的功能不同,作用域(scope)是Angular中的另一个非常重要的概念,它主要服务于页面模板,在控制器与页面中起桥梁作用,保存模板中的数据对象,为模板中的元素提供方法和属性.在本章

《AngularJS实战》——第1章 初识Angular

第1章 初识AngularAngular 是Google公司提供的一套开源的项目框架,准确地说,是一套基于MVC结构的JavaScript开发工具,该工具的核心功能就是对现有HTML编码以指令方式进行扩展,并使扩展后的HTML编码可以通过使用元素声明的方式来构建动态内容.因此,这样的扩展具有划时代的意义,这也是Angular框架自诞生起就备受关注的重要原因.本章将从Angular最基础的概念讲起,并结合几个简单经典的小示例,快速带领大家进入Angular所构建的"神奇"世界中.

《AngularJS实战》——第2章 Angular基础知识

第2章 Angular基础知识通过上一章对Angular的简单介绍,相信读者对使用Angular开发Web应用有了一个大致的了解.由于Angular是一个全新的开发工具,因此需要掌握许多必要的基础概念.本章将从最底层的知识讲起,由浅入深地带领大家了解并掌握Angular开发工具中的表达式.控制器.模板和模板中的过滤器这些必须了解的基础知识.

《AngularJS实战》——3.5 本章小结

3.5 本章小结 在本章节中,先从Angular中的一个重要概念--过滤器讲起,以由浅入深的方式,通过一个个精选的.简单的.实用的.完整的案例,详细阐述了过滤器在Angular中的应用场景和使用方法: 此外,还介绍了Angular中的另一重要知识--作用域,在介绍该知识点时,采用基础理论与示例相结合的方式,逐步深入地介绍了在Angular中运用作用域开发应用的方法与技巧.通过本章的学习,既能巩固前面章节的所学知识,又可以为接下来章节的学习打下更多的实践基础.

《AngularJS实战》——2.5 本章小结

2.5 本章小结 本章首先从最基础的Angular表达式讲起,并由表达式的使用过渡到Angular控制器的构建,通过一个个精心设计的简单示例,详细介绍了控制器的定义和属性.方法的添加. 然后,通过控制器的构建引入了Angular中的模板概念.根据一个个简单实用的示例,由浅入深地带领读者逐一掌握模块内容构建.复制元素.添加样式和控制元素显示状态的方法. 最后,介绍了模块中最为重要的表单控件,从控件的基础验证功能讲起,介绍表单中各类重要控件的完整使用方法. 本章内容旨在使用读者初步掌握构建一个简单的

《AngularJS实战》——1.3 本章小结

1.3 本章小结 在本章中,我们通过一个个简单示例,由浅入深地介绍Angular应用开发的过程,相信通过本章的学习,读者会对Angular代码的风格有一个初步的了解,但Angular毕竟是一种全新的语言,需要学习者学习许多新的概念,我们将在接下来的章节中继续介绍Angular的更多基础知识.

Java RESTful Web Service实战(第2版) 1.9 本章小结

1.9 本章小结 本章主要讲述了REST服务的概念和实战.先后解读了REST.REST服务.JAX-RS2标准中的重要概念,对JAX-RS2的参考实现项目Jersey进行了简单而全面的概述.随后讲述了如何快速创建REST应用和REST服务,介绍了基于JAX-RS2标准的其他项目和其他非JAX-RS2标准的.著名的Java项目. 通过阅读本章,读者可以清楚地掌握Java领域开发REST服务中的基本概念. 本章主要的知识点如下. REST是什么 一种架构风格. HTTP+URI+XML是REST的基

《HBase企业应用开发实战》—— 3.6 本章小结

前 言 为什么要写这本书 大数据是继云计算.物联网之后IT行业又一次颠覆性的技术革命.大数据在互联网.军事.金融.通信和物理学等领域已经有不少落地案例,而Hadoop技术的快速发展也引起业界广泛关注.可以说,现在Hadoop是大数据处理的关键技术,也是迄今为止,最成熟.应用最广泛的技术. HBase原型是Google的BigTable论文,从基因上讲,HBase已经是Hadoop生态系统不可或缺的一部分.HBase是完全开源的,同时存在多个版本,并且版本升级非常快,其学习成本比较高,学习周期比较