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

简介: 在本章中,我们使用CUDA依次创建了``dist_v1``与``dist_v2``的并行化版本``—dist_v1_cuda``与``dist_v2_cuda``。 ``dist_v2_cuda``为CUDA应用标准工作流程提供范例。下面是一些简明的内容回顾(CUDA应用包括的大致步骤):

本 节 书 摘 来 自 华 章 出 版 社 《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中一些实践技巧的内容。

相关文章
|
并行计算 C++ 异构计算
Nvidia 并行计算架构 CUDA 分析(一)——CUDA 简介
    CUDA(Compute Unified Device Architecture,统一计算设备架构)是由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。
4055 0
|
并行计算
《CUDA高性能并行计算》----1.3 本章小结
在本章,我们运行了一些CUDA样例程序并且获得了GPU并行计算的直观体验。同时我们介绍了两个串行的程序,将在后文作为并行化的实验函数。其中dist_v1提供了一个最简单的并行化实验例子,而dist_v2则描述了一个实用的结构和更典型的数据流。
1169 0
|
并行计算
《CUDA高性能并行计算》----2.3 本章小结
现在你已经掌握了开始创建一个拥有使用了CUDA进行GPU并行计算的优点的应用所必需的工具,我们将在第3章中开始创建CUDA应用。
803 0
|
并行计算 C语言
《CUDA高性能并行计算》----0.9 历史沿革
本书是作者在CUDA疆域探险数年的经验总结。最初开展的是容积医学影像(volumetric medical imaging)、2D和3D成像(即透视和CT扫描)的配准以及计算机辅助设计(computer-aided design)和增材制造(additive manufacturing)的新方法研究。
1201 0
|
并行计算 Linux
《CUDA高性能并行计算》----0.6 本书体例
本书使用以下约定: 为了跟正常文字区分,代码清单使用等宽(monospace)字体排版。 我们经常把类UNIX系统,如Linux和OS X,统一称为Linux。 我们把完整的示例程序称为应用程序(简写为app)。
907 0
|
并行计算
《CUDA高性能并行计算》----导读
Praise 本书赞誉 FORTRAN(盛行于20世纪60年代)是最早允许我们在大型机上编程的语言。之后是BASIC(流行于20世纪80年代)赋予我们为第一批微型计算机编写程序的能力。现在轮到CUDA,让我们可以为超级微型计算机编写程序。
1338 0
|
并行计算 C++ Windows
《CUDA高性能并行计算》----0.7 本书代码
本书应用程序的代码可以通过www.cudaforengineers.com获取。虽然书中采用了一些代码片断和“骨架”代码(skeleton code),但标记为“代码清单”的代码(包含行号)是真实可运行代码的一部分。
1980 0
|
Web App开发 并行计算 异构计算
《CUDA高性能并行计算》----2.4 推荐项目
1.去CUDA Zone注册并加入到CUDA开发者中(如果读者还没有这样做的话)。 2.观看 www.nvidia.com/object/nvision08_gpu_v_cpu.html的视频,体会关于并行和串行执行的有趣的对比。
1831 0