Hallo,
ich hoffe ich bin hier richtig und mir kann jemand bei der Lösung eines Problems helfen.
Ich möchte ein in fortran geschriebenes Programm parallelisieren. Auf Grund unseres Netzwerks kann ich nur mit einem Windows Rechner arbeiten. Als Compiler verwende ich g95 bzw. gfortran. In gfortran ist ein bug der für die Windows Version (so weit ich weiß) nicht behoben ist und zwar können Dateien >2GB nicht im stream eingelesen werden. Ansonsten könnte ich die parallelisierung einfach mit call omp_set_num_threads() einbauen. Auf Grund des bugs habe ich zu g95 gewechselt und dort soll die paralleliesierung mit coarrays funktionieren, allerdings bekomme ich bei dem vorgeschlagenen test programm
integer :: m[*]
m = THIS_IMAGE()
SYNC ALL
if (THIS_IMAGE() == 1) then
do i=1, NUM_IMAGES()
print *, i, m
enddo
endif
end
den Fehler
undefined reference to '__g95_this_image'
undefined reference to '__g95_sync_all'
usw.
Meine Fragen sind daher:
Liegt das an der Windows Version die Coarrays (noch) nicht unterstützt oder habe ich irgendwelche Einstellungen vergessen?
Gibt es eine gfortran Version die 2GB files einließt?
Kennt sich jemand mit parallelisierung, Fortran und Windows compilern aus?
Viele Grüße und vielen Dank,
Marc
den Fehler