CUDA三对角解算器函数(CUSPARE)

CUDA三对角解算器函数(CUSPARE),cuda,Cuda,在我的CUDA代码中,我使用了cusparsegtsv()函数(更准确地说,是cusparseZgtsv和cusparsezgtsvtridedbatch函数) 据说,这个函数解出了方程A*x=alpha*B。我的问题是——什么是alpha?我没有找到它作为输入参数。我不知道如何具体说明。它总是等于1吗?我进行了一些测试(求解了一些随机方程组,其中三对角矩阵始终是对角占优的,并通过向量乘法使用直接矩阵检查了我的解)。 在当前版本中,它看起来总是alpha=1,因此可以忽略它。我怀疑它将作为输入参

在我的CUDA代码中,我使用了
cusparsegtsv()
函数(更准确地说,是
cusparseZgtsv
cusparsezgtsvtridedbatch
函数)

据说,这个函数解出了方程A*x=alpha*B。我的问题是——什么是alpha?我没有找到它作为输入参数。我不知道如何具体说明。它总是等于1吗?

我进行了一些测试(求解了一些随机方程组,其中三对角矩阵始终是对角占优的,并通过向量乘法使用直接矩阵检查了我的解)。
在当前版本中,它看起来总是alpha=1,因此可以忽略它。我怀疑它将作为输入参数添加到将来的版本中。

我认为文档是错误的。gtsv通常解决AX=B,其中B包含一个或多个RHSI同意@talonmies(尽管我还没有确认),并已在NVIDIA提交了一个内部文档错误,以更新文档。@RobertCrovella感谢提交。另一件事是解算器不使用值
dl(0)
du(m-1)
(低对角线的第一个值和上对角线的最后一个值)。在文档中,据说这些值应该设置为零。实际上,这些值可能是任意的。您可能会注意到它们在当前的实现中并不重要,但另一个变体或未来的实现可能期望或要求它们为零。我觉得这和你在这里报道的不同。我不认为这是一个缺陷。在任何情况下,您都可以自己在developer.nvidia.com上提交bug。API完全有可能需要您认为不必要或不合理的东西。未能遵循API要求意味着您的代码可能会被破坏。