1

我正在用 C# 实现 Goldenthal et.al 的不可扩展布料算法的实验性实现。

首先我使用 Math.NET Iridium 来组装和求解矩阵,但很快将其替换为 dnAnalytics,因为后者允许我重用矩阵,几乎消除了进一步的内存分配,这对于实时性能(小布)或迭代求解很重要一般来说。

问题是 dnAnalytics 中的求解器(主要感兴趣的是 LU 和 Bi-CG)仍然在幕后分配矩阵和向量,而不是重用过去的分配。

=> 是否有任何稀疏线性代数库可以开箱即用地重用内存,还是我必须自己重写代码?

4

1 回答 1

1

这个建议可能是多余的,但在使用 dnAnalytics 时,请确保使用英特尔数学内核库。尽管纯 C# 实现的想法听起来很诱人,但我发现性能差异是惊人的。密集系统的求解速度快了大约一百倍。

于 2009-09-10T14:46:35.093 回答