拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【CUDA4】GPU里面的数据放到哪里?为什么有的数据访问快,有的慢?

【CUDA4】GPU里面的数据放到哪里?为什么有的数据访问快,有的慢?
GPU Compute │ ┌──────┴──────┐ │ │ Registers Shared Memory │ │ └──────┬──────┘ │ L1 │ L2 │ Global Memory │ VRAM

往上
↑
速度更快
容量更小
离计算单元更近

往下
↓
速度更慢
容量更大
离计算单元更远

Register 是最靠近计算单元的存储,它的速度非常快,作用范围单个thread,所以每个线程都有自己的register。shared memory是block的小仓库,作用范围block内线程共享。L1 Cache它主要用于缓存近期访问的数据,可以理解位GPU计算单元旁边的小型高速缓存,L2 比 L1 更大,但通常也更远、更慢,它是 GPU 多个计算单元之间可以共享的数据缓存层。global memory速度相对慢,延迟高,但是容量大。
Global Memory 和 VRAM 在 CUDA 语境里经常指的是同一大类显存资源;不要把它们当成两个完全独立的物理内存层.

内存谁使用核心特点
Register单个 Thread极快、很小
Shared MemoryBlock 内 Threads快、可共享
L1GPU 硬件高速 Cache
L2GPU 多个计算单元共享更大、较慢
Global Memory / VRAMGPU大、相对慢
返回列表