将 cuBLAS-XT 用于大输入尺寸
Using cuBLAS-XT for large input size
This link
表示 cuBLAS-XT 例程提供核外操作——操作数数据的大小仅受系统内存大小的限制,不受 GPU 板载内存大小的限制。这意味着只要输入数据可以存储在 CPU 内存中并且输出大小大于 GPU 内存大小,我们就可以使用 cuBLAS-XT 函数,对吗?
另一方面,this link 说 "In the case of very large problems, the cublasXt API offers the possibility to offload some of the computation to the Host CPU" 和“目前,只有例程 cublasXtgemm() 支持此功能。输入大小大于 [=19 的问题是否属于这种情况=]内存大小?
我不明白这两者的区别!如果有人帮助我理解其中的区别,我将不胜感激。
cublasXt 的目的是允许操作在多个 GPU 上自动 运行。因此,例如,矩阵乘法或其他支持的运算可以在多个 GPU 上 运行。
cublasXtgemm 例程具有 特殊 功能,除了可以跨 2 个或更多 GPU 并行化矩阵乘法之外,它还可以跨 2 个或更多 GPU 并行化它 PLUS 使用主机 CPU 作为额外的计算引擎。
如所讨论的那样,矩阵乘法问题很容易分解 here。如果您 运行 所有 "chunks" 工作都只在 GPU 上进行,这就是 cublasXtgemm 的普通功能(仅使用 GPU)。如果你 运行 除了 GPU 上的工作块之一和 运行 CPU 上的工作块之一,那就是 special能力。
This link 表示 cuBLAS-XT 例程提供核外操作——操作数数据的大小仅受系统内存大小的限制,不受 GPU 板载内存大小的限制。这意味着只要输入数据可以存储在 CPU 内存中并且输出大小大于 GPU 内存大小,我们就可以使用 cuBLAS-XT 函数,对吗?
另一方面,this link 说 "In the case of very large problems, the cublasXt API offers the possibility to offload some of the computation to the Host CPU" 和“目前,只有例程 cublasXtgemm() 支持此功能。输入大小大于 [=19 的问题是否属于这种情况=]内存大小?
我不明白这两者的区别!如果有人帮助我理解其中的区别,我将不胜感激。
cublasXt 的目的是允许操作在多个 GPU 上自动 运行。因此,例如,矩阵乘法或其他支持的运算可以在多个 GPU 上 运行。
cublasXtgemm 例程具有 特殊 功能,除了可以跨 2 个或更多 GPU 并行化矩阵乘法之外,它还可以跨 2 个或更多 GPU 并行化它 PLUS 使用主机 CPU 作为额外的计算引擎。
如所讨论的那样,矩阵乘法问题很容易分解 here。如果您 运行 所有 "chunks" 工作都只在 GPU 上进行,这就是 cublasXtgemm 的普通功能(仅使用 GPU)。如果你 运行 除了 GPU 上的工作块之一和 运行 CPU 上的工作块之一,那就是 special能力。