CUDA Core是大家耳熟能详的,指的是GPU以SIMT,即单指令、多线程的方式运行。在V100这代架构里,英伟达增加了一个Tensor Core张量运算引擎,加入的主要目的就是为了做AI计算,那时候还叫深度神经网络计算。因此,V100这代GPU是非常具有代表性的。那么具体分析,GPU为什么能够算得这么快?为什么它的性能会这么好?主要得益于它极高的数据并行度。SIMT中,这个“T”指的是线程。一个GPU上可以有海量的线程,每时每刻都有成千上万的线程可以同时运行。举一个非常简单的例子,比方说有两个矩阵,A矩阵乘以B矩阵,要得到一个C矩阵结果。在C矩阵中,每一个结果点,即下图中这个红色的点,它的计算就是从A矩阵中拿出一行,B矩阵中拿出一列,把它们相乘作一个内值就得到了结果点。在CUDA Core里面,每一个线程都负责计算C矩阵中的一个结果点,一个线程只计算一个结果点。GPU中成千上万个线程同时执行,所以一瞬间的功夫,这个C矩阵里的所有结果都会被计算出来,这就是CUDA Core并行性比较强大的原因。