😽手算Ampere架构各个精度的Throughout

相关数据

FP64 CUDA Core

使用CUDA Core的FP64最好理解 一共32个计算FP64的CUDA Core,每一个clk(时钟周期)计算一个FP64

  • 频率:1.41 GHz • SM数量:108

  • 一个SM中计算FP64的CUDA core的数量: 32

  • 一个CUDA core一个时钟周期可以处理的FP64: 1

  • 乘加: 2

Throughput = 1.41 GHz * 108 * 32 * 1* 2 = 9.7 TFLOPS

FP32 CUDA Core

使用CUDA Core的FP32跟FP64差不多 一共64个计算FP32的CUDA Core,每一个clk计算一个FP32

  • 频率:1.41 GHz

  • SM数量:108

  • 一个SM中计算FP32的CUDA core的数量: 64

  • 一个CUDA core一个时钟周期可以处理的FP32: 1

  • 乘加: 2

Throughput = 1.41 GHz * 108 * 64 * 1* 2 = 19.4 TFLOPS

FP16 CUDA Core

Ampere中没有专门针对FP16的CUDA core,而是将FP32的CUDA Core和FP64的CUDA Core一起使用来计算FP16。我们暂且说一个 SM中计算FP16的CUDA core的数量是: 256 ( = 32 * 4 + 64 * 2 )

  • 频率:1.41 GHz

  • SM数量:108

  • 一个SM中计算FP16的CUDA core的数量: 256

  • 一个CUDA core一个时钟周期可以处理的FP16: 1

  • 乘加: 2

Throughput = 1.41 GHz * 108 * 256 * 1 * 2 = 78 TFLOPS

INT8 CUDA Core

Ampere中没有专门针对INT8的CUDA core,而是用INT32的CUDA Core计算INT8。我们暂且说一个SM中计算INT8的CUDA core的数量 是: 256 ( = 64 * 4 )

  • 频率:1.41 GHz • SM数量:108

  • 一个SM中计算INT8的CUDA core的数量: 256

  • 一个CUDA core一个时钟周期可以处理的INT8: 1

  • 乘加: 2

Throughput = 1.41 GHz * 108 * 256 * 1 * 2 = 78 TOPS

FP16 Tensor core

我们来分析Tensor Core Ampere架构使用的是第三代Tensor Core,可以一个clk完成一个 1024 ( = 256 * 4)个FP16运算。准确来说是4x8的矩阵与8x8的矩阵的 FMA

  • 频率:1.41 GHz

  • SM数量:108

  • 一个SM中计算FP16的Tensor core的数量: 4

  • 一个Tensorcore一个时钟周期可以处理的FP16: 256

  • 乘加: 2

Throughput = 1.41 GHz * 108 * 4 * 256 * 2 = 312 TFLOPS

INT8 Tensor Core

我们来分析Tensor Core Ampere架构使用的是第三代Tensor Core,可以一个clk完成一个 2048 ( = 256 * 2 * 4)个INT8运算。准确来说是4x8的矩阵与8x8的矩 阵的FMA

  • 频率:1.41 GHz • SM数量:108

  • 一个SM中计算INT8的Tensor core的数量: 4

  • 一个Tensorcore一个时钟周期可以处理的INT8: 512

  • 乘加: 2

Throughput = 1.41 GHz * 108 * 4 * 512 * 2 = 624 TOPS

Last updated