我一直在使用套餐' gpuR'提高代码操作矩阵的速度。可以使用下面的代码将矩阵(由as.matrix(x)形成)转换为vclMatrix(vcl表示数据存储在GPU上)
vclm <- vcLMatrix(x)
multmatrix <- vclm * vclm
比
快得多multmatrix <- x * x
对于大型矩阵,但如何将多矩阵转换回标准R矩阵以进行进一步操作?
此外,任何想法为什么乘法是如此快,但元素明智的加法,例如
addmatrix <- vclm + vclm
明显慢于添加标准矩阵?
非常感谢,Antony
答案 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的下一个版本中提供。