You might be able to use pmap: 
http://docs.julialang.org/en/release-0.4/manual/parallel-computing/#parallel-map-and-loops
http://docs.julialang.org/en/release-0.4/stdlib/parallel/?highlight=pmap#Base.pmap

Perhaps something like:

@everywhere function test1(p)
    println("doing stuff with $p")
    return 2*p
end

function main()
    parameters = collect(0.001:0.001:0.6)
    results = pmap(test1, parameters)
end

main()


On Wednesday, January 13, 2016 at 1:32:08 AM UTC+11, Charles Santana wrote:
>
> Hi julians,
>
> Parallel computing is not my focus, but I would like to run a  julia 
> script in parallel in my PC in order to save time. The PC has an 8-core 
> processor so I would like to run at least 4 replicates of my script 
> (test1.jl) at the same time, each one with one different parameter. 
>
> So far I was working on a cluster and I was using qsub in order to submit 
> my jobs. I didn't need to configure anything. I had a quota of 20 jobs, so 
> if I launched 200 jobs 20 of them would run and the others would be in a 
> queue waiting for their moment to run. 
>
> Now I would like to run my scripts in my machine and I would like to do 
> something similar. For me it is fine if I wait for the current jobs to 
> finish running in order to launch another bunch of jobs. As well as it is 
> fine if I launch a new job for each experiment that finishes. The easiest 
> option the best :)
>
> My script does not receive any file as input, but it writes the outputs to 
> unique files (the file names are unique for each job). 
>
> Do you recommend a good way to do it in Julia? Let's say my script is 
> called "test1.jl". So far I was trying the following code to call my jobs:
>
> function main() 
>         parameters = collect(0.001:0.001:0.6);
>         @parallel for(p in parameters)
>                 command1 = `/home/cdesantana/Downloads/julia -p 4 
> /home/cdesantana/Experiments/test1.jl $p`;
>                 run(command1);
>         end     
> end
>
> main();
>
> I really don't understand what is happening here, but I am sure it is not 
> working 4 jobs of my scripts... :(
>
> cdesantana@c-de-santana:~/Data/Dendritics/poster2016$ ps aux|grep julia
> cdesant+  1964  3.7  1.3 9214696 107356 pts/10 Sl   15:20   0:01 
> /home/cdesantana/Downloads/julia/julia script.jl
> cdesant+  1994 92.2  2.7 9489844 214388 pts/10 Rl   15:20   0:31 
> /home/cdesantana/Downloads/julia/julia -p4 
> /home/cdesantana/Experiments/test1.jl 1 0.001
> cdesant+  2013  8.7  1.5 9189424 120340 ?      Ssl  15:20   0:02 
> /home/cdesantana/Downloads/julia/usr/bin/julia -Cnative 
> -J/home/cdesantana/Downloads/julia/usr/lib/julia/sys.so --bind-to 
> 192.168.89.174 --worker
> cdesant+  2016  9.2  1.6 9288520 131600 ?      Ssl  15:20   0:03 
> /home/cdesantana/Downloads/julia/usr/bin/julia -Cnative 
> -J/home/cdesantana/Downloads/julia/usr/lib/julia/sys.so --bind-to 
> 192.168.89.174 --worker
> cdesant+  2018  6.7  1.6 9353972 131772 ?      Ssl  15:20   0:02 
> /home/cdesantana/Downloads/julia/usr/bin/julia -Cnative 
> -J/home/cdesantana/Downloads/julia/usr/lib/julia/sys.so --bind-to 
> 192.168.89.174 --worker
> cdesant+  2023  7.7  1.6 9419496 131604 ?      Ssl  15:20   0:02 
> /home/cdesantana/Downloads/julia/usr/bin/julia -Cnative 
> -J/home/cdesantana/Downloads/julia/usr/lib/julia/sys.so --bind-to 
> 192.168.89.174 --worker
> cdesant+  2159  0.0  0.0  11716   892 pts/10   S+   15:21   0:00 grep 
> --color=auto julia
>
> I was expecting that it would be running my script 4 times, each one with 
> one different value of $p (0.001, 0.002, 0.003, 0.004). 
>
> Any suggestion? My machine has ubuntu installed so I am fine if I need to 
> combine Linux programs with Julia.
>
> Many thanks in advance for any help! 
>
> Best,
>
> Charles
> -- 
> Um axé! :)
>
> --
> Charles Novaes de Santana, PhD
> https://github.com/cndesantana
>

Reply via email to