It still does not work
julia> @everywhere const k = 10000000;
julia> @time tmp = @parallel (+) for i = 1:k;
int(randbool())
end
elapsed time: 3.067388361 seconds (640090568 bytes allocated)
julia> @time tmp = @parallel (+) for i = 1:10000000;
int(randbool())
end
elapsed time: 0.055685151 seconds (155072 bytes allocated)
2014-06-02 5:26 GMT+02:00 Amit Murthy <[email protected]>:
>
> @everywhere const k=200000000
>
>
> On Sun, Jun 1, 2014 at 8:26 PM, Andreas Noack Jensen <
[email protected]> wrote:
>>
>> I don't know why you get that error. It is not there on my machine.
>>
>> However, for some reason defining k as const does not work for parallel
loops. It only makes a difference for serial loops so my explanation was
wrong. Is this expected?
>>
>> julia> const k1=10000000;k2 = k1;
>>
>> julia> @time for i = 1:10000000
>> int(randbool())
>> end
>> elapsed time: 0.041954142 seconds (0 bytes allocated)
>>
>> julia> @time for i = 1:k1
>> int(randbool())
>> end
>> elapsed time: 0.042543885 seconds (0 bytes allocated)
>>
>> julia> @time for i = 1:k2
>> int(randbool())
>> end
>> elapsed time: 2.923224821 seconds (639983688 bytes allocated)
>>
>> julia> @time tmp = @parallel (+) for i = 1:10000000
>> int(randbool())
>> end
>> elapsed time: 0.05594257 seconds (155072 bytes allocated)
>>
>> julia> @time tmp = @parallel (+) for i = 1:k1
>> int(randbool())
>> end
>> elapsed time: 3.067074328 seconds (640486512 bytes allocated)
>>
>> julia> @time tmp = @parallel (+) for i = 1:k2
>> int(randbool())
>> end
>> elapsed time: 3.021796716 seconds (640090424 bytes allocated)
>>
>>
>> 2014-06-01 16:28 GMT+02:00 paul analyst <[email protected]>:
>>
>>> After restart julia :
>>>
>>>
>>> D:\install\Julia\Julia 0.3.0-prerelease-win64-ver3\Julia
0.3.0-prerelease ver 3>bin\julia.exe -p 8
>>> _
>>> _ _ _(_)_ | A fresh approach to technical computing
>>> (_) | (_) (_) | Documentation: http://docs.julialang.org
>>> _ _ _| |_ __ _ | Type "help()" to list help topics
>>> | | | | | | |/ _` | |
>>> | | |_| | | | (_| | | Version 0.3.0-prerelease+2599 (2014-04-11
23:52 UTC)
>>> _/ |\__'_|_|_|\__'_| | Commit bf7096c (50 days old master)
>>> |__/ | x86_64-w64-mingw32
>>>
>>> julia> const k=200000000
>>>
>>> 200000000
>>>
>>> julia> tic();
>>>
>>> julia> nheads = @parallel (+) for i=1:k
>>> int(randbool())
>>> end
>>> exception on exception on 3: 4: ERROR: ERROR: exception on exception on
2: exception on 7: ERROR: 5:
>>> ERROR: ERROR: exception on k not defined6: exception on ERROR:
>>> in anonymous at no file:1379
>>> 8k: not definedERROR:
>>> in anonymous at no file:1379
>>> k not definedk not defined
>>> in anonymous at no file:1379
>>>
>>> in anonymous at no file:1379
>>> k not definedk not definedk not defined
>>> in anonymous at no file:1379
>>>
>>> in anonymous at no file:1379
>>>
>>> in anonymous at no file:1379exception on
>>> 9: ERROR: k not defined
>>> in anonymous at no file:1379
>>> ERROR: no method +(UndefVarError, UndefVarError)
>>> in mr_pairwise at reduce.jl:534
>>>
>>> julia> toc()
>>> elapsed time: 2.493525081 seconds
>>> 2.493525081
>>>
>>> julia>
>>>
>>> W dniu niedziela, 1 czerwca 2014 16:27:14 UTC+2 użytkownik paul analyst
napisał:
>>>>
>>>> julia> const k=200000000;
>>>> ERROR: cannot declare k constant; it already has a value
>>>> :/
>>>> Paul
>>>>
>>>> W dniu niedziela, 1 czerwca 2014 16:13:27 UTC+2 użytkownik Andreas
Noack Jensen napisał:
>>>>>
>>>>> This is the usual problem with global variables in Julia. If you
define k by
>>>>>
>>>>> const k=200000000
>>>>>
>>>>> the timing results should be similar.
>>>>>
>>>>>
>>>>> 2014-06-01 16:09 GMT+02:00 paul analyst <[email protected]>:
>>>>>>
>>>>>>
>>>>>> D:\install\Julia\Julia 0.3.0-prerelease-win64-ver3\Julia
0.3.0-prerelease ver 3>bin\julia.exe -p 8
>>>>>> _
>>>>>> _ _ _(_)_ | A fresh approach to technical computing
>>>>>> (_) | (_) (_) | Documentation: http://docs.julialang.org
>>>>>> _ _ _| |_ __ _ | Type "help()" to list help topics
>>>>>> | | | | | | |/ _` | |
>>>>>> | | |_| | | | (_| | | Version 0.3.0-prerelease+2599 (2014-04-11
23:52 UTC)
>>>>>> _/ |\__'_|_|_|\__'_| | Commit bf7096c (50 days old master)
>>>>>> |__/ | x86_64-w64-mingw32
>>>>>>
>>>>>> julia> procs()
>>>>>> 9-element Array{Int64,1}:
>>>>>> 1
>>>>>> 2
>>>>>> 3
>>>>>> 4
>>>>>> 5
>>>>>> 6
>>>>>> 7
>>>>>> 8
>>>>>> 9
>>>>>>
>>>>>> julia> tic();
>>>>>>
>>>>>> julia> nheads = @parallel (+) for i=1:200000000
>>>>>> int(randbool())
>>>>>> end
>>>>>> 100006468
>>>>>>
>>>>>> julia> toc()
>>>>>> elapsed time: 2.77418807 seconds
>>>>>> 2.77418807
>>>>>>
>>>>>> julia>exit()
>>>>>>
>>>>>>
>>>>>> D:\install\Julia\Julia 0.3.0-prerelease-win64-ver3\Julia
0.3.0-prerelease ver 3>bin\julia.exe -p 8
>>>>>> _
>>>>>> _ _ _(_)_ | A fresh approach to technical computing
>>>>>> (_) | (_) (_) | Documentation: http://docs.julialang.org
>>>>>> _ _ _| |_ __ _ | Type "help()" to list help topics
>>>>>> | | | | | | |/ _` | |
>>>>>> | | |_| | | | (_| | | Version 0.3.0-prerelease+2599 (2014-04-11
23:52 UTC)
>>>>>> _/ |\__'_|_|_|\__'_| | Commit bf7096c (50 days old master)
>>>>>> |__/ | x86_64-w64-mingw32
>>>>>>
>>>>>> julia> k=200000000
>>>>>> 200000000
>>>>>>
>>>>>> julia> tic();
>>>>>>
>>>>>> julia> nheads = @parallel (+) for i=1:k
>>>>>> int(randbool())
>>>>>> end
>>>>>> 99989022
>>>>>>
>>>>>> julia> toc()
>>>>>> elapsed time: 18.631674663 seconds
>>>>>> 18.631674663
>>>>>>
>>>>>> julia>
>>>>>>
>>>>>> What hapend ?
>>>>>>
>>>>>> Paul
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Med venlig hilsen
>>>>>
>>>>> Andreas Noack Jensen
>>
>>
>>
>>
>> --
>> Med venlig hilsen
>>
>> Andreas Noack Jensen
>
>
--
Med venlig hilsen
Andreas Noack Jensen