我是做HPC的,刚才赖博士说Tensor Core在HPC中由于精度问题不专门使用就会浪费,那么,有没有办法把它利用上呢?比如,通过算法将FP32的矩阵运算分解为多个FP16的Tensor Core运算?
NVIDIA中国区工程及解决方案总监赖俊杰:
并不是Tensor Core在HPC应用里面,因为精度的关系用不上就是浪费,不管是FP64的Tensor Core还是更低精度的Tensor Core,有一些是直接就可以用起来,像64位的矩阵乘,如果HPC应用里面有大量的double矩阵乘,直接就可以获得很好的加速,精度也不会有任何的影响。甚至很多的HPC任务里面,用更低的精度做一些前期的快速迭代,之前应该是有很多的研究的文章,并不是Tensor Core在HPC应用里才能用起来,其实有很多的应用。另外也不能简简单单的理解成把一个FP32的矩阵乘能用几个FP16或其他精度的一些矩阵乘去做替代,好像数值上也是不可行的,它并不是一个简单的等价关系,而是从很多的迭代算法里面,用一些更低精度,其实可以对于更高精度可以做一些数值上的逼近。