segfault mit -fopenmp für ein einfaches Programm
Ich erfrische openmp ein bisschen und bin in diese seltsame Situation geraten. Ich habe mich vom Haufen abgeschabt und diesen minimalen Trivialfall geschaffen, der das Problem zeigt
program ex2
implicit none
integer, parameter :: n=10000000
integer :: i
real :: x(n)
do i=1,n
x(i) = 0.0d0
enddo
end program
wenn keine Flags angegeben sind, wird gfortran 4.3.4 auf dem Mac (10.6) kompiliert und das Programm wird korrekt ausgeführt.
Wenn ich jedoch openmp mit -fopenmp aktiviere, bricht das Programm mit einem Segmentierungsfehler ab. Anscheinend wird kein Code ausgeführt, da er sofort abstürzt. Wie Sie sehen, wird openmp im Code niemals verwendet, um etwas zu parallelisieren. Ich habe versucht, die Stack-Größe zu ändern, sowohl mit ulimit the -fmax-stack-var-size, als auch mit zehn Millionen Real, was ich nicht als großes Array bezeichne.
Was mache ich falsch