Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28630 Discussions

Auto-parallelized Fused loop crashes

Greynolds__Alan
Beginner
320 Views

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 Kudos
1 Solution
TimP
Honored Contributor III
320 Views
Quoting - layzarc@aol.com

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.

View solution in original post

0 Kudos
1 Reply
TimP
Honored Contributor III
321 Views
Quoting - layzarc@aol.com

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.

0 Kudos
Reply