Paul, until the "threads" branch gets merged, I recommend that you just accept
the fact that you'll only have 1 core active for most operations.
--Tim
On Saturday, January 31, 2015 07:15:25 AM paul analyst wrote:
> Thx, but, no.
> For sparse matrix 10^5,10^4,0.002 is the same . Time for both whiles is
> about 48 sek, only 11% o cores is used. I vave 8 cores, 7 sleeps:/
> Paul
>
> W dniu sobota, 31 stycznia 2015 15:50:02 UTC+1 użytkownik Sam Kaplan
>
> napisał:
> > Hi Paul,
> >
> > If D is allocated on the master, then Julia will need to pass D from the
> > master to the workers. I'm guessing that this communication might be more
> > expensive than the compute in your loops. It may be useful to take a look
> > at distributed arrays in the parallel section of the Julia docs.
> >
> > Hope it helps.
> >
> > Sam
> >
> > On Saturday, January 31, 2015 at 7:38:22 AM UTC-6, paul analyst wrote:
> >> Parallel loop, what wroong ? Parallel is slower then normal
> >>
> >> julia> @time for i=1:l
> >>
> >> w[i]=var(D[:,i])
> >> end
> >>
> >> elapsed time: 4.443197509 seconds (14074576 bytes allocated)
> >>
> >>
> >> julia> @time ww=@parallel (hcat) for i=1:l
> >>
> >> var(D[:,i])
> >> end
> >>
> >> elapsed time: 5.287007403 seconds (435449580 bytes allocated, 5.00% gc
> >> time)
> >> 1x10000 Array{Float64,2}:
> >>
> >> Paul
> >>
> >> julia> @time for i=1:l
> >>
> >> w[i]=var(D[:,i])
> >> end
> >>
> >> elapsed time: 4.331569152 seconds (8637464 bytes allocated)
> >>
> >> julia> @time ww=@parallel (hcat) for i=1:l
> >>
> >> var(D[:,i])
> >> end
> >>
> >> elapsed time: 4.908234336 seconds (422121448 bytes allocated, 4.85% gc
> >> time)
> >>
> >> 1x10000 Array{Float64,2}:
> >> 0.000703737 0.000731674 0.000582672 0.00080388 0.000759479
> >>
> >> 0.000402509 0.0007118 0.000989408
> >>
> >> julia> size(D)
> >> (10000,10000)