OpenMP kann nur einen Thread < Fortran < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Das Beispielprogramm "program bsp" aus http://de.wikibooks.org/wiki/Fortran:_OpenMP liefert bei mir nicht das richtige Ergebnis. Bei mir kommt leider immer | 1: | Insgesamt gibt es 1 Thread(s)
| | 2: | Thread 0 ist aktiv |
Woran kann das liegen?
Hier das Programm:| 1: | program bsp
| | 2: | use omp_lib
| | 3: | implicit none
| | 4: |
| | 5: | ! fork
| | 6: | !$omp parallel num_threads(3)
| | 7: |
| | 8: | ! Das nur 1x ausgeben (beim Master Thread)
| | 9: | if( omp_get_thread_num() == 0 ) then
| | 10: | write( *, * ) 'Insgesamt gibt es ', omp_get_num_threads(), 'Thread(s)'
| | 11: | end if
| | 12: |
| | 13: | ! Das bei jedem Thread ausgeben
| | 14: | write( *, * ) 'Thread ', omp_get_thread_num(), 'ist aktiv'
| | 15: | ! join
| | 16: | !$omp end parallel
| | 17: |
| | 18: | ! Ausgabe:
| | 19: | ! Insgesamt gibt es 3 Thread(s)
| | 20: | ! Thread 0 ist aktiv
| | 21: | ! Thread 1 ist aktiv
| | 22: | ! Thread 2 ist aktiv
| | 23: | ! übersetzen: gfortran -fopenmp -o test.bin bsp.for
| | 24: | ! ausführen: ./test.bin
| | 25: | end program bsp |
Ich habe das Programm unter Knoppix 6.2.1 mit gfortran und gfortran-4.4 übersetzt. Dasselbe Ergebnis.
Mein PC ist ein Amilo-Notebook mit Dualprozessor.
//Edit: Da ich keine Antwort bekomme, habe ich das Thema Fortran erst mal aufgegeben. Ich arbeite mich jetzt in Java ein. Wurde eh mal Zeit.
|
|
|