Eigen を使用して、サイズが 300k * 1000k と 1000k*300k の 2 つの大きな疎行列を乗算しようとしています。マトリックスは非常にスパースであり、0.01% の非ゼロ エントリですが、スパース性にブロックやその他の構造はありません。
Eigen がチョークし、最終的に 55 ~ 60G のメモリを消費することが判明しました。実際には、最終的な行列が密になり、これが大量のメモリを必要とする理由を説明しています。
マトリックスの1つが対角であり、乗算が2〜3 Gのメモリで正常に機能する場合、同様のサイズのマトリックスを乗算しようとしました。
何がうまくいかないかについて何か考えはありますか?