【发布时间】:2015-11-22 16:26:03
【问题描述】:
我正在使用巨大的数组进行计算,对于其中一些计算,我需要增加堆栈大小!在我的 ~/.bashrc 中将堆栈大小设置为无限制 (ulimit -s unlimited) 有什么缺点吗?
该程序是用 fortran(F77 & F90) 编写的,并与 MPI 并行化。我的一些阵列有超过 2E7 个条目,当我使用少量带有 MPI 的内核时,它会因segmentation fault 而崩溃。
数组大小在整个计算过程中保持不变,因此我将它们设置为固定值:
real :: p(200,200,400)
integer :: ib,ie,jb,je,kb,ke
...
ib=1;ie=199
jb=2;je=198
kb=2;ke=398
call SOLVE_POI_EQ(rank,p(ib:ie,jb:je,kb:ke),R)
【问题讨论】:
-
你运行的是什么软件?使用哪种编程语言?你在编码吗?您能否展示一些源代码(以便编辑您的问题以改进它)?
-
Fortran77、Fortran90、Fortran2006?显示处理(和分配)巨大数组的实际代码。
标签: linux fortran mpi stack-size