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

时间:2016-11-22 14:44:28

标签: r matrix gpu

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

vclm <- vcLMatrix(x)

multmatrix <- vclm * vclm

快得多
multmatrix <- x * x

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

此外,任何想法为什么乘法是如此快,但元素明智的加法,例如

addmatrix <- vclm + vclm

明显慢于添加标准矩阵?

非常感谢,Antony

1 个答案:

答案 0 :(得分:1)

解决方案非常简单。您只需通过方括号即可将function getClassName($col, $field) { if ( !in_array($col, [ 'Column4', 'Column7', 'Column9' ]) || empty($field) ) return 'normal_cell'; if ( $field >= 199.99 ) return 'green'; if ( $field >= 195 ) return 'yellow'; return 'red'; } $cellFormat = '<td class="%s">%s</td>'; while ($row = mysqli_fetch_array($result)) { echo '<tr>'; foreach ($row as $col => $field) { printf($cellFormat, getClassName($col, $field), $field); } echo '</tr>'; } vclMatrix转换为gpuMatrix

matrix

在软件包github上的最新版本中,版本1.2.2具有r_matrix <- multmatrix[] 的便捷包装器。它将在CRAN的下一个版本中提供。