《CUDA高性能并行计算》----3.3 标准操作流程

简介: 看过以上典型的程序流程,我们来分析一下流程哪些部分是CUDA带来的开销,哪些能带来收益。开销应该是十分明显的:创建镜像数组并且在设备端和主机端传输数据,这些都是在串行计算中不需要进行的额外工作。为了抵消这些内存操作的“额外开销”,我们能从GPU成百上千的处理器核心上得到运算上的收益。

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

3.3 标准操作流程

看过以上典型的程序流程,我们来分析一下流程哪些部分是CUDA带来的开销,哪些能带来收益。开销应该是十分明显的:创建镜像数组并且在设备端和主机端传输数据,这些都是在串行计算中不需要进行的额外工作。为了抵消这些内存操作的“额外开销”,我们能从GPU成百上千的处理器核心上得到运算上的收益。这些讨论直接引出了一些使用CUDA的推荐策略:

一次性将你的数据复制到设备端。

启动一个执行了大量工作的核函数(因此从大量并行化中获得的收益将大大超出内存传输的代价)。

只将结果复制回主机端一次。

这些并不是一成不变的,但是它们提供了一些有用的规则。在这里,你拥有执行这个典型工作流的所有工具。然而,在我们接触更复杂问题之前,让我们快速浏览一些可以简化开发流程的其他可选方案。

相关文章
|
弹性计算 Kubernetes 安全
在K8S上部署可扩展的基于Occlum的安全推理实例
机密计算是指通过在基于硬件的可信执行环境(TEE)中执行计算来保护数据应用中的隐私安全,是目前最火热的隐私保护技术之一。在云上运行TEE应用也得到了云厂商的广泛支持,包括阿里云,微软Azure云,都提供了基于SGX技术的机密安全实例服务。用户可以在这些云上申请带SGX支持的安全实例,然后部署自己的机密安全服务,既可以避免隐私数据泄露,也无需操心繁琐的基础架构层的配置。无论哪种云,最流行的分布式部署
在K8S上部署可扩展的基于Occlum的安全推理实例
|
机器学习/深度学习 存储 并行计算
一篇就够:高性能推理引擎理论与实践 (TensorRT)
本文分享了关于 NVIDIA 推出的高性能的深度学习推理引擎 TensorRT 的背后理论知识和实践操作指南。
7337 6
一篇就够:高性能推理引擎理论与实践 (TensorRT)
|
9月前
|
机器学习/深度学习 存储 NoSQL
X-SIMD高性能跨平台向量化加速库
X-SIMD是平头哥基于开源SIMDe开发的一个header-only C程序库,提供了一种简单易用的跨平台SIMD程序优化方案,旨在为不支持SIMD指令集的平台提供SIMD支持。X-SIMD可以帮助开发者快速完成应用软件迁移arm平台,减少用户重新编写SIMD算法工作量。
|
机器学习/深度学习 缓存 分布式计算
|
并行计算 Linux 异构计算
《CUDA高性能并行计算》----3.4 简化操作流程
上面所述的标准操作流是主流的工作方式,然而其中的部分过于死板和烦琐,因此一些NVIDIA专家一起努力提供了一个可替代的流式方案,叫作统一内存(unified memory)。这个方法打破了主机内存和设备内存的围墙,因此你可以只用一个可以从主机端和设备端共同访问的数组(至少看起来是这样的)。
1707 0
|
并行计算 C++
《CUDA高性能并行计算》----0.8 用户指南
我们编写本书的目的就是让广大的技术型读者积极参与到使用CUDA进行GPU并行计算的洪流之中。作为比喻,我们邀请你进行一次基于GPU并行计算的旅程,而本书即是本旅程的导游手册。比喻为导游手册在许多方面都是恰当的,其中包括:
1299 0
|
并行计算 C语言
《CUDA高性能并行计算》----0.5 本书的组织结构
除了本章之外,本书包含有九章正文和四个附录。正文章节提供了大多数读者需要掌握的核心知识,而附录用于查缺补漏,补充背景知识。我们的呈现方式鼓励你积极参与到CUDA实践之中。为了充分利用本书,请在你阅读这些章节时,亲自创建、测试和修改书中的应用程序(也称为app)。
1676 0