CUBLAS库:查找实际值的最大值,而不是绝对值



NVIDIA CUDA的CUBLAS库允许查找具有最大绝对值(cublasIsamax)的元素/索引。是否有可能以某种方式找到具有最大实际值的元素/索引,使用CUBLAS还原函数?

[我使用的是CUBLAS 3.2版本]

编辑
约束:我不能以任何方式改变生产服务器的状态。这意味着我不能使用thrust/cudpp,我只能使用旧版本的CUBLAS。

我不确定你指的是什么"减少功能"。

CUBLAS基本上只是CUDA设备的BLAS的"同类"实现。它只提供标准的1级,2级和3级BLAS函数,加上三个扩展- geam(缩放矩阵加法/转置),dgmm(对角矩阵-矩阵点积)和getrfBatched(许多小矩阵的批量LU分解)。这些函数都不能找到给定向量或矩阵的带符号最大值。

NVIDIA船cudpp和推力,其中任何一个都可能更适合这种操作。此外,CUBLAS 3.2已经有两年半的历史了。

作为最后的评论,我强烈建议使用CUBLAS 4。x或cublas5。x版本。代码的API和性能有了很大的改进,特别是对于较新的硬件。

最新更新