在我的情况下(64位ubuntu和16GB内存,使用Eigen3),我写了MatrixXd m(M,M); 其中M = 100,000,在运行时程序崩溃,并报告:
what():std :: bad_alloc
Aborted(core dumped)
使用动态2 dim数组,程序运行正常.Eigen(密集)矩阵的大小是否存在硬限制?
你试图分配100000*100000每个8字节的元素,或80,000,000,000字节(74.5GB),这是因为你只有16GB的内存失败.这会导致内存分配失败,因为它无法找到单个连续的大内存块.
有一个在本征没有固定的限制,但数组确实需要您的系统上分配.
| 归档时间: |
|
| 查看次数: |
4251 次 |
| 最近记录: |