由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
_Graphics版 - 想听听大家对下面两篇文章的看法
相关主题
Re: 做GPU方面的research怎么样IIHS第一批2018 TSP+/TSP公布
Nvidia Geforce Go 7150M支持OpenGL 2.0吗?路上看到克莱斯勒出了一款叫genesis的车
讨论一下GPGPU总结了下今年上半年美国市场中、高端豪华轿车销量
CUDA FFT关于OpenCL-苹果,Intel,AMD,NVIDIA和MSFT
CUDA Tutorial[合集] 关于OpenCL-苹果,Intel,AMD,NVIDIA和MSFT
jojomojo 由 loop 授予 Graphics 俱乐部权力nVidia: is it still the best
美国IIHS车辆安全测试 TOYOTA成最大赢家zt有没有玩CUDA的?
开了三年多的 Volt 之后最近入手了 Model S请教nvidia software engineer的电面经验
相关话题的讨论汇总
话题: cache话题: memory话题: cuda话题: g80话题: l2
1 (共1页)
l***j
发帖数: 300
e***e
发帖数: 3872
2
第一篇的第三页http://www.beyond3d.com/content/articles/31/3有些分析
是make sense的。我自己的经验,用CUDA做了个平滑mesh各顶点normal的程序,
G80的架构对内存访问pattern比较random时(比如index array)性能下降很多—
大约80-90%的clocks是访存占用的。我认为cache不够大,没有L2 Cache,multi-
processor间对cache的固定分配方式,都是G80可以改进的——在这篇文章中这些
也都是Intel在纸上画好的饼。

【在 l***j 的大作中提到】
: http://www.beyond3d.com/content/articles/31
: http://www.theinquirer.net/default.aspx?article=37548

l***j
发帖数: 300
3
如果把Memory做成 Tiled 会不会提高 cache Performance?
如果加入一个非常大的Vector Unit 和足够多的 vector register 提前把内存 load
到寄存器中然后在寄存器中进行运算是否可行?
如果用大量的 Thread 来并行处理这个问题是否可行呢。
不是很了解你所提到的Mesh 算法,只是想知道以你的经验,这样的问题在Larrabee 和
G80 上做哪个更容易一点,性能更好一点。
e***e
发帖数: 3872
4
我不太明白你讲的tiled memory,是指memory分成banks,每个bank都可以同时
被访问么?按Cuda手册上的说明,shared memory, 相当于L1 cache是分bank的,
但global memory不是。另外一点就是16个multiprocessors各自有自己的shared
memory, 16k,但彼此不能互相访问。
cuda建议的访存模式就是像你说的,但因为cache资源限制,每个block实际能
有效load的数据就有限,增加thread的数量可以把内存的latency平衡掉,但不能
解决oversize的数据访问问题。举例来说,如果数据是一个数组,里边都是需要
计算的数值(如卷积滤波),那么当滤波核尺寸超过cache的大小时,就无法有效
利用cache了。另外一个例子是数组中是另一个数组的索引,这种情况几乎必然带
来随机访存,没有L2 Cache,整体latency就会很高。
如果G80有4M的l2 cache, 并且可以为所有的processing unit访问的话,情况
会好得多。希望G85或者G90在加上双精度的同时把这个问题

【在 l***j 的大作中提到】
: 如果把Memory做成 Tiled 会不会提高 cache Performance?
: 如果加入一个非常大的Vector Unit 和足够多的 vector register 提前把内存 load
: 到寄存器中然后在寄存器中进行运算是否可行?
: 如果用大量的 Thread 来并行处理这个问题是否可行呢。
: 不是很了解你所提到的Mesh 算法,只是想知道以你的经验,这样的问题在Larrabee 和
: G80 上做哪个更容易一点,性能更好一点。

l***j
发帖数: 300
5
Tiled Memory 是指将一个 Surface 分块 (Tile) 每个 Tile 内的地址是连续的。如
果算法可以并行地处理一个块的话,需要加载到 Cache 中的内存就比较少了。
Larrabee 有共享的 L2 Cache.
你有没有研究过用 Cuda 来处理 Irregular Z buffer 的问题?对于这样复杂的数据
结构是否可通过 Cuda 来提高 Performance?
e***e
发帖数: 3872
6

举个例子吧
也举个例子吧

【在 l***j 的大作中提到】
: Tiled Memory 是指将一个 Surface 分块 (Tile) 每个 Tile 内的地址是连续的。如
: 果算法可以并行地处理一个块的话,需要加载到 Cache 中的内存就比较少了。
: Larrabee 有共享的 L2 Cache.
: 你有没有研究过用 Cuda 来处理 Irregular Z buffer 的问题?对于这样复杂的数据
: 结构是否可通过 Cuda 来提高 Performance?

1 (共1页)
相关主题
请教nvidia software engineer的电面经验CUDA Tutorial
我觉得任何时候大家讨论的语言就两种,C++和最热的语言。jojomojo 由 loop 授予 Graphics 俱乐部权力
zz一个女大和按摩店GPU的老段子美国IIHS车辆安全测试 TOYOTA成最大赢家zt
求NVIDIA 电话面试经验开了三年多的 Volt 之后最近入手了 Model S
Re: 做GPU方面的research怎么样IIHS第一批2018 TSP+/TSP公布
Nvidia Geforce Go 7150M支持OpenGL 2.0吗?路上看到克莱斯勒出了一款叫genesis的车
讨论一下GPGPU总结了下今年上半年美国市场中、高端豪华轿车销量
CUDA FFT关于OpenCL-苹果,Intel,AMD,NVIDIA和MSFT
相关话题的讨论汇总
话题: cache话题: memory话题: cuda话题: g80话题: l2