2015-03-20 9 views
5

Załóżmy, że mam małą liczbę funkcji, które zdefiniowałem w komórce w ijulia (używam JuliaBox).Julia: Czy istnieje krótka składnia do udostępniania wszystkich funkcji @ gdziekolwiek indziej

Chciałbym móc wywołać główną funkcję równolegle n razy. Kłopot polega na tym, że główny wykonuje połączenia z kilkoma funkcjami pomocniczymi, które zdefiniowałem.

Czy muszę umieścić @everywhere przed wszystkimi tymi funkcjami pomocniczymi, czy też istnieje krótsza składnia, która działałaby?

np. czy istnieje polecenie, które podzieliłoby wszystkie funkcje zdefiniowane na poziomie globalnym na wszystkie procesy? Czy istnieje sposób udostępniania listy funkcji (zamiast umieszczania @ Verywhere w deklaracji funkcji).

Odpowiedz

11

Kiedy chcę zrobić to w notatniku zazwyczaj owinąć całą komórkę zawierającą funkcje pomocnicze w @everywhere tak:

@everywhere begin 

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

end