专栏算法工具链算力咨询

算力咨询

已解决
默认411522024-10-08
158
9

用户您好,请详细描述您所遇到的问题,详细的描述有助于帮助我们快速定位,解决问题~Thanks♪(・ω・)ノ

1. 芯片型号:J5

2. 天工开物开发包 OpenExplorer 版本:NA

3. 问题定位:规格咨询

4. 问题具体描述:

a) BPU是单核128TOPS算力,还是双核一共提供128TOPS算力?

b) 如果是128TOPS INT8算力,那能不能近似理解成64TOPS INT16算力,32TOPS INT32算力?

算法工具链
征程5
评论2
0/1000
  • Huanghui
    Lv.5

    不能这么认为,int8是硬件计算位宽,如果是int16就不是快慢的问题了,而是计算器在计算时就会报错,目前只是部分算子支持了int16,另外也不是说两个int8加起来就是int16这么简单计算的,int8是个系统性的工程,是不能折算成大位宽这么计算的。就像是在32位的CPU上跑64位的系统一样,是没法处理的

    2024-10-08
    0
    5
    • 默认41152回复Huanghui:

      理解,官方说明也是部分算子支持INT16/32。

      部分算子的INT16版本也是在BPU内部计算的对吧,还是跟softmax一样在DSP运行?

      有个极限假设,假设当前网络的算子都是能支持INT16的,那我能认为接近是64TOPS的INT16算力么?

      2024-10-08
      0
    • Huanghui回复默认41152:
      1. 是的,部分算子的INT16版本也是在BPU内部计算的。

      2. 即使算子都是能支持INT16的,那也是接近是64TOPS的算力,int16的计算是用int8的计算间接实现的,有额外开销,另外,int16 的feature,ddr 带宽也会增大,L1M开销也会变大,等等,性能不好估计为减半的。

      2024-10-08
      0
    • 默认41152回复Huanghui:

      抱歉追加一个问题。

      我看了官方给出的excel中列出了支持的算子情况。conv计算、linear计算和matmul计算等恰好均未标注数据类型,是不是这些只支持INT8。

      如果是,那对于J5的BPU,是不是matrix操作均推荐INT8操作。

      2024-10-08
      0
    • kotei左文亮回复默认41152:

      conv计算、linear计算和matmul计算等恰好均未标注数据类型,不是只支持int8;量化的是模型参数,推荐使用INT8量化

      2024-10-12
      0
    • Huanghui回复默认41152:
      excel中未列出支持情况是是因为出于精度的考虑,会根据算子所处的位置确定算子的数据类型,当他们为模型的尾部输出算子是,出于高精度输出的目的,一般会输出为int32高精度,但是如果他们处于模型的中间位置,考虑上下游算子的支持情况,默认会做int8处理,当然如果量化过程需要进一步提升精度时还可以通过“set_node_data_type”将他们配置为Int16,以上供参考!
      2024-10-12
      0
  • kotei左文亮
    Lv.3

    双核128TOPS的算力; TOPS是Tera Operations Per Second的缩写,TOPS算力与是否是int8, int16,int32关系不大,但是通常量化都是指int8。

    2024-10-08
    1
    2
    • 默认41152回复kotei左文亮:

      额。。。为啥跟数据格式无关,如果是int16,也能在每秒完成128T次计算么?

      2024-10-08
      0
    • kotei左文亮回复默认41152:

      TOPS是Tera Operations Per Second,每秒的操作次数,指的是底层的二进制操作次数;int8, int16指的是量化的网络参数所占的位数。单位完全不一样,128TOPS算力也不是指量化成int8就是128TOPS,量化成int16就是64TOPS,128TOPS就是新两个芯片的算力,是客观存在的,与是否量化成int8, int16无关。

      2024-10-08
      0