因此,當我試圖聲明大於10000x10000的矩陣時,我發現Eigen程序包崩潰。我需要像這樣聲明一個矩陣。大約13000x13000元素可靠。我跑了一個測試,如:32位應用程序的Eigen最大矩陣大小
for(int tortureEigen = 1 ; tortureEigen < 50000 ; tortureEigen++)
{
printf("Torturing Eigen with %dx%d..\n", tortureEigen, tortureEigen) ;
Eigen::MatrixXd m(tortureEigen, tortureEigen) ;
}
崩潰在我的機器(6 GB RAM)14008元素。
我有點失望!我認爲Eigen就像MATLAB或八度,不應該使用更大的陣列,即使它碰到磁盤或其他東西也不會崩潰。
更重要的是,當我運行此測試並保持TaskMan打開時,創建的過程這些矩陣甚至沒有使用那麼多的內存。 TaskMan報告使用2k以下。
使用本徵2.0.15穩定釋放
你有沒有得到任何錯誤消息,隨着這次崩潰?你是否可以將其陷入調試器?如果我們有更多的信息,我們可能會提供幫助。 OTOH,我的直覺說這是Eigen郵件列表的問題。 – 2010-08-10 13:43:18
崩潰發生在'_aligned_malloc'在本徵分配代碼(MatrixXd :: resize())中返回0 0 – bobobobo 2010-08-14 16:30:30