POPPUR爱换

标题: 显卡中的cache的用途是什么? [打印本页]

作者: 跳海自殺的鱼    时间: 2009-6-7 09:56
标题: 显卡中的cache的用途是什么?
是不是减少核心和显存之间的延迟?
作者: Lancelot365    时间: 2009-6-13 22:21
跟CPU的cache差不多吧
作者: 玉清    时间: 2009-6-15 09:29
本帖最后由 玉清 于 2009-6-15 09:34 编辑

以CUDA的角度来看N卡的cache,是各有作用.
包括一个block内所有thread的数据的共享(shared memory);
类似于CPU cache功能(或者是寄存器)的寄存器存储器,还有纹理存储器和固定存储器 等等.

coding的时候根据不同的变量作用范围,共享程度,要求的速率,变量大小等等因素综合的决定这个变量该放到什么存储器上.
作者: Edison    时间: 2009-6-15 10:16
GPU 里的 cache 都是 read only 的,而且尺寸相比 CPU 来说都很小。

例如 texture cache,一般是用于 texture filtering,这个操作符合局部性原则。

CUDA 里的 shared memory 不是 cache,只是一个 banked SRAM,作为 cuda thread block 内中间结果的存放点。
作者: 玉清    时间: 2009-6-15 10:29
E大大的意思是说GPU里面的cache只能算固定存储器和纹理存储器两种?

shared memory不是显存,也不是cathe,而是专门在GPU里面的一种独有的存储器了?

E大的意思是这个吗?
作者: Edison    时间: 2009-6-15 12:04
GPU 里的 cache 一般也就是 Texture Cache、Instruction Cache、Constant Cache。Constant Cache 是指常数 Cache,不是"固定存储器"。

CUDA 里的 shared memory 本来就是指 G80+ 每个 SM 内的那块 16KB scratch-pad。
作者: 玉清    时间: 2009-6-15 13:50
Instruction Cache
这个名字很陌生,E大能详细解释一下这个吗?
对应在CUDA里面是叫什么名字?
存放在里面的变量又有些什么特性呢?
谢谢.
作者: 玉清    时间: 2009-6-15 13:52
额,constant memory翻译过“固定存储器”里面我在部分中文档案看到是这样子翻译,所以偶也一般这样子称呼Ta.
作者: Edison    时间: 2009-6-15 14:16
Instruction Cache 就是指令 Cache。
作者: RacingPHT    时间: 2009-6-16 10:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: coolkecool    时间: 2009-6-16 11:57
进来学习了,好专业啊
作者: jeffdyf    时间: 2009-6-18 15:19
太专业了
作者: 跳海自殺的鱼    时间: 2009-6-19 14:28
cache和SRAM有什么区别吗?请大大们解释下,怎么感觉有点类似。。。
作者: kady    时间: 2009-6-20 00:09
4870和260的cache分别是多少?
作者: deathwaltz    时间: 2009-6-21 01:02
完全正确
作者: jxysy    时间: 2009-6-22 08:49
学习学习!
作者: Edison    时间: 2009-6-29 16:35
不完全一样,CPU 的 cache 是 R/W 的,GPU 目前还是 read only。
作者: panjanstoneborg    时间: 2009-6-29 19:20
DX11说要可写,对不对?
作者: Edison    时间: 2009-6-29 19:41
DX11 Compute Shader 没有要求 R/W cache,但是要求提供 shared register,相当于 NVIDIA 的 shared memory、AMD 的 local data Store。
作者: Lancelot365    时间: 2009-7-1 15:33
学习了
作者: tyro    时间: 2009-7-2 08:44
cache 是个名字而且, 真正的区别是 。SRAM 和DRAM,SRAM一般用作cache,DRAM一般作主存。 什么shared memory,纹理缓存,高速缓存等等只是根据他们的用途而命名。根本区分是他们使用SRAM还是DRAM。SRAM成本高,速度快。DRAM相对慢,不过陈本较低。

cache高速缓存一般用SRAM,它的作用是提升主存和CPU/GPU间的速度差距(其实速度更高的是内核上的寄存器),优化性能的方法一般是提升cache的命中率。它的轮换算法一般是最久没被使用算法
作者: llgg025    时间: 2009-7-2 20:26
顶一下技术贴
作者: jiaxi411    时间: 2009-7-2 20:39
学习了...顶顶吧...

多发高技术含量的贴子不错
作者: Christ2002    时间: 2009-7-3 15:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2009-7-3 16:30
shared memory 是可读写的 SRAM。
作者: Christ2002    时间: 2009-7-3 17:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: 迪奥科技    时间: 2009-7-4 19:45
Instruction Cache
这个名字很陌生,E大能详细解释一下这个吗?
对应在CUDA里面是叫什么名字?
存放在里面的变量又有些什么特性呢?
谢谢.
玉清 发表于 2009-6-15 13:50

