Юлия: Использование pmap правильно
Почему это не делает то, что я думаю, должно:
benjamin@benjamin-VirtualBox:~$ julia -p 3
julia> @everywhere(function foom(bar::Vector{Any}, k::Integer) println(repeat(bar[2],bar[1])); return bar; end)
julia> foo={{1,"a"},{2,"b"},{3,"c"}}
julia> pmap(foom, foo, 5)
From worker 2: a
1-element Array{Any,1}:
{1,"a"}
и это все, что он выводит. Я ожидал, что pmap будет перебирать каждый кортеж в foo и вызывать foom для него.
РЕДАКТИРОВАТЬ:
Это работает правильно, когда я не передаю другие аргументы в:
julia> @everywhere(function foom(bar::Vector{Any}) println(repeat(bar[2],bar[1])); return bar; end)
julia> pmap(foom, foo)
From worker 3: bb
From worker 2: a
From worker 4: ccc
3-element Array{Any,1}:
{1,"a"}
{2,"b"}
{3,"c"}
Как я могу передать больше аргументов в pmap?