CUDA学习笔记(7) GPU内存分级

在NVIDIA的GPU中,内存(GPU的内存)被分为了**全局内存(Global memory)、本地内存(Local memory)、共享内存(Shared memory)、寄存器内存(Register memory)、常量内存(Constant memory)、纹理内存(Texture memory)**六大类。
摘要由CSDN通过智能技术生成

  在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 内存分配,并将长度补全到 2
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值