`
jubincn
  • 浏览: 242269 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论

CPU与GPU的内存带宽对比(CPU vs CUDA GPU memory bandwidth)

 
阅读更多

原文链接:http://blog.cudachess.org/2009/07/cpu-vs-cuda-gpu-memory-bandwidth/

导读:

最近打算学习CUDA,但在与一个同学聊天时她提到GPU并不适用于某些类型的计算,瓶颈在于I/O上。可我看了下GPU的参数,内存带宽(Memory Bandwidth)很高,怎么会这样呢?下面这篇文章可以回答这个问题。


如何对比和解读现代CPU与使用CUDA架构的GPU的内存带宽差距?


根据我个人目前的研究,我认为尽管GPU的内存带宽很大,但CPU的一级缓实际上比CUDA架构效率更高。


CUDA GPU的速度可以达到gigaflops(每秒10亿次浮点操作),是Core i7/Nethalem速度的十倍。为充分利用强大的计算能力,我们需要从存储器中(全局显存或计算机内存)尽量快地给他们提供数据。

我通过这篇有趣的文章benchmarked overclocked Core i7 cache and memory bandwidth发现在三通道DDR3中:一级缓存的读写峰值可以达到50GB/s,但这两个操作是可以同时进行的,因此总峰值可以达到100GB/s,但计算机内存速度(三通道DDR3)仅为16GB/s。这很令人惊讶,三年前的Athlon X2 3800+ (2×2Hz)一级缓存比现在最新的主存速度要快!(译者注:怀疑原文输入错误,应该是惊叹三年前的比现在快,而不是反之)


CUDA的共享存储器(16KB/8 Scalar Processors)和CPU的一级缓存(32K)的速度差不多,都是50GB/s。


GPU的共享存储器内存带宽可以达到100GB/s ~ 150GB/s,是计算机内存带宽的8倍,这是因为多个64位接口(8 vs 3)和更高的时钟频率。


下面比较GPU的共享内存读写速度和CPU的一级缓存读写速度。对于i7处理器,因为四个核都有自己的一级缓存,因此峰值可以达到200~400GB/s。而CUDA GTX285因为有30组8标量处理器,因此期内存带宽可以达到1500GB/s,是超频后i7的4倍。


总结一下,CUDA GPU的全局存储器速度是计算机内存的8倍,共享存储器是现代CPU一级缓存的4倍。


原文如下:

What is the memory bandwidth of modern CPU versus that of CUDA-enabled GPU?

As far as I figured it out, I thought GPU memory bandwidth was huge, but I thought that memory bandwidth of CPU L1-cache could be effectively better than actual CUDA architecture.

With all the horsepower delivered by CUDA GPU, up to 10X Gigaflops on GTX than current Core i7/Nehalem processors, we all need to be able to feed them with data and unload results as fast as possible in memory (global videocard memory or computer’s main memory).

I found an interesting article thatbenchmarked overclocked Core i7 cache and memory bandwidth, in triple-channel with fast DDR3: L1 cache peaks around 50GB/s reading or writing but could do both at once, peaking at 100GB/s, while main computer memory (triple-channel DDR3) was limited to 16 GB/s. That’s actually astonishing anyway, a 3 years old Athlon X2 3800+ (2×2Hz) L1-cache doesn’t deliver more than actual main memory of today!!!

To compare the L1 cache of a CPU (32KB), we should use CUDA Shared Memory (16KB/8 Scalar Processors), and it delivers around 50GB/s too, a value that is strangely similar.

To compare the main memory of the computer we have the Global Memory and it delivers between 100GB/s and 150GB/s, nearly 8X the computer’s main memory bandwidth, due to multiple 64-bits interface (8 instead 3) and higher clock values.

But when you test a shared memory access or a L1-cache access speed, you have to think there’s 4 core on a core i7, each one with it’s dedicated L1-cache, peaking at 200GB-400GB/s depending on the tasks.

On the other side, with 30 groups of 8 Scalar Processors, the Shared Memory of a CUDA GTX 285 may deliver 1500 GB/s, around 4X the aggregated L1-cache of an overclocked Core i7!

To resume, CUDA-enabled GPU offers up to 8X the speed of main memory and 4X the speed of L1-cache compared to a moderne CPU, and it shows!


分享到:
评论

相关推荐

    CUDA高性能编程之驱动程序编写之bandwidthTEST

    "bandwidthTest"是一个常见的CUDA示例程序,用于测试GPU与主机之间的数据传输带宽,即数据传输的速度。这个例子对于理解和优化CUDA程序中的数据传输效率至关重要。 1. **CUDA驱动API**:CUDA驱动API是CUDA编程的一...

    处理器内存带宽测试工具

    在计算机科学和硬件领域,内存带宽是衡量CPU与内存间数据交换速度的关键指标,它直接影响到系统的整体性能。MBW,全称为Memory Bandwidth Benchmark,是一款常用的内存带宽测试工具,专门用于测量DDR类型的存储器...

    High-Bandwidth Memory Interface.zip

    高带宽内存接口(High-Bandwidth Memory,简称HBM)是一种先进的内存技术,旨在显著提升系统数据传输速率和效率,尤其在高性能计算、图形处理以及数据中心应用中发挥着重要作用。HBM是针对传统DDR(Double Data Rate...

    MultiGPUBandwidthTest:MultiGPU带宽测试

    此微型基准测试的目的是使用固定和非固定内存来测量Multi-GPU设置中的PCIe带宽(下载)。 通过基准测试,您可以指定要使用的GPU以及CPU内核。 必须使用逗号分隔的列表来指定CPU和GPU。 这样可以了解多插槽系统中的...

    KVM虚拟机GPU透传.docx

    "KVM虚拟机GPU透传" KVM虚拟机GPU透传是指在Linux操作系统下,使用KVM虚拟机来实现GPU设备的透传,以便在虚拟机中使用GPU设备。...通过配置XML文件、安装CUDA驱动和带宽测试工具,可以实现KVM虚拟机GPU透传。

    Cuda性能测试

    总的来说,"cuda性能测试"项目旨在展示如何利用CUDA技术提高计算效率,以及在不同数据规模下,CPU与GPU的性能差异。通过这样的测试,我们可以更好地理解和利用GPU的并行计算能力,为科学计算、图像处理、机器学习等...

    从CPU到GPU的全面优化:解析AMD DirectX 12硬件的秘密武器.pdf

    比如,High Bandwidth Memory (HBM) 是一种高带宽、低功耗的内存技术,为GPU提供更快的数据传输速度。结合DirectX 12的特性,HBM能够更有效地支持复杂的图形运算和大数据量的处理。 总结来说,AMD通过其对DirectX ...

    GPU高性能计算之CUDA》实例

    GPU高性能计算系列丛书的第一本《GPU高性能计算之CUDA》已经出版,由张舒,褚艳利,赵开勇,张钰勃所编写。本书除了详细介绍了CUDA的软硬件架构以及C for CUDA程序开发和优化的策略外,还包含有大量的实例供读者学习...

    CUDA VS2008 环境配置

    安装完成后可以测试一下CUDA环境是否可用,可以通过运行bandwidthtest来测试显卡的内存带宽,具体命令如下: ``` cd \ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\bin\win64\Release .\bandwidth...

    《GPU高性能计算之CUDA》实例

    《GPU高性能计算之CUDA》实例。 GPU高性能计算系列丛书的第一本《GPU高性能计算之CUDA》已经出版,由张舒,褚艳利,赵开勇,张钰勃所编写。本书除了详细介绍了CUDA的软硬件架构以及C for CUDA程序开发和优化的策略外...

    CUDA5.0在windows环境安装指导

    例如,“CUDA Device Query”和“CUDA Bandwidth Test”是常用的验证工具,它们可以帮助确认GPU的基本信息以及内存带宽性能。这些示例通常位于安装目录下的`samples`文件夹内。 #### 第三章:编译CUDA程序 安装...

    【最新版可复制文字】 JESD238 2022 High Bandwidth Memory DRAM (HBM3).pdf

    2. JESD238 2022 High Bandwidth Memory DRAM (HBM3)是JEDEC发布的一种高带宽存储器技术标准。 3. HBM3是一种高带宽存储器技术,旨在满足高速存储器应用的需求。 4. JEDEC的标准和出版物旨在服务于公共利益,消除...

    nvidia cuda-samples

    1. **基本示例**:如“deviceQuery”和“bandwidthTest”,它们展示了如何初始化CUDA环境,获取GPU信息,以及测量数据传输和计算性能。这些示例有助于开发者理解CUDA的基本工作流程。 2. **线性代数与数学运算**:...

    JESD238 2022 High Bandwidth Memory DRAM (HBM3).pdf

    JEDEC High Bandwidth Memory DRAM (HBM3) 技术标准 JEDEC(Joint Electron Devices Engineering Council,联合电子设备工程委员会)是一家非营利性的行业标准组织,旨在推动电子元件和固态技术的发展。JEDEC 的...

    BandwidthTest点对点带宽测试软件

    《全面解析BandwidthTest:一款高效点对点网络带宽测试工具》 在现代网络环境中,带宽测试是一项至关重要的任务,它可以帮助我们了解网络连接的速度和稳定性,从而优化网络性能,解决网络瓶颈问题。BandwidthTest是...

    手把手教你CUDA6.0如何在VS2010配置

    CUDA 6.0 能与 VS2010 结合使用,通过特定的配置步骤,开发者可以在 VS2010 中编写和调试 CUDA 程序。 配置 CUDA 6.0 在 VS2010 中的关键步骤如下: 1. **下载与安装**:首先,你需要访问 NVIDIA 的官方网站...

    Optimizing Memory Bandwidth

    内存带宽是指CPU与内存之间数据传输的速度,它直接影响着系统处理数据的速率。优化内存带宽能有效提高系统整体性能,降低延迟,使得运算更为高效。 内存带宽优化涉及多个层面,包括硬件选择、软件设计、内存访问...

    CUDA C Best Practices Guide

    涉及的知识点包括主机与设备间的数据传输优化(例如固定内存(Pinned Memory)、异步和重叠传输等)、零拷贝(Zero Copy)技术、统一虚拟寻址(Unified Virtual Addressing)、全局内存的合并访问(Coalesced ...

    cuda-9.2开发demo

    3. bandwidthTest:此示例用于测量GPU与主机之间的数据传输带宽。这对于理解CUDA程序的数据传输效率至关重要,因为它可以影响整体性能。 4. deviceQuery:该程序会查询GPU的硬件特性,如计算能力、显存大小、流...

    JEDEC---HBM2(High Bandwidth Memory DRAM)

    HBM(High Bandwidth Memory,高带宽存储器)是JEDEC制定的存储器标准之一,旨在满足高性能计算和数据密集型应用的需求。HBM2是HBM的第二代标准,具有更高的带宽和更低的功耗。 HBM2标准的主要特点包括: * 高带宽...

Global site tag (gtag.js) - Google Analytics