Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29597 ディスカッション

Auto-parallelized Fused loop crashes

Greynolds__Alan
ビギナー
1,387件の閲覧回数

I have a block of code where I initialize ~20 1-dimension arrays, each with 250 REAL(8) elements. IVF says it fusesthe block of array assignments and then auto-parallelizes the loop (/Qparallel). When I execute theprogram, it crashesdue to a stack error (the exe stack space is set to 200MB!). If It put a !DEC$NOPARALLEL before the block of array assignments, it no longer crashes so its obviously the offending "loop".Or if I set OMP_NUM_THREADS=1, it no longer crashes so it must have something to do with thread creation.

I have tried beaking out the code into a small test case, but for some reason IVF will no longer fuse the block of assigments into a loop. Any ideas what could be going on here?

Al Greynolds www.ruda.com

0 件の賞賛
1 解決策
TimP
名誉コントリビューター III
1,387件の閲覧回数

I have a block of code where I initialize ~20 1-dimension arrays, each with 250 REAL(8) elements. IVF says it fusesthe block of array assignments and then auto-parallelizes the loop (/Qparallel). When I execute theprogram, it crashesdue to a stack error (the exe stack space is set to 200MB!). If It put a !DEC$NOPARALLEL before the block of array assignments, it no longer crashes so its obviously the offending "loop".Or if I set OMP_NUM_THREADS=1, it no longer crashes so it must have something to do with thread creation.

This looks like a problem with the defaults for KMP_STACKSIZE, which is discussed in the help file.

元の投稿で解決策を見る

1 返信
TimP
名誉コントリビューター III
1,388件の閲覧回数

I have a block of code where I initialize ~20 1-dimension arrays, each with 250 REAL(8) elements. IVF says it fusesthe block of array assignments and then auto-parallelizes the loop (/Qparallel). When I execute theprogram, it crashesdue to a stack error (the exe stack space is set to 200MB!). If It put a !DEC$NOPARALLEL before the block of array assignments, it no longer crashes so its obviously the offending "loop".Or if I set OMP_NUM_THREADS=1, it no longer crashes so it must have something to do with thread creation.

This looks like a problem with the defaults for KMP_STACKSIZE, which is discussed in the help file.

返信