Absolutely amazing!!! Thanks a lot, Greg! It works like a charm! Best,
Charles On 13 January 2016 at 11:20, 'Greg Plowman' via julia-users < julia-users@googlegroups.com> wrote: > > 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 >> > -- Um axé! :) -- Charles Novaes de Santana, PhD https://github.com/cndesantana