我正在运行nvidia's sample code。可以在github上找到该代码: 我从CUDA toolkit documentation知道代码
允许库尽可能使用Tensor Core操作
通过使用CUBLAS_TENSOR_OP_MATH
。
在文档中,我发现CUBLAS_DEFAULT_MATH
阻止了库使用Tensor Core操作,但是示例代码未使用它。
WMMA的默认设置是什么?它会在CUDA内核上执行还是Tensor内核可能支持计算的可能性。
答案 0 :(得分:1)
wmma instructions只能使用(即在Tensor Core硬件上执行)。它们不能在任何其他类型的硬件上执行。因此,在使用wmma指令编译CUDA设备代码时,您必须针对具有Tensor Core硬件的体系结构(当前为cc7.x)。此外,此类代码只能在cc7.x设备上正确运行(当前)。
您引用的CUBLAS变量会影响CUBLAS API的使用。它们与您自己编写的wmma指令无关。
在内部,CUBLAS库具有多个代码路径。您引用的CUBLAS变量可能会影响CUBLAS库可能做出的代码路径决策。其中一些代码路径可能使用wmma指令或等效的Tensor Core用法。其他代码路径可以执行相同的操作(在较高级别,例如矩阵矩阵乘法),而无需使用wmma指令。