Ich muss ein Ergebnis eines stochastischen Algorithmus mehrere Male berechnen. Am Ende möchte ich alle Ergebnisse in einem Array haben. Die Ausführungen des Algorithmus sind unabhängig voneinander.Optimieren parallel für Schleife Array in Julia zurück
@parallel (vcat) for i=1:10
rand() # or any other algorithm yielding a number
end
Aber es scheint ein wenig ineffizient, wenn ein Thread das Ergebnis von einem anderen Thread bekommt und die beiden Ergebnisse werden nach jeder Iteration des fusionierten für: In Julia kann diese for-Schleife wie dies leicht mit einem parallelen parallelisieren Schleife. Ist das korrekt? In diesem Fall könnte es sein, dass ein Thread ein Array mit 100 Elementen und ein anderes Array mit 200 Elementen und diese Arrays in einem Array mit 300 Elementen zusammengeführt werden. Könnte ich das irgendwie verhindern und den obigen Code umschreiben, um mehrfache Arrayzuweisungen zu verhindern und vielleicht das Ergebnis, das innerhalb der for-Schleife berechnet wird, in ein vorher zugewiesenes Array zu schreiben? Oder kann ich den Reduktionsoperator irgendwie schlauer machen?
Vielen Dank. Ich kannte "Pmap" nicht. Der Link zu Ihrer anderen Antwort war auch sehr hilfreich! – esel