Nash, big thx
julia> procs()
1-element Array{Int64,1}:
1
julia> addprocs(7)
7-element Array{Any,1}:
2
3
4
5
6
7
8
Now is 3-4 times faster !!!
Paul
W dniu 2015-01-31 o 17:00, Jameson Nash pisze:
How many worker threads did you start? Can you make D a SharedArray or
DArray?
On Sat Jan 31 2015 at 10:55:51 AM Paul Analyst <[email protected]
<mailto:[email protected]>> wrote:
Realy ? Is imposibly smoething like :
take 1. column and copmute on 1. core, wihout waiting for end of 1.
oparation take 2. column and copmpute on 2. cores .etc.... ?
Paul
W dniu 2015-01-31 o 16:32, Tim Holy pisze:
> 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)