Parallele Berechnung in Julia mit großen Daten

8

Zuerst meine Frage:

  • ist es möglich, Julia zu verhindern, Variablen jedes Mal in einer parallelen for-Schleife zu kopieren?
  • Wenn nicht, wie implementiert man eine Parallele Reduktion in Julia?

Jetzt die Details:

Ich habe dieses Programm:

%Vor%

Es funktioniert gut funktional, aber jeder parallele Aufruf von fct (Daten) auf einem anderen Arbeiter kopiert den ganzen Datenrahmen, was alles schmerzhaft langsam macht.

Im Idealfall möchte ich die Daten einmal laden und immer die vorab geladenen Daten für jeden Worker verwenden. Ich habe diesen Code dazu entwickelt:

%Vor%

Aber jetzt habe ich ein anderes Problem: Ich kann nicht herausfinden, wie vcat () alle filtered_data_temp auf eine Variable im Worker mit Myid () == 1.

Ich würde jede Einsicht sehr schätzen.

Hinweis: Ich kenne Parallelbetrieb auf einer großen konstanten Datenstruktur in Julia . Aber ich glaube nicht, dass es für mein Problem gilt, weil alle meine filter_functions auf dem Array als Ganzes funktionieren.

    
Antoine Trouve 28.07.2015, 02:08
quelle

2 Antworten

4

Immerhin habe ich dort die Lösung für meine Frage gefunden: Julia: Wie man Daten in einen anderen Prozessor in Julia kopiert .

Insbesondere wird das folgende Primitiv eingeführt, um eine Variable aus einem anderen Prozess abzurufen:

%Vor%

Unten ist, wie ich es benutze:

%Vor%     
Antoine Trouve 10.08.2015, 07:27
quelle
10

Vielleicht möchten Sie Ihre Daten in Verteilte Arrays

suchen / laden

EDIT: Wahrscheinlich so etwas wie:

%Vor%

Sie können auch die Komponententests nach weiteren Beispielen durchsuchen

    
Felipe Lema 28.07.2015 12:51
quelle