2015-03-20 10 views
5

Supponiamo di avere un numero ridotto di funzioni che ho definito in una cella in ijulia (sto usando JuliaBox).Julia: Esiste una sintassi breve per rendere disponibili tutte le funzioni @everywhere

Mi piacerebbe essere in grado di chiamare la funzione principale in parallelo n volte. Il fastidio è che il principale fa chiamate alla dozzina di funzioni di aiuto che ho definito.

Devo mettere @everywhere di fronte a tutte queste funzioni di aiuto, o c'è qualche sintassi più breve che funzionerebbe?

ad es. c'è un comando che condividerebbe tutte le funzioni definite a livello globale per tutti i processi? O c'è un modo per condividere un elenco di funzioni (piuttosto che mettere @everywhere nella dichiarazione di funzione).

risposta

11

Quando voglio fare questo nel notebook di solito avvolgere l'intera cella che contiene le funzioni di supporto in @everywhere come questo:

@everywhere begin 

... put functions we want to share across all processes here 

end