large array in parallel code

large array in parallel code

I am using a parallel code which works fine with small array size on each slave node on a Linux cluster, say 40x40x40. But once I increased the array size, e.g. 80x80x80 on eachnode onthe samecluster, the code would fail with segmentation (sigsegv) error. I doubt it was the limit of the stack size, so set ulimit to unlimited. But the problem was still there. GDB tells me that the problemalways happensin array operations, i,e, A= 0.2B+C where A B C are all arrays. If I change the array operations to do-loops, then the code works for large arrays. This seems really strange to me. Anyone can shed some light? My system is ifort 8.1, redhat 9.0 and mpich 1.2.5. Thanks.

2 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

Hello,
This sounds like an ifortbug, probably in its handling of Fortran 90 array notation but it'sa strange situation. The array notation worksfor 40x40x40 arrays but fails for the 80x80x80 arrays. An 80x80x80 array is still pretty small, even at double precision. I don't see why such a small array would cause problems unless you've got dozens of them. How are the arrays declared? Are they allocatable? Static?

Please submit this issue to Intel Premier Support.

Thanks,
Henry

发表评论

登录添加评论。还不是成员?立即加入