我写了这段代码: app和cova是代码和gsingle中维度等于变量dim的矩阵。
dim=32;
gfor q=1:256
app(:,:,q)=cova(:,:,q)\geye(dim,dim,'single');
gend
如果我尝试增加昏暗的维度,结果会很慢。如果我用for循环编写等效代码并且使用cpu变量更快。为什么会这样?
答案 0 :(得分:1)
Jacket使用上游库进行线性代数。不幸的是,它优化了大型矩阵而不是许多小型矩阵。因此,我们为宽度最大为32的矩阵(或64根据精度)实现了快速版本。不幸的是,之后的任何事情都使用慢版本。这就是你所看到的行为的原因。我是上述功能的开发人员。