CUDA 内核和流式多处理器对推理速度至关重要

     2023-04-15     13

关键词:

【中文标题】CUDA 内核和流式多处理器对推理速度至关重要【英文标题】:CUDA Cores and Streaming Multiprocessors Count for Inference Speed 【发布时间】:2020-05-04 02:58:09 【问题描述】:

据我了解,NVIDIA GPU 的 CUDA 内核数量决定了它运行单个深度学习模型的速度。

因此,如果我使用 NVIDIA TITAN RTX GPU 在 0.5 秒内对模型运行推理,该 GPU 具有 72 个流式多处理器和 4608 个内核,并且它利用 GPU 的最大利用率约为 10%,我可以假设使用了 10% 的流式多处理器(大约 7 个)?因此,大约使用了大约 900 个 CUDA 内核? (我基于这个答案:https://superuser.com/questions/1109695/how-to-determine-number-of-gpu-cores-being-utilized-for-a-process)

因此,如果我降级到具有 3000 个 CUDA 内核的较低 GPU,理论上它应该仍然能够以相同的 0.5 秒速度执行推理,对吧?

【问题讨论】:

【参考方案1】:

这不是对利用率的正确解释。 10% 的利用率,粗略地说,意味着 10% 的时间,GPU 内核正在运行。 90% 的时间,没有 GPU 内核在运行。它不会告诉您有关 GPU 内核正在做什么或它正在使用多少资源的任何信息。超级用户给出的答案是错误的。正确的描述是here。正如那里所指出的,可以证明仅使用一个“核心”(即仅使用一个线程的内核)的 GPU 内核的利用率为 100%。

关于您的问题,您不应假设如果从具有 4608 个内核的 GPU 切换到具有 3000 个内核的 GPU,性能不会发生任何变化。首先,这些信息不足以判断性能(例如时钟速度和其他事情很重要),其次,如果您假设它们是同一代 GPU,那么具有 3000 个内核的 GPU 可能会比4608核的GPU。这是因为对于给定的 GPU 架构一代,时钟速度、内存带宽等其他因素在具有 3000 个内核的 GPU 上都可能较低。

简而言之,我不会假设推理性能是相同的。除了您在此处指出的内容之外,这还取决于其他事情。我认为它可能更快,也可能更慢,具体取决于实际的 GPU 比较。

就目前可用的 CUDA GPU 而言,几乎任何东西的推理性能都可能比 Titan RTX 稍慢。差异可能很小,可能可以忽略不计,也可能更大,具体取决于特定的 GPU。

【讨论】:

非常感谢您富有洞察力的回复!我比较 Titan RTX 的 GPU 是 Quadro RTX 5000。我注意到 Quadro RTX 5000 的核心时钟速度稍慢(1350 MHz 对 1620 MHz)和内存带宽更低(448 GB/秒对 672 GB/秒)。你会说这些是推理性能的两个更重要的因素吗?如果是这样,您是否认为推理性能会明显变差? 我认为它会更慢/更糟。我真的不能说具体是多少。差异很可能可以忽略不计。

cuda 共享内存和块执行调度

...我的目标是GTX480nvidia卡,每块有48KB共享内存和15个流式多处理器。所以,如果我声明一个包含15个块的内核,每个块使用48KB的共享内存,并且没有达到其他限 查看详情

CUDA - 多处理器、Warp 大小和每个块的最大线程数:确切的关系是啥?

】CUDA-多处理器、Warp大小和每个块的最大线程数:确切的关系是啥?【英文标题】:CUDA-Multiprocessors,WarpsizeandMaximumThreadsPerBlock:Whatistheexactrelationship?CUDA-多处理器、Warp大小和每个块的最大线程数:确切的关系是什么?【发布时间... 查看详情

GPU/CUDA:网格的最大块数和每个多处理器的最大驻留块数

】GPU/CUDA:网格的最大块数和每个多处理器的最大驻留块数【英文标题】:GPU/CUDA:MaximumnumberofblocksofagridandMaximumnumberofresidentblockspermultiprocessor【发布时间】:2013-07-1304:30:32【问题描述】:我的GPU能力为2.1,有2个SM,每个SM有48个内... 查看详情

multiProcessorCount 是不是给出了流式多处理器的数量?

】multiProcessorCount是不是给出了流式多处理器的数量?【英文标题】:DoesmultiProcessorCountgivesthenumberofstreamingmultiprocessors?multiProcessorCount是否给出了流式多处理器的数量?【发布时间】:2013-05-1410:26:54【问题描述】:我几乎不明白mul... 查看详情

流式处理的一些概念一:时间域、窗口化(翻译)

参考技术A流式数据处理目前是大数据中的一个重要部分:什么是“流式”(streaming)?考虑到设计良好的流式系统与任何现有的批处理引擎一样能够产生正确、一致和可重复的结果,我更喜欢将流式这个术语隔离到一个非常特定... 查看详情

显示驱动程序本身使用哪些 CUDA 资源?

...CUDA在nVidiaGTX480上进行开发。根据规范,该卡有15个流式多处理器(SM),每个具有32个CUDA核心。我的代码适用于N块,每个块有32个内核。理想情况下,如果N<=15,我希望,因 查看详情

线程池(代码片段)

...的状态和上下文信息,线程阻塞不会引起进程阻塞。在多处理器系统上,多线程在多处理器上并行运行。线程的 查看详情

ai性能优化之tensorrt(1tensorrt简介及安装)(代码片段)

...习推理应用的生产部署提供INT8和FP16优化,例如视频流式传输、语音识别、推荐和自然语言处理。推理精度降低后可显 查看详情

CUDA - 更多的 SM 或更高的时钟频率?

...间】:2013-05-1815:42:48【问题描述】:当CUDA内核速度执行至关重要时,什么更重要?核心频率还是SM数量?我可以在QuadroK5000和Gtx670之间进行选择,但我无法决定。在这两种情况下,内存似乎都足够了,但是quadro有更多的SM,而Gtx... 查看详情

流处理器和cuda

经常说的流处理器就是CUDA吗???我印象中CUDA貌似是高清电影什么的参考技术A  两个不同的概念,CUDA是一种运算架构,流处理器是一种硬件运算单元。实际应用中,CUDA架构中的运算可以调用流处理器,仅此而已。  打个... 查看详情

实验找出块大小对 cuda 程序速度的影响

】实验找出块大小对cuda程序速度的影响【英文标题】:Experimenttofindoutaffectofblocksizeoncudaprogramspeed【发布时间】:2017-02-1518:17:11【问题描述】:我想了解块中的线程数如何影响cuda程序的性能和速度。我写了一个简单的向量加法代... 查看详情

CUDA:每个多处理器的线程数和每个块的线程数的区别是啥? [复制]

】CUDA:每个多处理器的线程数和每个块的线程数的区别是啥?[复制]【英文标题】:CUDA:Whatisthethreadspermultiprocessorandthreadsperblockdistinction?[duplicate]CUDA:每个多处理器的线程数和每个块的线程数的区别是什么?[复制]【发布时间】... 查看详情

同一 GPU 上的 OpenCL 和 CUDA 内核

】同一GPU上的OpenCL和CUDA内核【英文标题】:OpenCLandCUDAkernelsonsameGPU【发布时间】:2013-04-0708:44:11【问题描述】:我是这项技术的新手。我有一个由OpenCL内核和CUDA内核组成的应用程序。我想在同一个GPU(特斯拉M2050)上一个接一个... 查看详情

优化复杂的 CUDA 内核以提高内存和计算效率

】优化复杂的CUDA内核以提高内存和计算效率【英文标题】:OptimizingacomplexCUDAkerneltoimprovememoryandcomputeefficiency【发布时间】:2020-07-2904:59:57【问题描述】:我最近将OpenCLkernel转换为CUDA,然后运行​​nvvp,发现下面的twolinesofcode严... 查看详情

为啥在使用 cudaMallocManaged 时 NVIDIA Pascal GPU 运行 CUDA 内核速度很慢

】为啥在使用cudaMallocManaged时NVIDIAPascalGPU运行CUDA内核速度很慢【英文标题】:WhyisNVIDIAPascalGPUsslowonrunningCUDAKernelswhenusingcudaMallocManaged为什么在使用cudaMallocManaged时NVIDIAPascalGPU运行CUDA内核速度很慢【发布时间】:2017-02-0812:20:12【问... 查看详情

流式数据中的数学统计量计算

...对数据进行分析。在数据分析领域,很重要的一块内容是流式数据分析。流式数据,也即数据是实时到达的,无法一次性获得所有数据。通常情况下我们需要对其进行分批处理或者以滑动窗口的形式进行处理。分批处理也即每次... 查看详情

CUDA 寄存器使用

...间】:2013-02-1317:53:57【问题描述】:CUDA手册指定每个多处理器的32位寄存器的数量。是不是意味着:双变量占用两个寄存器?指针变量占用两个寄存器?-6GB内存的Fermi上必须不止一个寄存器,对吧?如果问题2的答案是肯定的,... 查看详情

linux内核smp对称多处理器结构(smp对称多处理器结构概念|smp对称多处理器结构的优势与缺陷|linux内核兼容多处理器要求)

文章目录一、SMP对称多处理器结构概念二、SMP对称多处理器结构的优势与缺陷三、Linux内核兼容多处理器要求一、SMP对称多处理器结构概念对称多处理器结构,英文名称为"SymmetricalMulti-Processing",简称SMP;SMP又称为UMA,全称"Uni... 查看详情