当前位置:   article > 正文

CUDA学习笔记(7) GPU内存分级_cuda local memory 速度比较

cuda local memory 速度比较

  在NVIDIA的GPU中,内存(GPU的内存)被分为了全局内存(Global memory)、本地内存(Local memory)、共享内存(Shared memory)、寄存器内存(Register memory)、常量内存(Constant memory)、纹理内存(Texture memory)六大类。这六类内存都是分布在在RAM存储芯片或者GPU芯片上,他们物理上所在的位置,决定了他们的速度、大小以及访问规则。

  先总体地看下一张显卡的硬件组成。用我电脑上的“Quadra K620”显卡举例,如下图,整张显卡PCB电路板上的芯片主要可以分为三类:

  1. GPU芯片,也是整张显卡的核心,负责执行计算任务。
  2. DDR3存储芯片,其在显卡中相对与GPU的地位相当于电脑中内存条对于CPU,只是放在了显卡上专供GPU使用。
  3. 时钟、电源等其他辅助功能的芯片。

这里写图片描述

   显卡的内存可以分为GPU片内(On-Chip)存储体和位于DDR3存储芯片中的存储体。片内存储体的访问延迟(Latency)远低于片外存储体的访问延迟(Latency),当然片内存储体也有更快的传输速度。

  • 全局内存(Global memory),位于片外存储体中。容量大、访问延迟高、传输速度较慢。在2.X计算力之后的GPU上,都会使用二级缓存(L2 cache)做缓冲,达到较快的传输速度,但这并不能减少访问的延迟(Latency)。

    • 所有数据都必须先传入到这里,或者从这里传出。
    • 用户通过调用CUDA函数控制全局内存的分配空间、传入数据、传出数据。例如:
    函数名 功能
    cuMemAlloc 内存分配
    cuMemAllocPitch 内存分配,并将长度补全到
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/294126
推荐阅读
相关标签
  

闽ICP备14008679号