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

标签 r matrix gpu

我一直在使用“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 的下一个版本中提供。

关于r - 如何将GPU(gpuR)矩阵转换为标准R矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40744821/

相关文章:

R:如何快速对子集的子集进行转换(优化或替代 `ddply` )?

java - 无法在centos R中安装rJava

r - 从列表中提取累积的唯一元素

python - CNTK - 权重更新占缓慢训练时间的 90%

在 R 中创建数据帧的再现函数 - 可再现代码

r - Pheatmap:annotation_colors[[colnames(annotation)[i]]]中的错误:下标越界

cuda - GPU上的 float 除法与CPU上的 float 除法

cuda - CUDA 是什么样的?它是干什么用的?有什么好处?以及如何开始?

c++ - 如何在 C++ 中选择多维数组中的范围?

r - 如何从 2 个或更多矩阵的所有可能组合创建矩阵?