昇腾310P性能差异及310B异常加载
目录
310P规格手册
昇腾310P 有几款芯片
标卡
一个昇腾自己的产品310I PRO,采用310P ,产品参数如下:标称算力140TOPS

定制卡
很多厂商用昇腾提供的310P芯片自己做板卡,相关资料可以从各个厂家官网搜到

差异
主要算力差异,定制卡明显更高些。内存容量定制卡选型更丰富些,难道就这么简单吗?
静态功耗差异
某定制卡A EP

试用卡A
之前号称同型号,难道新卡是全国产化后的差异?

标卡静态
X86环境
ascend-dmi 5.0.0.3 Brief Information |
|=========================+======================================+======================|
| Card Type | NPU Count | Real-time Card Power |
+-------------------------+--------------------------------------+----------------------+
| Chip Name | Health Used Memory | Temperature Voltage |
| Device ID | Bus ID AI Core Usage | |
|=========================+======================================+======================|
| 8 Atlas 300I Pro | 1 | 17.8W |
+-------------------------+--------------------------------------+----------------------+
| 0 Ascend 310P3 | OK 1774MB/21527MB | 56C 0.79V |
| 0 | 0000:01:00.0 0% | |
|=========================+======================================+====================
飞腾D2000环境
ascend-dmi 5.0.0.3 Brief Information |
|=========================+======================================+======================|
| Card Type | NPU Count | Real-time Card Power |
+-------------------------+--------------------------------------+----------------------+
| Chip Name | Health Used Memory | Temperature Voltage |
| Device ID | Bus ID AI Core Usage | |
|=========================+======================================+======================|
| 544 Atlas 300I Pro | 1 | 25.5W |
+-------------------------+--------------------------------------+----------------------+
| 0 Ascend 310P3 | OK 1760MB/21527MB | 56C 0.80V |
| 0 | 0000:06:00.0 0% |
定制卡B RC功耗

由于固件不支持,定制B EP功耗获取不到。
汇总
| 定制卡A | 标卡X86 | 标卡飞腾D2000 | 定制卡B RC |
| 50W (45度) | 18W(56度) | 26w(56度) | 26w (37度) |
性能差异
主要考察推理耗时和帧率
310P标卡
此处采用310I DUAL ,虽然是双P,但实际运行的只有一个P



定制卡C



定制卡A不限功耗时

定制卡A 与标卡耗时
| 310P3 标卡 |
定制卡A (限制功耗到75W) |
|
| (核心推理) 延迟 | 37.38 ms | 122.75 ms |
汇总
| 标卡 | 定制卡C | 定制卡A(不限制功耗) | 定制卡A(限制功耗90W) | 定制卡A(限制功耗70W) |
| 31ms | 31ms | 38ms | 38ms | 120MS |
| 1000fps | 1000fps(实际运行到60w) | 800fps | 800fps | 400FPS |
总结
回到开始规格书 说明,华为标卡标明了内存位宽384bit,即占用内存控制器的所有位宽,12颗粒;而定制卡的说明,翻看各家定制卡规格书,基本都不会写位宽多少,那实际位宽可能只有256bit。按每颗粒32bit算,实际贴有8颗。
对于NPU这种卡,内存位宽减少1/3,性能减少、延时增加。
对于不同模型,例如本文的模型,标卡24G内存,384位宽即在所有设计中的最好表现,那么在如今内存颗粒价格如此昂贵的今天,是否需要贴大容量颗粒? 在上述的模型实践中,大容量颗粒,较少位宽并没有带来性能提升,反而下降。
昇腾提供的算力测试工具并不能测试出来这些差异,测试出来的算力都是标称的或者140TB,或者176TB。此时要上ais bench压测了。而定制化卡在进行设置功耗时,并不能通过昇腾算力工具来判断是否满足要求,而要通过客户提供的工具看有否满足延时、帧率要求了。
板卡设计真是一件有意思的事情了,比如内存容量的确定、位宽的设定(很多小伙伴儿在设计时考虑布线、板卡尺寸等因素,会砍掉通道数目等),简单粗暴上最全的,例如此310P ,上布满全部位宽,内存容量够大,但这在某些对散热、结构等有要求的环境又不适应,还要考虑价格。不像一个简单的CPU卡。
310B异常加载
在应用310B板卡时,我们遇到驱动不能加载的情况,具体报如下问题:是什么原因导致的呢?且听下回分解。
PcieDmaSramInit OK!
pcie dma init begin
pcie dma init ok
PCIE download userbasecfg image start...
userbasecfg download, dest addr is 0x11100000
Pcie dma copy:[0x3|0xdc200000|0x6|0x0|0x24dc]
userbasecfg download ok
pre verify success!
non-secure vef success!
isUser[1], No infor in boardID and boardId[2~0].
No board infor in userBaseConfig
current[5], last[0]
PCIE download sysbasecfg image start...
sysbasecfg download, dest addr is 0x11100000
Pcie dma copy:[0x3|0xdc200000|0x6|0x0|0x145a8]
sysbasecfg download ok
pre verify success!
secure verify success
!SyscfgProc [249|0|1]
Line[80] fullboardid .
Pg info checksum.
The physical specifications are smaller than the PG specifications!
[ 8.941034] mali fb000000.gpu: Loading Mali firmware 0x1010000
[ 8.944227] mali fb000000.gpu: Mali firmware git_sha: ee476db42870778306fa8d559a605a73f13e455c
[ 10.984467] rk_gmac-dwmac fe1c0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 10.984544] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 12.227014] ttyFIQ ttyFIQ0: tty_port_close_start: tty->count = 1 port count = 2
[ 168.970118] [ascend] [uda] [ERROR] [uda_wait_all_phy_startup 1340] <upgrade-tool:627:627:3> Wait timeout. (dev_num=0; uda_detected_dev_num=1)
[ 199.637538] [ascend] [uda] [ERROR] [uda_wait_all_phy_startup 1340] <npu-smi:1282:1282:2> Wait timeout. (dev_num=0; uda_detected_dev_num=1)
[ 812.080357] [ascend] [drv_pcie] [ERROR] [devdrv_get_rd_flag 515] <kworker/3:0:32:32> Load timeout. (dev_id=0; flag_r=0x6666666666666666)
更多推荐


所有评论(0)