I缓存D缓存,不会很陌生吧?
作者: 迪奥科技    时间: 2009-7-4 19:49
了解。Instruction Cache更像是一个指令集存储器?
Christ2002 发表于 2009-7-3 17:37

字面上看,不就是??

哦,我看走眼了,是指令集,不是指令……那么似乎有所不同了,I快取倒是象指令的历史记录,不知道说的准确不准确
作者: Christ2002    时间: 2009-7-5 12:13
提示: 作者被禁止或删除 内容自动屏蔽
作者: Edison    时间: 2009-7-5 13:08
解释什么?

Instruction Cache 在 GPU 上是透明的,运作细节其实除了厂商自己外,外人是很难了解的。
作者: 李浩浩浩    时间: 2009-7-10 08:25
是不是减少核心和显存之间的延迟?
作者: 跳海自殺的鱼    时间: 2009-7-12 17:28
32# 李浩浩浩

我记得似乎是在通用计算中提到过
作者: Edison    时间: 2009-7-13 00:03
是不是减少核心和显存之间的延迟?
李浩浩浩 发表于 2009-7-10 08:25


在 GPU 应用 cache 主要是因为带宽问题,而不是时延。
作者: blueheaven    时间: 2009-7-23 15:50
专业学习 学习专业
作者: abobo    时间: 2009-7-25 21:31
帮顶一下!!!!
作者: meidaoli    时间: 2009-7-25 21:48
跟CPU的cache差不多
作者: hanjiny    时间: 2009-7-28 09:06
学到了不少东西呀,呵呵
作者: hanjiny    时间: 2009-7-28 09:32
和显卡差不多吧
作者: lik    时间: 2009-7-28 12:05
所有的cache都是透明的, 否则就不叫cache了.

解释什么?

Instruction Cache 在 GPU 上是透明的,运作细节其实除了厂商自己外,外人是很难了解的。
Edison 发表于 2009-7-5 13:08

作者: hd4770    时间: 2009-7-28 13:18
主要是因为GPU虽然有部分流处理器的特征,但是很多数据还是有机会重用的。比如(Aniso) Texture filtering, large kernel filtering之类的。使用cache, 可以减少带宽的浪费。至于延迟,倒不是非常的敏感。

但是GPU ...
RacingPHT 发表于 2009-6-16 10:12

Not sure what yiu meant here. If it is a graphic app, multi-level caches provide sharing data among pixels. If a computing app, shared memory is doing the sharing job for threads within a block.
作者: ayanamei2009    时间: 2009-7-28 14:06
cache 是个名字而且, 真正的区别是 。SRAM 和DRAM,SRAM一般用作cache,DRAM一般作主存。 什么shared memory,纹理缓存,高速缓存等等只是根据他们的用途而命名。根本区分是他们使用SRAM还是DRAM。SRAM成本高,速度 ...
tyro 发表于 2009-7-2 08:44

CACHE和SRAM还是不同的 CACHE的行为特点 和动作和SRAM是不同的
作者: ayanamei2009    时间: 2009-7-28 14:09
也就是我可以理解为GPU和CPU的cache工作方式完全不同
shared memory和Instruction Cache都是只读存储器。
Christ2002 发表于 2009-7-3 15:20

Shader memory应该是可W/R的
作者: storageworld    时间: 2009-7-28 14:39
显卡也有CACHE了吗,第一次听说
作者: ayanamei2009    时间: 2009-7-28 14:55
显卡也有CACHE了吗,第一次听说
storageworld 发表于 2009-7-28 14:39

一直都有 謝謝。。
作者: Edison    时间: 2009-7-28 15:40
晕。。。read only的cache有啥用??
这不变成rom了么。。。
rx78meng 发表于 2009-7-28 14:05


read only 是指数据只能从内存或者 host 端获取,但是不能由计算功能单元写入。
作者: hd4770    时间: 2009-7-29 10:29
read only 是指数据只能从内存或者 host 端获取,但是不能由计算功能单元写入。
Edison 发表于 2009-7-28 15:40

有没有reference说明cache is readonly?
作者: Edison    时间: 2009-7-29 19:31
有没有reference说明cache is readonly?
hd4770 发表于 2009-7-29 10:29


我们这里说的 read-only 是指像 texture cache 这类 cache,而不是说所有的 cache 都是 read only。

http://developer.download.nvidia ... mming_Guide_2.3.pdf
作者: duan325058    时间: 2009-7-31 21:12
学习了。。。。。。。。。。。。。。。
作者: zj112474106    时间: 2009-8-9 21:22
多发高技术含量的贴子不错
作者: lxy0617    时间: 2009-8-16 21:06
显卡里也有cache 学习到了
作者: zpk167    时间: 2009-10-2 18:06
进来学习学习~~




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4