如何将 GPU (gpuR) 矩阵转换为标准 R 矩阵?

How to convert a GPU (gpuR) matrix to a standard R matrix?

我一直在使用包 'gpuR' 来提高代码处理矩阵的速度。一个矩阵(由 as.matrix(x) 形成)可以使用下面的代码转换为 vclMatrix(vcl 表示数据存储在 GPU 上)

vclm <- vcLMatrix(x)

multmatrix <- vclm * vclm

快得多
multmatrix <- x * x

对于大矩阵,但如何将多重矩阵转换回标准 R 矩阵以便进一步操作?

此外,知道为什么乘法比元素加法快得多,例如

addmatrix <- vclm + vclm

比添加标准矩阵慢很多吗?

非常感谢,安东尼

解决方法很简单。您可以通过简单地传递方括号将 vclMatrixgpuMatrix 转换为 matrix

r_matrix <- multmatrix[]

在软件包 github 的最新版本中,版本 1.2.2 为 as.matrix 提供了一个方便的包装器。它将在 CRAN 的下一个版本中提供。