第一步,AMD显卡的PCI Device ID规则:Linux驱动中SIENNA_CICHLID的Dev ID:
{0x1002, 0x73A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
{0x1002, 0x73A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
{0x1002, 0x73A3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
{0x1002, 0x73AB, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
{0x1002, 0x73AE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},
{0x1002, 0x73BF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SIENNA_CICHLID},复制代码目前已知的所有SIENNA_CICHLID的Dev ID,可以看到有5个Dev ID是73Ax,而最后一个是73BF。
这个是传统的AMD Dev ID分配规则。
前面以数字结尾的ID对应专业卡和水果专用的卡,
最后一个以十六进制F结尾的ID则配合多个REV ID来对应不同的游戏卡。
拿Navi10来举例,
7310对应W5700X
7312对应W5700
731F REV C0对应5700 XT 50周年
731F REV C1对应5700 XT
731F REV C2对应5700
再举个Vega10的例子,
6861对应WX 9100
6863对应Vega FE
687F REV C0对应Vega64 水冷
687F REV C1对应Vega64 风冷
所以有理由相信这个Sienna Cichlid也是有对应的游戏卡的。
第二部,通过查看Linux驱动中有关Sienna Cichlid的代码可以找到:
在umc_v8_7.h文件中:
#ifndef __UMC_V8_7_H__
#define __UMC_V8_7_H__
#include "soc15_common.h"
#include "amdgpu.h"
/* HBM Memory Channel Width */
#define UMC_V8_7_HBM_MEMORY_CHANNEL_WIDTH 128
/* number of umc channel instance with memory map register access */
#define UMC_V8_7_CHANNEL_INSTANCE_NUM 2
/* number of umc instance with memory map register access */
#define UMC_V8_7_UMC_INSTANCE_NUM 8
/* total channel instances in one umc block */
#define UMC_V8_7_TOTAL_CHANNEL_NUM (UMC_V8_7_CHANNEL_INSTANCE_NUM * UMC_V8_7_UMC_INSTANCE_NUM)
/* UMC regiser per channel offset */
#define UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA 0x400
/* EccErrCnt max value */
#define UMC_V8_7_CE_CNT_MAX 0xffff
/* umc ce interrupt threshold */
#define UMC_V8_7_CE_INT_THRESHOLD 0xffff
/* umc ce count initial value */
#define UMC_V8_7_CE_CNT_INIT (UMC_V8_7_CE_CNT_MAX - UMC_V8_7_CE_INT_THRESHOLD)
extern const struct amdgpu_umc_funcs umc_v8_7_funcs;
extern const uint32_t
umc_v8_7_channel_idx_tbl[UMC_V8_7_UMC_INSTANCE_NUM][UMC_V8_7_CHANNEL_INSTANCE_NUM];
#endif
复制代码这个头文件是用来提供Sienna Cichlid的显存控制器的一些参数的。可以看到里面的显存类型为HBM,每通道位宽128bit,通道实例数量为2,每个实例的通道数为8,
总计128bit*2*8 = 2048bit。
在umc_v6_1.h中
#ifndef __UMC_V6_1_H__
#define __UMC_V6_1_H__
#include "soc15_common.h"
#include "amdgpu.h"
/* HBM Memory Channel Width */
#define UMC_V6_1_HBM_MEMORY_CHANNEL_WIDTH 128
/* number of umc channel instance with memory map register access */
#define UMC_V6_1_CHANNEL_INSTANCE_NUM 4
/* number of umc instance with memory map register access */
#define UMC_V6_1_UMC_INSTANCE_NUM 8
/* total channel instances in one umc block */
#define UMC_V6_1_TOTAL_CHANNEL_NUM (UMC_V6_1_CHANNEL_INSTANCE_NUM * UMC_V6_1_UMC_INSTANCE_NUM)
/* UMC regiser per channel offset */
#define UMC_V6_1_PER_CHANNEL_OFFSET_VG20 0x800
#define UMC_V6_1_PER_CHANNEL_OFFSET_ARCT 0x400
/* EccErrCnt max value */
#define UMC_V6_1_CE_CNT_MAX 0xffff
/* umc ce interrupt threshold */
#define UMC_V6_1_CE_INT_THRESHOLD 0xffff
/* umc ce count initial value */
#define UMC_V6_1_CE_CNT_INIT (UMC_V6_1_CE_CNT_MAX - UMC_V6_1_CE_INT_THRESHOLD)
extern const struct amdgpu_umc_funcs umc_v6_1_funcs;
extern const uint32_t
umc_v6_1_channel_idx_tbl[UMC_V6_1_UMC_INSTANCE_NUM][UMC_V6_1_CHANNEL_INSTANCE_NUM];
#endif复制代码和上个头文件类似,这个头文件则是Vega20和Arcturus的HBM参数。已知这两个芯片都是使用HBM2的芯片,使用的这个UMC的版本为6.1,那使用8.7的Sienna Cichlid可以大胆的猜测应该是HBM2e。
在gmc_v10_0.c中
static void gmc_v10_0_set_umc_funcs(struct amdgpu_device *adev)
{
switch (adev->asic_type) {
case CHIP_SIENNA_CICHLID:
adev->umc.max_ras_err_cnt_per_query = UMC_V8_7_TOTAL_CHANNEL_NUM;
adev->umc.channel_inst_num = UMC_V8_7_CHANNEL_INSTANCE_NUM;
adev->umc.umc_inst_num = UMC_V8_7_UMC_INSTANCE_NUM;
adev->umc.channel_offs = UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA;
adev->umc.channel_idx_tbl = &umc_v8_7_channel_idx_tbl[0][0];
adev->umc.funcs = &umc_v8_7_funcs;
break;
default:
break;
}
}复制代码可以看到,确实专门将刚才的那些HBM相关常量赋给Sienna Cichlid,而别的卡,比如同样使用GMC10的Navi一代以及二代别的卡,都没有这一段。
而在gmc_v9_0.c中
static void gmc_v9_0_set_umc_funcs(struct amdgpu_device *adev)
{
switch (adev->asic_type) {
case CHIP_VEGA10:
adev->umc.funcs = &umc_v6_0_funcs;
break;
case CHIP_VEGA20:
adev->umc.max_ras_err_cnt_per_query = UMC_V6_1_TOTAL_CHANNEL_NUM;
adev->umc.channel_inst_num = UMC_V6_1_CHANNEL_INSTANCE_NUM;
adev->umc.umc_inst_num = UMC_V6_1_UMC_INSTANCE_NUM;
adev->umc.channel_offs = UMC_V6_1_PER_CHANNEL_OFFSET_VG20;
adev->umc.channel_idx_tbl = &umc_v6_1_channel_idx_tbl[0][0];
adev->umc.funcs = &umc_v6_1_funcs;
break;
case CHIP_ARCTURUS:
adev->umc.max_ras_err_cnt_per_query = UMC_V6_1_TOTAL_CHANNEL_NUM;
adev->umc.channel_inst_num = UMC_V6_1_CHANNEL_INSTANCE_NUM;
adev->umc.umc_inst_num = UMC_V6_1_UMC_INSTANCE_NUM;
adev->umc.channel_offs = UMC_V6_1_PER_CHANNEL_OFFSET_ARCT;
adev->umc.channel_idx_tbl = &umc_v6_1_channel_idx_tbl[0][0];
adev->umc.funcs = &umc_v6_1_funcs;
break;
default:
break;
}
}复制代码都是类似的情况,印证了Big Navi使用HBM这一点。
在gmc_v10_0.c中
if (adev->asic_type == CHIP_SIENNA_CICHLID && amdgpu_emu_mode == 1) {
adev->gmc.vram_type = AMDGPU_VRAM_TYPE_GDDR6;
adev->gmc.vram_width = 1 * 128; /* numchan * chansize */
} else {
r = amdgpu_atomfirmware_get_vram_info(adev,
&vram_width, &vram_type, &vram_vendor);
adev->gmc.vram_width = vram_width;
adev->gmc.vram_type = vram_type;
adev->gmc.vram_vendor = vram_vendor;
}复制代码这一段中可以看到,当asic类型为Sienna cichlid并且为仿真模式时,代码将显存设为了128bit的GDDR6,我猜测也许在开发期间,因为显存没有准备就绪,又或者别的什么原因,所以曾经有使用GDDR6的工程样品用来做测试。
这应该就是我们上次看到的那张泄露图的中的卡,或者别开发样卡。
我想这次传言说GDDR6的原因,也就是某些开发样卡的规格被泄露了出来。
最后综上所述,使用2048bit HBM的卡一定个Big卡,并且这个卡有游戏卡,所以这应该就是AMD所说的Big Navi。
大家可以尽情期待了。
最后希望Big Navi不要像Vega一样出现功能性Bug,一雪前耻。
评论
求秒还是专业,不知道成品是不是混合显存,啥时候能模拟cuda渲染octane就好了。
评论
显存应该只有一种,没有看到什么特别的代码。
评论
功耗对比gddr6x会低吗
评论
2048bit hbm2的带宽也一样尴尬
评论
硬核分析
评论
好了,你该回水牢了。
评论
配合3.2Ghz的HBM2e可以提供820GB/s的带宽,这还只是起步,实际海力士的可以跑到3.6,三星的可以到4.2。
评论
999刀不加价能打住吗?
评论
我觉得HBM2应该还是给水果的卡
评论
求秒,我觉得你判断HBM2e的显存,规格2048bit,那按照A100的2.4g的频率,大navi的带宽就600G的水平,然而5700xt都已经448G的带宽了,感觉太小,那个超大的L2和不太宽裕的带宽有互相弥补的作用???
不是很懂这个东西
好吧,我还是认为HMB2e加GDDR6的混合搭配是个方案,大容量的L2的作用是作为数据缓存和GPU正常运算,个人瞎猜的
评论
不黑屏不掉驱动不bug不死机就买了
评论
12g版本的怎么刀?
评论
这个回答的好
评论
分析的好!(假装看懂了)
评论
为什么这个核心非要有12G版?
评论
近几年这几家dram上的吹13看多了,表示怀疑
评论
三星的HBM2e于今年2月量产。
https://www.tomshardware.com/new ... ass-production-dram
海力士于今年7月量产。
https://news.skhynix.com/sk-hyni ... h-speed-dram-hbm2e/
评论
A100是HBM2,并不是HBM2e,如果还是HBM2的话,应该不会用UMC 8.7了,直接拿以前的6.1就好了。
HBM2e起步3.2G。
评论
两片HBM2的Vega64卖多少钱?
四片HBM2的R7又卖多少钱喃?
评论
我的满汉全席给我做好再说
评论
感谢指正,不过我更看好明年年底的MCM的navi系列,这才是真正翻身的作品,大胃王赛高
那HBM2e的3g频率的显存的话,带宽也不是太够,不过搭配超大L2也就勉强说得通了
评论
r7根本不赚钱,我记得是限量卖的……酥麻要是想再交个朋友那皮衣黄得乐死……
评论
我农威武
评论
如果有超大缓存的话,可能是为光追服务吧。
评论
Mesa 开源驱动天天都有新料
评论
遊戲卡應該沒HBM的
评论
这块核心有游戏卡上面有过分析了,也没有使用DEV ID来区分使用不同的显存。
评论
static void gmc_v10_0_set_umc_funcs(struct amdgpu_device *adev)
{
switch (adev->asic_type) {
case CHIP_SIENNA_CICHLID:
adev->umc.max_ras_err_cnt_per_query = UMC_V8_7_TOTAL_CHANNEL_NUM;
adev->umc.channel_inst_num = UMC_V8_7_CHANNEL_INSTANCE_NUM;
adev->umc.umc_inst_num = UMC_V8_7_UMC_INSTANCE_NUM;
adev->umc.channel_offs = UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA;
adev->umc.channel_idx_tbl = &umc_v8_7_channel_idx_tbl[0][0];
adev->umc.funcs = &umc_v8_7_funcs;
break;
default:
break;
}
}
这里哪里有HBM相关的常量啊?
评论
UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA
UMC_V8_7_CHANNEL_INSTANCE_NUM
UMC_V8_7_TOTAL_CHANNEL_NUM
全部都是和HBM相关的常量,在umc_v8_7.h中定义。
umc v87和HBM相关的常量只有一个
#define UMC_V8_7_HBM_MEMORY_CHANNEL_WIDTH 128
但是从头到尾没用到,你这属于先有结论再反向推导越看越像
评论
GDDR6X功耗就是一坨屎
评论
如果用HBM2e性能可以期待一下,就是价格期待不了
评论
1.png (338.73 KB, 下载次数: 0)
2.png (321.23 KB, 下载次数: 0)
评论
如果真是HBM 怕是矿工狂喜啊 玩家又要被耍猴了
评论
我信了
评论
这些我当然考虑过,后面那一段只需要确认真的是Sienna Cichlid在用就好了,毕竟umc 6.1的这个变量也只出现一次哦。
另外如果是GDDR6,这些参数直接从atom firmware里面读就好了,何必搞个umc 8.7来玩。
再另外你算算如果是GDDR6,这个通道数对么?
评论
都hbm了还要128mb么
评论
坐等瓜秒翻车
评论
反应过来你说啥了,也许给光追用,也许没有
评论
预算就7000封顶。。
评论
RDNA的shared L1补了一块很大的短板,l2带宽已经有2TB/s,5700xt 对G6带宽也不是很敏感 ,big navi 翻倍4T还能喂不饱
ga100兼顾各种计算才48mb,游戏卡真的有那么大需求?
评论
之前buildzoid分析过卡背面的螺丝孔位置,结论是大概率HBM
评论
劲!HBM2e爷吹爆!
评论
传言11月发布的16寸 macbook pro有希望能用上big navi吗?
评论
缓存其实主要可以放一些buffer啥的,有很好的加速效果。
但是对于gpu本身的带宽需求帮助不大。
之前猜测有大缓存的理由有几个,
一个是 256bit实在是不够的。
二个是 对光追有效果。
三个是 505的面积凑不够。
评论
显卡也会有大带宽需求,比如eth算法。降低GPU频率并不会降低多少算力,但能大幅减少电费。提高显存频率会显著提高算力,但不会增加多少电费。eth算法是直接和显存及其吞吐量线性相关,从利润角度而言,购买者需要这样设计的显卡,甚至ASIC
评论
没有DLSS类似的技术,玩光追在4K下就很难流畅,3A大作也比较难达到120HZ,综合看来还是NV竞争力强
评论
xbox有,navi2x没有我是不信的
评论
XBOX是可变速率着色,和DLSS完全不是一回事,再说主机有的技术未必会在PC生态上推行
评论
如果80cu+16GB hbm卖699,那真的香了
评论
vrs是大家都有的功能,根本不是一个东西
评论
DirectML了解一下 DLSS就是个软件模型 运算快慢的区别而已 什么硬件都能做
评论
光追不也是吗
速度差太多就是量变变质变,有没有硬件支持就是决定性的。
dlss有tensor在后面支持,至今也有2年了,才慢慢的开始被接受
评论
别人在讨论有没有 你在这说好不好
再说 xbox 硬件也支持 dlss 加速啊
评论
我知道有ML,可是有用吗?有人支持吗?DLSS可是已经开始形成气候了,而且DLSS是NV独有功能,Xbox可以通过其他机器学习达到类似功能,但不可能支持DLSS
评论
你之前说的是VRS啊 怎么忽然又说你知道ml了 有必要这么杠嘛 不扯了
评论
那光追也可以用fp32来做啊,大家为什么说amd没有光追?
评论
饶了农企吧,要在Macbookpro这种散热上限70W的东西里装进Big navi,苏妈挖到威震天都做不到啊
评论
NAVI1上不是也有一个图像锐化功能么 再发展发展 也是可用的 也是去用算法模拟高分辨率的细节
50W的Navi 14了解下
评论
是这道理,关键是市场接受,没人用再好的技术也起不来
评论
那玩意是基于传统Shader的,但是效果挺好用
评论
你错了 vrs+radeon boost在路上了
评论
x1s就实现了棋盘渲染自动分辨率,都多少年了,pc上的……有几个啊
评论
舅妈,vrs还是有损的,而且损失比较大,DLSS虽然也有损,但是损耗基本可以忽略了,至于radeon boost是什么,能透露一下吗?
评论
得有人支持啊 ,你看现在哪个PC游戏支持VRS了····,而DLSS是实打实的有了
评论
我是不知道你的dlss损耗基本忽略是哪里来的,明显就是糊的一p啊,dlss2.0也是一眼就看的出差别。。。。
评论
看来舅妈的眼睛还是比树导强多了
评论
Navi 14 158mm2 vs 传说中500mm2的Navi 21……
评论
问题是厨子特供阉割版都阉得只剩1200MHz了
评论
别的不说,DLSS号称能搞定8K,结果原始画面是1440P,这样的损耗如何忽略
评论
有吗?DLSS2.0画质非常好啊
评论
8K是超性能模式,普通4K的质量模式你去看看损耗大不大
评论
舅妈,咱们换个说法,DLSS2.0的质量模式保守点说达到85%的原生画面你是否同意
评论
hbm显存是爽yy,但也会引来矿工们的注意…难道今年内都要一卡难求了嘛?郁闷啊(╥﹏╥)
评论
Amd的东西在 主机平台肯定是会成为开发标准
至于PC平台 ,, 其实更多的是看 游戏厂商的抉择了
毕竟游戏的正版销量大头还是主机的
评论
Radeon boost我看现在已经有了呀。
评论
不同意,还没amd和nv自带的锐化滤镜好。。。。老黄自己拿来宣传的死亡搁浅用了dlss直接把整个游戏质感都破坏了。。。
dlss2.0在我看来就是缩画面然后锐化,其实跟蓝宝那个软件缩分辨率再锐化实际效果差不多,当然帧数提高和画面质量还是dlss2.0略胜一点。当然1.0就别提了,什么垃圾玩意还出来吹牛逼
评论
现在的Radeon boost是个废物,一开画面糊的不行,这种降分辨率提高帧数的东西还没主机那套动态分辨率来的好用,人家起码是帧数不稳定的时候才缩一下,Radeonboost什么垃圾。。。
评论
DLSS这种deep learning的模型比简单的锐化还是好很多的。反正游戏画面没有groundtruth,就算有些地方脑补细节不大合理,也无伤大雅。况且现在dlss 2.0脑补细节错的已经很少了。 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收
·日本中文新闻 唐田绘里香为新剧《极恶女王》剃光头 展现演员决心
·日本中文新闻 真子小室夫妇新居引发隐私担忧
·日本中文新闻 前AKB48成员柏木由纪与搞笑艺人交往曝光
·日本学校 {日本国际学校}梅田インターナショナルスクール
·日本学校 LINE:sm287 陳雨菲、20歳、台湾からの留学生、東京に来たばかり
·日本留学生活 出售平成22年走行48000km 代步小车
·日本华人网络交流 円相場 一時1ドル=140円台まで上昇?
·日本华人网络交流 问日本华人一个问题
·日本旅游代购 富山接机
·生活百科 英国转澳大利亚转换插头
·汽车 【求助】修车遇到困难怎么办?