CUDA实践指南(四)

简介:

强大的规模和阿姆达尔定律:
对于固定的整体问题规模而言,强扩展是衡量解决方案的时间如何随着将更多处理器添加到系统中而降低的一种度量。 呈现线性强缩放的应用程序的加速比等于所用处理器的数量。
强大的缩放比例通常等同于Amdahl定律,它指定了通过并行化串行程序的部分可以预期的最大加速比。 从本质上讲,它表示一个程序的最大加速S是:$S=\frac{1}{(1-P)+\frac{P}{N}}$
这里P是可以并行化的代码部分占用的总串行执行时间的一部分,N是代码的并行部分运行的处理器的数量。
N越大(即处理器数量越多),P / N分数越小。 将N视为一个非常大的数字可能会更简单,它本质上将方程转换为。 现在,如果一个顺序程序的运行时间的3/4被并行化,那么串行代码的最大加速比为1 /(1 - 3/4)= 4。
实际上,大多数应用程序不具有完美的线性强缩放比例,即使它们表现出某种程度的强缩放比例。 对于大多数目的而言,关键点在于可并行化部分P越大,潜在的加速越大。 相反,如果P是一个很小的数字(意味着应用程序不是基本可并行化的),增加处理器的数量N对提高性能几乎没有作用。 因此,为了获得固定问题规模的最大加速比,花费在增加P上的努力是值得的,从而使可以并行化的代码量最大化。
弱缩放和Gustafson定律:
弱缩放比是衡量解决方案的时间如何随着更多处理器被添加到每个处理器具有固定问题大小的系统而变化的度量; 即,随着处理器数量的增加,整体问题的大小增加。
弱缩放通常等同于Gustafson定律,该定律表明在实践中,问题的大小随着处理器的数量而变化。 正因为如此,一个程序的最大加速S是:$S=N+(1-P)(1-N)$
这里P是可以并行化的代码部分占用的总串行执行时间的分数,N是代码的并行部分运行的处理器的数量。
查看Gustafson律的另一种方法是,随着我们扩大系统而不是执行时间,问题的大小不会保持不变。 请注意,Gustafson定律假设串行执行和并行执行的比率保持不变,这反映了设置和处理较大问题的额外成本。
应用强大和弱缩放:
了解哪种类型的缩放最适用于应用程序是估计加速的重要部分。 对于某些应用程序,问题的大小将保持不变,因此只有强大的缩放才适用。 一个例子是建模两个分子如何相互作用,其中分子大小是固定的。
对于其他应用程序,问题的大小将会增加以填充可用的处理器。 示例包括将流体或结构建模为网格或网格,以及一些蒙特卡洛模拟,其中增加问题尺寸可提高准确性。
了解了应用程序配置文件后,开发人员应该了解,如果计算性能发生变化,问题规模将如何变化,然后应用Amdahl或Gustafson定律来确定加速的上限。

目录
相关文章
|
人工智能 弹性计算 编解码
技术分享 | 如何基于阿里云AIACC加速Stable-Diffusion AI绘画
AIACC是基于阿里云IaaS资源推出的神龙AI性能加速套件,用于优化基于AI主流计算框架搭建的模型,能显著提升训练和推理性能。AIACC神龙AI推理加速套件由AIACC-Torch(Pytorch推理加速引擎)、AIACC-MLIR(MLIR推理加速引擎)、AIACC-HRT(AIACC算子深度加速引擎)等组件构成。AIACC神龙AI性能加速套件能够为Stable-Diffusion提供加速优化支持,在512x512分辨率下,可将单张图片的延迟从2秒降低至0.88秒,吞吐提速至原来的2.2倍。
技术分享 | 如何基于阿里云AIACC加速Stable-Diffusion AI绘画
clion中cpp文件显示This file does not belong to any project ,code insight features might not work【解决方案】
clion中cpp文件显示This file does not belong to any project ,code insight features might not work【解决方案】
clion中cpp文件显示This file does not belong to any project ,code insight features might not work【解决方案】
|
8月前
|
人工智能 网络性能优化 调度
Koordinator v1.6: 支持AI/ML场景的异构资源调度能力
如何高效管理和调度这些资源成为了行业关注的核心问题。在这一背景下,Koordinator积极响应社区诉求,持续深耕异构设备调度能力,并在最新的v1.6版本中推出了一系列创新功能,帮助客户解决异构资源调度难题。
|
机器学习/深度学习 资源调度 自然语言处理
长短时记忆网络(LSTM)完整实战:从理论到PyTorch实战演示
长短时记忆网络(LSTM)完整实战:从理论到PyTorch实战演示
18182 0
|
人工智能 自然语言处理 程序员
解密:Prompt、Token、和completions是什么?
解密:Prompt、Token、和completions是什么?
755 0
|
机器学习/深度学习 存储 并行计算
|
开发者 异构计算 容器
NRI - 在容器的生命周期焊接“芯片”
个人调研containerd 1.7版本新特性NRI,欢迎指正
826 1
|
存储 JSON JavaScript
Vue之Jwt的运用(一起探索JWT在Vue中的用途吧)
Vue之Jwt的运用(一起探索JWT在Vue中的用途吧)
388 0
|
人工智能 开发者 Docker
ModelScope使用Quick Start
ModelScope是阿里巴巴打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!本文通过Docker Image的方式演示服务的快速使用。
2870 0
ModelScope使用Quick Start