Parallele Funktionsaufrufe



  • Hallo,

    ich habe eine Frage zum Aufruf von Funktionen in parallelen Programmen (ich verwende Visual Studio 2008 mit OpenMP).
    In meinem Programm wird in einer for-Schleife eine Funktion aufgerufen (dieser Funktion werden ein Zeiger auf ein Array sowie verschiedene Parameter zur Berechnung übergeben). Die aufgerufene Funktion selbst ruft dabei noch einmal verschiedene Hilfsmodule auf. Als Ergebnis eines jeden Funktionsaufrufs werden die berechneten Werte in das Array geschrieben. Da die einzelnen Berechnungsergebnisse nicht voneinander abhängig sind, müsste sich dieser Code doch (gut) zur Parallelisierung eignen. Allerdings funktioniert mein Programm bisher nur sequentiell.
    Ich habe schon versucht, das Array, welches die Berechnungsergebnisse erhält, als private (sieht dann so aus: "#pragma omp for private(ergebnis)") zu markieren, was aber auch bisher nicht den gewünschten Erfolg gebracht hat, da die Ergebnisse nicht korrekt sind.

    Kann mir hier vielleicht jemand einen Tipp geben, was man zu beachten hat, wenn Funktionen parallel aufgerufen werden? Das wäre wirklich sehr hilfreich!!
    Vielen Dank dafür schon einmal im Voraus!

    Viele Grüße
    Terrion



  • Hi Terrion28,

    so könnte ich dir jetzt einfach einen Link zu einem OpenMP-Tutorial vor die Füße werfen, was aber vermutlich nicht das ist, was du möchtest. 😉
    Kannst du aus deinem Problem ein Minimalbeispiel machen, und es posten?

    Gruß
    Dobi


Anmelden zum Antworten