Re: [julia-users] Matlab bench in Julia

2014-09-26 Thread Ján Dolinský
Adding the Julia Dependencies repo then updating and upgrading the system 
did not change anything. "versioninfo()" gives me the same output. Shall I 
purge Julia and re-install it again ?

Thanks,
Jan 

Dňa piatok, 26. septembra 2014 10:19:33 UTC+2 Ján Dolinský napísal(-a):
>
> Actually after more careful look, I found in Julia dependencies repo 
> "openblas 0.2.10.1-juliadeps1~trusty" but I thought this repo is not needed 
> because the description of the repo says it is meant for Ubuntu up to 13.04 
> but apparently there are two packages for trusty in there ... 
>
> Dňa piatok, 26. septembra 2014 10:14:10 UTC+2 Ján Dolinský napísal(-a):
>>
>> Hello,
>>
>> I am using the repo you mentioned. I upgraded to latest version and I get 
>> the following:
>> versioninfo()
>> Julia Version 0.3.1
>> Commit c03f413 (2014-09-21 21:30 UTC)
>> Platform Info:
>>   System: Linux (x86_64-linux-gnu)
>>   CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
>>   WORD_SIZE: 64
>>   BLAS: libblas.so.3
>>   LAPACK: liblapack.so.3
>>   LIBM: libopenlibm
>>   LLVM: libLLVM-3.3
>>
>> I did not included Julia Dependencies repo because it is meant for Ubuntu 
>> up to 13.04.
>>
>> I both repos however OpenBLAS is available only for Raring, Quantal and 
>> Precise not for Trusty Tahr ... so I assume Julia 0.3.1~trusty1 is using 
>> original Ubuntu repo for linear algebra libraries and thus users of Trusty 
>> Tahr ends up without OpenBLAS.
>>
>> Best Regards,
>> Jan
>>
>> Dňa štvrtok, 25. septembra 2014 16:57:48 UTC+2 Andreas Noack napísal(-a):
>>>
>>> It appears that you are not using a fast BLAS. The BLAS and LAPACK 
>>> entries in versioninfo() should say libopenblas instead of libblas and 
>>> liblapack. You should use 
>>>
>>> https://launchpad.net/~staticfloat/+archive/ubuntu/juliareleases
>>>
>>> as your repo for julia. That should give you Julia with fast linear 
>>> algebra.
>>>
>>> Med venlig hilsen
>>>
>>> Andreas Noack
>>>
>>> 2014-09-25 10:36 GMT-04:00 Ján Dolinský :
>>>
 Hello,

 Yes, Andreas point makes sense. Sometimes you may not want threaded 
 linear algebra routines. 

 My current installation reports this:
 versioninfo()
 Julia Version 0.3.0
 Commit 7681878 (2014-08-20 20:43 UTC)
 Platform Info:
   System: Linux (x86_64-linux-gnu)
   CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
   WORD_SIZE: 64
   BLAS: libblas.so.3
   LAPACK: liblapack.so.3
   LIBM: libopenlibm
   LLVM: libLLVM-3.3

 Am I using the right library ? How do I plug-in the OpenBLAS ? I am 
 under Ubuntu 14.4.01.

 Thanks,
 Jan

 Dňa štvrtok, 25. septembra 2014 14:47:12 UTC+2 Andreas Noack 
 napísal(-a):
>
> OpenBLAS uses threads by default, but Milan reported that Fedora's 
> maintainer had them disabled. Hence, unless you are using Fedora, you 
> should have threaded OpenBLAS.
>
> What is the best setup for fast linear algebra operations ?
>
>
> That question doesn't have a single answer. Often when people want to 
> show performance of linear algebra libraries they run a single routine on 
> a 
> big matrix. In that case you'll often benefit from many threads. However, 
> in many applications you solve smaller problems many times. In this case, 
> many threads can actually be a problem and you could be better off with 
> turning off OpenBLAS threading. So it depends on your problem.
>
> Med venlig hilsen
>
> Andreas Noack
>
> 2014-09-25 5:52 GMT-04:00 Ján Dolinský:
>
>> Hello,
>>
>> How do I make Julia to use threaded version of OpenBLAS ? Do I have 
>> to compile using some special option or there is a config file ?
>> What is the best setup for fast linear algebra operations ?
>>
>> Best Regards,
>> Jan
>>
>> Dňa nedeľa, 21. septembra 2014 9:50:52 UTC+2 Stephan Buchert 
>> napísal(-a):
>>
>>> Wow, I have now LU a little bit faster on the latest julia Fedora 
>>> package than on my locally compiled julia:
>>>
>>> julia> versioninfo()
>>> Julia Version 0.3.0
>>> Platform Info:
>>>   System: Linux (x86_64-redhat-linux)
>>>   CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
>>>   WORD_SIZE: 64
>>>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
>>>   LAPACK: libopenblasp.so.0
>>>   LIBM: libopenlibm
>>>   LLVM: libLLVM-3.3
>>>
>>> julia> include("code/julia/bench.jl")
>>> LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 
>>> seconds with my julia
>>> FFT , elapsed time: 0.248571629 seconds
>>>
>>> Thanks for making and  improving the Fedora package
>>>
>>
>
>>>

Re: [julia-users] Matlab bench in Julia

2014-09-26 Thread Ján Dolinský
Actually after more careful look, I found in Julia dependencies repo 
"openblas 0.2.10.1-juliadeps1~trusty" but I thought this repo is not needed 
because the description of the repo says it is meant for Ubuntu up to 13.04 
but apparently there are two packages for trusty in there ... 

Dňa piatok, 26. septembra 2014 10:14:10 UTC+2 Ján Dolinský napísal(-a):
>
> Hello,
>
> I am using the repo you mentioned. I upgraded to latest version and I get 
> the following:
> versioninfo()
> Julia Version 0.3.1
> Commit c03f413 (2014-09-21 21:30 UTC)
> Platform Info:
>   System: Linux (x86_64-linux-gnu)
>   CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
>   WORD_SIZE: 64
>   BLAS: libblas.so.3
>   LAPACK: liblapack.so.3
>   LIBM: libopenlibm
>   LLVM: libLLVM-3.3
>
> I did not included Julia Dependencies repo because it is meant for Ubuntu 
> up to 13.04.
>
> I both repos however OpenBLAS is available only for Raring, Quantal and 
> Precise not for Trusty Tahr ... so I assume Julia 0.3.1~trusty1 is using 
> original Ubuntu repo for linear algebra libraries and thus users of Trusty 
> Tahr ends up without OpenBLAS.
>
> Best Regards,
> Jan
>
> Dňa štvrtok, 25. septembra 2014 16:57:48 UTC+2 Andreas Noack napísal(-a):
>>
>> It appears that you are not using a fast BLAS. The BLAS and LAPACK 
>> entries in versioninfo() should say libopenblas instead of libblas and 
>> liblapack. You should use 
>>
>> https://launchpad.net/~staticfloat/+archive/ubuntu/juliareleases
>>
>> as your repo for julia. That should give you Julia with fast linear 
>> algebra.
>>
>> Med venlig hilsen
>>
>> Andreas Noack
>>
>> 2014-09-25 10:36 GMT-04:00 Ján Dolinský :
>>
>>> Hello,
>>>
>>> Yes, Andreas point makes sense. Sometimes you may not want threaded 
>>> linear algebra routines. 
>>>
>>> My current installation reports this:
>>> versioninfo()
>>> Julia Version 0.3.0
>>> Commit 7681878 (2014-08-20 20:43 UTC)
>>> Platform Info:
>>>   System: Linux (x86_64-linux-gnu)
>>>   CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
>>>   WORD_SIZE: 64
>>>   BLAS: libblas.so.3
>>>   LAPACK: liblapack.so.3
>>>   LIBM: libopenlibm
>>>   LLVM: libLLVM-3.3
>>>
>>> Am I using the right library ? How do I plug-in the OpenBLAS ? I am 
>>> under Ubuntu 14.4.01.
>>>
>>> Thanks,
>>> Jan
>>>
>>> Dňa štvrtok, 25. septembra 2014 14:47:12 UTC+2 Andreas Noack napísal(-a):

 OpenBLAS uses threads by default, but Milan reported that Fedora's 
 maintainer had them disabled. Hence, unless you are using Fedora, you 
 should have threaded OpenBLAS.

 What is the best setup for fast linear algebra operations ?


 That question doesn't have a single answer. Often when people want to 
 show performance of linear algebra libraries they run a single routine on 
 a 
 big matrix. In that case you'll often benefit from many threads. However, 
 in many applications you solve smaller problems many times. In this case, 
 many threads can actually be a problem and you could be better off with 
 turning off OpenBLAS threading. So it depends on your problem.

 Med venlig hilsen

 Andreas Noack

 2014-09-25 5:52 GMT-04:00 Ján Dolinský:

> Hello,
>
> How do I make Julia to use threaded version of OpenBLAS ? Do I have to 
> compile using some special option or there is a config file ?
> What is the best setup for fast linear algebra operations ?
>
> Best Regards,
> Jan
>
> Dňa nedeľa, 21. septembra 2014 9:50:52 UTC+2 Stephan Buchert 
> napísal(-a):
>
>> Wow, I have now LU a little bit faster on the latest julia Fedora 
>> package than on my locally compiled julia:
>>
>> julia> versioninfo()
>> Julia Version 0.3.0
>> Platform Info:
>>   System: Linux (x86_64-redhat-linux)
>>   CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
>>   WORD_SIZE: 64
>>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
>>   LAPACK: libopenblasp.so.0
>>   LIBM: libopenlibm
>>   LLVM: libLLVM-3.3
>>
>> julia> include("code/julia/bench.jl")
>> LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 seconds 
>> with my julia
>> FFT , elapsed time: 0.248571629 seconds
>>
>> Thanks for making and  improving the Fedora package
>>
>

>>

Re: [julia-users] Matlab bench in Julia

2014-09-26 Thread Ján Dolinský
Hello,

I am using the repo you mentioned. I upgraded to latest version and I get 
the following:
versioninfo()
Julia Version 0.3.1
Commit c03f413 (2014-09-21 21:30 UTC)
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
  WORD_SIZE: 64
  BLAS: libblas.so.3
  LAPACK: liblapack.so.3
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

I did not included Julia Dependencies repo because it is meant for Ubuntu 
up to 13.04.

I both repos however OpenBLAS is available only for Raring, Quantal and 
Precise not for Trusty Tahr ... so I assume Julia 0.3.1~trusty1 is using 
original Ubuntu repo for linear algebra libraries and thus users of Trusty 
Tahr ends up without OpenBLAS.

Best Regards,
Jan

Dňa štvrtok, 25. septembra 2014 16:57:48 UTC+2 Andreas Noack napísal(-a):
>
> It appears that you are not using a fast BLAS. The BLAS and LAPACK entries 
> in versioninfo() should say libopenblas instead of libblas and liblapack. 
> You should use 
>
> https://launchpad.net/~staticfloat/+archive/ubuntu/juliareleases
>
> as your repo for julia. That should give you Julia with fast linear 
> algebra.
>
> Med venlig hilsen
>
> Andreas Noack
>
> 2014-09-25 10:36 GMT-04:00 Ján Dolinský  >:
>
>> Hello,
>>
>> Yes, Andreas point makes sense. Sometimes you may not want threaded 
>> linear algebra routines. 
>>
>> My current installation reports this:
>> versioninfo()
>> Julia Version 0.3.0
>> Commit 7681878 (2014-08-20 20:43 UTC)
>> Platform Info:
>>   System: Linux (x86_64-linux-gnu)
>>   CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
>>   WORD_SIZE: 64
>>   BLAS: libblas.so.3
>>   LAPACK: liblapack.so.3
>>   LIBM: libopenlibm
>>   LLVM: libLLVM-3.3
>>
>> Am I using the right library ? How do I plug-in the OpenBLAS ? I am under 
>> Ubuntu 14.4.01.
>>
>> Thanks,
>> Jan
>>
>> Dňa štvrtok, 25. septembra 2014 14:47:12 UTC+2 Andreas Noack napísal(-a):
>>>
>>> OpenBLAS uses threads by default, but Milan reported that Fedora's 
>>> maintainer had them disabled. Hence, unless you are using Fedora, you 
>>> should have threaded OpenBLAS.
>>>
>>> What is the best setup for fast linear algebra operations ?
>>>
>>>
>>> That question doesn't have a single answer. Often when people want to 
>>> show performance of linear algebra libraries they run a single routine on a 
>>> big matrix. In that case you'll often benefit from many threads. However, 
>>> in many applications you solve smaller problems many times. In this case, 
>>> many threads can actually be a problem and you could be better off with 
>>> turning off OpenBLAS threading. So it depends on your problem.
>>>
>>> Med venlig hilsen
>>>
>>> Andreas Noack
>>>
>>> 2014-09-25 5:52 GMT-04:00 Ján Dolinský:
>>>
 Hello,

 How do I make Julia to use threaded version of OpenBLAS ? Do I have to 
 compile using some special option or there is a config file ?
 What is the best setup for fast linear algebra operations ?

 Best Regards,
 Jan

 Dňa nedeľa, 21. septembra 2014 9:50:52 UTC+2 Stephan Buchert 
 napísal(-a):

> Wow, I have now LU a little bit faster on the latest julia Fedora 
> package than on my locally compiled julia:
>
> julia> versioninfo()
> Julia Version 0.3.0
> Platform Info:
>   System: Linux (x86_64-redhat-linux)
>   CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
>   WORD_SIZE: 64
>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
>   LAPACK: libopenblasp.so.0
>   LIBM: libopenlibm
>   LLVM: libLLVM-3.3
>
> julia> include("code/julia/bench.jl")
> LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 seconds 
> with my julia
> FFT , elapsed time: 0.248571629 seconds
>
> Thanks for making and  improving the Fedora package
>

>>>
>

Re: [julia-users] Matlab bench in Julia

2014-09-25 Thread Andreas Noack
It appears that you are not using a fast BLAS. The BLAS and LAPACK entries
in versioninfo() should say libopenblas instead of libblas and liblapack.
You should use

https://launchpad.net/~staticfloat/+archive/ubuntu/juliareleases

as your repo for julia. That should give you Julia with fast linear algebra.

Med venlig hilsen

Andreas Noack

2014-09-25 10:36 GMT-04:00 Ján Dolinský :

> Hello,
>
> Yes, Andreas point makes sense. Sometimes you may not want threaded linear
> algebra routines.
>
> My current installation reports this:
> versioninfo()
> Julia Version 0.3.0
> Commit 7681878 (2014-08-20 20:43 UTC)
> Platform Info:
>   System: Linux (x86_64-linux-gnu)
>   CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
>   WORD_SIZE: 64
>   BLAS: libblas.so.3
>   LAPACK: liblapack.so.3
>   LIBM: libopenlibm
>   LLVM: libLLVM-3.3
>
> Am I using the right library ? How do I plug-in the OpenBLAS ? I am under
> Ubuntu 14.4.01.
>
> Thanks,
> Jan
>
> Dňa štvrtok, 25. septembra 2014 14:47:12 UTC+2 Andreas Noack napísal(-a):
>>
>> OpenBLAS uses threads by default, but Milan reported that Fedora's
>> maintainer had them disabled. Hence, unless you are using Fedora, you
>> should have threaded OpenBLAS.
>>
>> What is the best setup for fast linear algebra operations ?
>>
>>
>> That question doesn't have a single answer. Often when people want to
>> show performance of linear algebra libraries they run a single routine on a
>> big matrix. In that case you'll often benefit from many threads. However,
>> in many applications you solve smaller problems many times. In this case,
>> many threads can actually be a problem and you could be better off with
>> turning off OpenBLAS threading. So it depends on your problem.
>>
>> Med venlig hilsen
>>
>> Andreas Noack
>>
>> 2014-09-25 5:52 GMT-04:00 Ján Dolinský:
>>
>>> Hello,
>>>
>>> How do I make Julia to use threaded version of OpenBLAS ? Do I have to
>>> compile using some special option or there is a config file ?
>>> What is the best setup for fast linear algebra operations ?
>>>
>>> Best Regards,
>>> Jan
>>>
>>> Dňa nedeľa, 21. septembra 2014 9:50:52 UTC+2 Stephan Buchert napísal(-a):
>>>
 Wow, I have now LU a little bit faster on the latest julia Fedora
 package than on my locally compiled julia:

 julia> versioninfo()
 Julia Version 0.3.0
 Platform Info:
   System: Linux (x86_64-redhat-linux)
   CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
   WORD_SIZE: 64
   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
   LAPACK: libopenblasp.so.0
   LIBM: libopenlibm
   LLVM: libLLVM-3.3

 julia> include("code/julia/bench.jl")
 LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 seconds
 with my julia
 FFT , elapsed time: 0.248571629 seconds

 Thanks for making and  improving the Fedora package

>>>
>>


Re: [julia-users] Matlab bench in Julia

2014-09-25 Thread Ján Dolinský
Hello,

Yes, Andreas point makes sense. Sometimes you may not want threaded linear 
algebra routines. 

My current installation reports this:
versioninfo()
Julia Version 0.3.0
Commit 7681878 (2014-08-20 20:43 UTC)
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
  WORD_SIZE: 64
  BLAS: libblas.so.3
  LAPACK: liblapack.so.3
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

Am I using the right library ? How do I plug-in the OpenBLAS ? I am under 
Ubuntu 14.4.01.

Thanks,
Jan

Dňa štvrtok, 25. septembra 2014 14:47:12 UTC+2 Andreas Noack napísal(-a):
>
> OpenBLAS uses threads by default, but Milan reported that Fedora's 
> maintainer had them disabled. Hence, unless you are using Fedora, you 
> should have threaded OpenBLAS.
>
> What is the best setup for fast linear algebra operations ?
>
>
> That question doesn't have a single answer. Often when people want to show 
> performance of linear algebra libraries they run a single routine on a big 
> matrix. In that case you'll often benefit from many threads. However, in 
> many applications you solve smaller problems many times. In this case, many 
> threads can actually be a problem and you could be better off with turning 
> off OpenBLAS threading. So it depends on your problem.
>
> Med venlig hilsen
>
> Andreas Noack
>
> 2014-09-25 5:52 GMT-04:00 Ján Dolinský:
>
>> Hello,
>>
>> How do I make Julia to use threaded version of OpenBLAS ? Do I have to 
>> compile using some special option or there is a config file ?
>> What is the best setup for fast linear algebra operations ?
>>
>> Best Regards,
>> Jan
>>
>> Dňa nedeľa, 21. septembra 2014 9:50:52 UTC+2 Stephan Buchert napísal(-a):
>>
>>> Wow, I have now LU a little bit faster on the latest julia Fedora 
>>> package than on my locally compiled julia:
>>>
>>> julia> versioninfo()
>>> Julia Version 0.3.0
>>> Platform Info:
>>>   System: Linux (x86_64-redhat-linux)
>>>   CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
>>>   WORD_SIZE: 64
>>>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
>>>   LAPACK: libopenblasp.so.0
>>>   LIBM: libopenlibm
>>>   LLVM: libLLVM-3.3
>>>
>>> julia> include("code/julia/bench.jl")
>>> LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 seconds 
>>> with my julia
>>> FFT , elapsed time: 0.248571629 seconds
>>>
>>> Thanks for making and  improving the Fedora package
>>>
>>
>

Re: [julia-users] Matlab bench in Julia

2014-09-25 Thread Milan Bouchet-Valat
Le jeudi 25 septembre 2014 à 08:47 -0400, Andreas Noack a écrit :
> OpenBLAS uses threads by default, but Milan reported that Fedora's
> maintainer had them disabled. Hence, unless you are using Fedora, you
> should have threaded OpenBLAS.
> 
No, actually as I said above it was my mistake, and it's fixed for a few
days in the Copr packages. Now you get threads by default with RPM
packages on Fedora.


Regards



Re: [julia-users] Matlab bench in Julia

2014-09-25 Thread Andreas Noack
OpenBLAS uses threads by default, but Milan reported that Fedora's
maintainer had them disabled. Hence, unless you are using Fedora, you
should have threaded OpenBLAS.

What is the best setup for fast linear algebra operations ?


That question doesn't have a single answer. Often when people want to show
performance of linear algebra libraries they run a single routine on a big
matrix. In that case you'll often benefit from many threads. However, in
many applications you solve smaller problems many times. In this case, many
threads can actually be a problem and you could be better off with turning
off OpenBLAS threading. So it depends on your problem.

Med venlig hilsen

Andreas Noack

2014-09-25 5:52 GMT-04:00 Ján Dolinský :

> Hello,
>
> How do I make Julia to use threaded version of OpenBLAS ? Do I have to
> compile using some special option or there is a config file ?
> What is the best setup for fast linear algebra operations ?
>
> Best Regards,
> Jan
>
> Dňa nedeľa, 21. septembra 2014 9:50:52 UTC+2 Stephan Buchert napísal(-a):
>
>> Wow, I have now LU a little bit faster on the latest julia Fedora package
>> than on my locally compiled julia:
>>
>> julia> versioninfo()
>> Julia Version 0.3.0
>> Platform Info:
>>   System: Linux (x86_64-redhat-linux)
>>   CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
>>   WORD_SIZE: 64
>>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
>>   LAPACK: libopenblasp.so.0
>>   LIBM: libopenlibm
>>   LLVM: libLLVM-3.3
>>
>> julia> include("code/julia/bench.jl")
>> LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 seconds
>> with my julia
>> FFT , elapsed time: 0.248571629 seconds
>>
>> Thanks for making and  improving the Fedora package
>>
>


Re: [julia-users] Matlab bench in Julia

2014-09-25 Thread Ján Dolinský
Hello,

How do I make Julia to use threaded version of OpenBLAS ? Do I have to 
compile using some special option or there is a config file ?
What is the best setup for fast linear algebra operations ?

Best Regards,
Jan

Dňa nedeľa, 21. septembra 2014 9:50:52 UTC+2 Stephan Buchert napísal(-a):
>
> Wow, I have now LU a little bit faster on the latest julia Fedora package 
> than on my locally compiled julia:
>
> julia> versioninfo()
> Julia Version 0.3.0
> Platform Info:
>   System: Linux (x86_64-redhat-linux)
>   CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
>   WORD_SIZE: 64
>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
>   LAPACK: libopenblasp.so.0
>   LIBM: libopenlibm
>   LLVM: libLLVM-3.3
>
> julia> include("code/julia/bench.jl")
> LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 seconds with 
> my julia
> FFT , elapsed time: 0.248571629 seconds
>
> Thanks for making and  improving the Fedora package
>


Re: [julia-users] Matlab bench in Julia

2014-09-21 Thread Stephan Buchert
Wow, I have now LU a little bit faster on the latest julia Fedora package 
than on my locally compiled julia:

julia> versioninfo()
Julia Version 0.3.0
Platform Info:
  System: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
  WORD_SIZE: 64
  BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblasp.so.0
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

julia> include("code/julia/bench.jl")
LU decomposition, elapsed time: 0.07222901 seconds, was 0.123 seconds with 
my julia
FFT , elapsed time: 0.248571629 seconds

Thanks for making and  improving the Fedora package


Re: [julia-users] Matlab bench in Julia

2014-09-20 Thread Keith Campbell

Milan --  Thank you for your diligence!


>

Re: [julia-users] Matlab bench in Julia

2014-09-19 Thread Milan Bouchet-Valat
Le vendredi 19 septembre 2014 à 21:03 +0200, Milan Bouchet-Valat a
écrit :
> Le vendredi 19 septembre 2014 à 12:25 +0200, Milan Bouchet-Valat a
> écrit :
> > Le jeudi 18 septembre 2014 à 22:35 +0200, Milan Bouchet-Valat a écrit :
> > > Le jeudi 18 septembre 2014 à 15:12 -0400, Andreas Noack a écrit :
> > > > You are not using a fast BLAS, but the slow reference BLAS which
> > > > unfortunately is the default on Linux. An option is to build Julia
> > > > from source. Usually it is just to download the source and write make.
> > > > Then you'll have Julia compiled with OpenBLAS which is much faster and
> > > > comparable in speed to Intel MKL which MATLAB uses.
> > > My Fedora RPM package uses OpenBLAS, or at least is supposed to. But
> > > indeed only one thread is used in my tests here too. The problem seems
> > > to be that LAPACK is not the OpenBLAS one:
> > > julia> versioninfo()
> > > Julia Version 0.3.0
> > > Platform Info:
> > >   System: Linux (x86_64-redhat-linux)
> > >   CPU: Intel(R) Core(TM) i5 CPU   M 450  @ 2.40GHz
> > >   WORD_SIZE: 64
> > >   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
> > >   LAPACK: liblapack
> > >   LIBM: libopenlibm
> > >   LLVM: libLLVM-3.3
> > > 
> > > And indeed I'm passing USE_SYSTEM_LAPACK=1. I didn't know it would incur
> > > such a slowdown. Is there a way to get Julia use the system's OpenBLAS
> > > version of LAPACK?
> > Replying to myself, it appears I can set LAPACK=-lopenblas and
> > LAPACKNAME=openblas when calling make. These should probably be made the
> > default, even when USE_SYSTEM_LAPACK=1, so that people have to
> > explicitly ask for the slow LAPACK.
> > 
> > The problem is, it doesn't make Julia use more than one thread, even
> > when calling Base.blas_set_num_threads(4). I've even removed all
> > liblapack* files to be sure it isn't used, no luck. So I guess there's a
> > problem with Fedora's OpenBLAS, I'll have a look.
> OK, that's because the maintainer of Fedora's OpenBLAS disabled
> optimized functions like LU after finding a bug in them some time ago.
> Now it appears to be fixed upstream, so the performance tuning can
> likely be brought back. I've filed a bug:
> https://bugzilla.redhat.com/show_bug.cgi?id=1144414
It turns out I've been too fast in designating a culprit. Actually the
bug above is an old story already.

The problem was just that I had naively linked Julia to libopenblas.so,
while in Fedora the threaded version is libopenblasp.so. The terminology
was probably obvious for some smart people, but it was obscure to me
until today. ;-)

Anyway, I've launched a new built to fix this on Copr, and the good news
is that I should be able to upload the RPM to Fedora repositories soon.


Last message in this soliloquy, promised!


Re: [julia-users] Matlab bench in Julia

2014-09-19 Thread Milan Bouchet-Valat
Le vendredi 19 septembre 2014 à 12:25 +0200, Milan Bouchet-Valat a
écrit :
> Le jeudi 18 septembre 2014 à 22:35 +0200, Milan Bouchet-Valat a écrit :
> > Le jeudi 18 septembre 2014 à 15:12 -0400, Andreas Noack a écrit :
> > > You are not using a fast BLAS, but the slow reference BLAS which
> > > unfortunately is the default on Linux. An option is to build Julia
> > > from source. Usually it is just to download the source and write make.
> > > Then you'll have Julia compiled with OpenBLAS which is much faster and
> > > comparable in speed to Intel MKL which MATLAB uses.
> > My Fedora RPM package uses OpenBLAS, or at least is supposed to. But
> > indeed only one thread is used in my tests here too. The problem seems
> > to be that LAPACK is not the OpenBLAS one:
> > julia> versioninfo()
> > Julia Version 0.3.0
> > Platform Info:
> >   System: Linux (x86_64-redhat-linux)
> >   CPU: Intel(R) Core(TM) i5 CPU   M 450  @ 2.40GHz
> >   WORD_SIZE: 64
> >   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
> >   LAPACK: liblapack
> >   LIBM: libopenlibm
> >   LLVM: libLLVM-3.3
> > 
> > And indeed I'm passing USE_SYSTEM_LAPACK=1. I didn't know it would incur
> > such a slowdown. Is there a way to get Julia use the system's OpenBLAS
> > version of LAPACK?
> Replying to myself, it appears I can set LAPACK=-lopenblas and
> LAPACKNAME=openblas when calling make. These should probably be made the
> default, even when USE_SYSTEM_LAPACK=1, so that people have to
> explicitly ask for the slow LAPACK.
> 
> The problem is, it doesn't make Julia use more than one thread, even
> when calling Base.blas_set_num_threads(4). I've even removed all
> liblapack* files to be sure it isn't used, no luck. So I guess there's a
> problem with Fedora's OpenBLAS, I'll have a look.
OK, that's because the maintainer of Fedora's OpenBLAS disabled
optimized functions like LU after finding a bug in them some time ago.
Now it appears to be fixed upstream, so the performance tuning can
likely be brought back. I've filed a bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1144414


Regards



Re: [julia-users] Matlab bench in Julia

2014-09-19 Thread Milan Bouchet-Valat
Le jeudi 18 septembre 2014 à 22:35 +0200, Milan Bouchet-Valat a écrit :
> Le jeudi 18 septembre 2014 à 15:12 -0400, Andreas Noack a écrit :
> > You are not using a fast BLAS, but the slow reference BLAS which
> > unfortunately is the default on Linux. An option is to build Julia
> > from source. Usually it is just to download the source and write make.
> > Then you'll have Julia compiled with OpenBLAS which is much faster and
> > comparable in speed to Intel MKL which MATLAB uses.
> My Fedora RPM package uses OpenBLAS, or at least is supposed to. But
> indeed only one thread is used in my tests here too. The problem seems
> to be that LAPACK is not the OpenBLAS one:
> julia> versioninfo()
> Julia Version 0.3.0
> Platform Info:
>   System: Linux (x86_64-redhat-linux)
>   CPU: Intel(R) Core(TM) i5 CPU   M 450  @ 2.40GHz
>   WORD_SIZE: 64
>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
>   LAPACK: liblapack
>   LIBM: libopenlibm
>   LLVM: libLLVM-3.3
> 
> And indeed I'm passing USE_SYSTEM_LAPACK=1. I didn't know it would incur
> such a slowdown. Is there a way to get Julia use the system's OpenBLAS
> version of LAPACK?
Replying to myself, it appears I can set LAPACK=-lopenblas and
LAPACKNAME=openblas when calling make. These should probably be made the
default, even when USE_SYSTEM_LAPACK=1, so that people have to
explicitly ask for the slow LAPACK.

The problem is, it doesn't make Julia use more than one thread, even
when calling Base.blas_set_num_threads(4). I've even removed all
liblapack* files to be sure it isn't used, no luck. So I guess there's a
problem with Fedora's OpenBLAS, I'll have a look.


Regards


Re: [julia-users] Matlab bench in Julia

2014-09-18 Thread Douglas Bates
Part of the problem is the definition of "benchmark".  If all you are doing 
is solving a linear system or evaluating a decomposition then you are just 
benchmarking the BLAS/LAPACK implementation.  It doesn't really matter if 
user-facing language is Matlab or Octave or R or Julia.  They are just a 
thin wrapper around the BLAS/LAPACK calls in cases like this

On Thursday, September 18, 2014 3:59:08 PM UTC-5, Milan Bouchet-Valat wrote:
>
> Le jeudi 18 septembre 2014 à 16:44 -0400, Andreas Noack a écrit : 
> > Ok I see. Good to hear that the package uses OpenBLAS. I have replied 
> > to a couple of linux users who have complained about the slow linear 
> > algebra in Julia. 
> What distributions did they use? We should try to improve these 
> packages, it's really bad advertisement for Julia, and a waste of 
> people's time not to use OpenBLAS by default. 
>
>
> Regards 
>
>

Re: [julia-users] Matlab bench in Julia

2014-09-18 Thread Milan Bouchet-Valat
Le jeudi 18 septembre 2014 à 16:44 -0400, Andreas Noack a écrit :
> Ok I see. Good to hear that the package uses OpenBLAS. I have replied
> to a couple of linux users who have complained about the slow linear
> algebra in Julia.
What distributions did they use? We should try to improve these
packages, it's really bad advertisement for Julia, and a waste of
people's time not to use OpenBLAS by default.


Regards



Re: [julia-users] Matlab bench in Julia

2014-09-18 Thread Andreas Noack
Ok I see. Good to hear that the package uses OpenBLAS. I have replied to a
couple of linux users who have complained about the slow linear algebra in
Julia.

Elliot is probably the right person to answer the question about the
linking.

Med venlig hilsen

Andreas Noack

2014-09-18 16:35 GMT-04:00 Milan Bouchet-Valat :

> Le jeudi 18 septembre 2014 à 15:12 -0400, Andreas Noack a écrit :
> > You are not using a fast BLAS, but the slow reference BLAS which
> > unfortunately is the default on Linux. An option is to build Julia
> > from source. Usually it is just to download the source and write make.
> > Then you'll have Julia compiled with OpenBLAS which is much faster and
> > comparable in speed to Intel MKL which MATLAB uses.
> My Fedora RPM package uses OpenBLAS, or at least is supposed to. But
> indeed only one thread is used in my tests here too. The problem seems
> to be that LAPACK is not the OpenBLAS one:
> julia> versioninfo()
> Julia Version 0.3.0
> Platform Info:
>   System: Linux (x86_64-redhat-linux)
>   CPU: Intel(R) Core(TM) i5 CPU   M 450  @ 2.40GHz
>   WORD_SIZE: 64
>   BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
>   LAPACK: liblapack
>   LIBM: libopenlibm
>   LLVM: libLLVM-3.3
>
> And indeed I'm passing USE_SYSTEM_LAPACK=1. I didn't know it would incur
> such a slowdown. Is there a way to get Julia use the system's OpenBLAS
> version of LAPACK?
>
>
> Regards
>
>


Re: [julia-users] Matlab bench in Julia

2014-09-18 Thread Milan Bouchet-Valat
Le jeudi 18 septembre 2014 à 15:12 -0400, Andreas Noack a écrit :
> You are not using a fast BLAS, but the slow reference BLAS which
> unfortunately is the default on Linux. An option is to build Julia
> from source. Usually it is just to download the source and write make.
> Then you'll have Julia compiled with OpenBLAS which is much faster and
> comparable in speed to Intel MKL which MATLAB uses.
My Fedora RPM package uses OpenBLAS, or at least is supposed to. But
indeed only one thread is used in my tests here too. The problem seems
to be that LAPACK is not the OpenBLAS one:
julia> versioninfo()
Julia Version 0.3.0
Platform Info:
  System: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Core(TM) i5 CPU   M 450  @ 2.40GHz
  WORD_SIZE: 64
  BLAS: libopenblas (DYNAMIC_ARCH NO_AFFINITY)
  LAPACK: liblapack
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

And indeed I'm passing USE_SYSTEM_LAPACK=1. I didn't know it would incur
such a slowdown. Is there a way to get Julia use the system's OpenBLAS
version of LAPACK?


Regards



Re: [julia-users] Matlab bench in Julia

2014-09-18 Thread Elliot Saba
The first thing you should do is run your code once to warm up the JIT, and
then run it again to measure the actual run time, rather than compile time
+ run time.  A convenient way to do this is to put your benchmark code
inside a function, run the function once, then run it again using the @time
macro.  I might modify your code a bit to the following:

function LU_test()
A = rand(1600, 1600);
lu(A);
end

function FFT_test()
n = 2^21;
x = rand(1,n);
fft(x);
fft(x);
end

LU_test()
FFT_test()

println("LU")
@time LU_test()
println("FFT")
@time FFT_test()


Note that I am now measuring the amount of time necessary to calculate
2^21, which you weren't before, but that shouldn't matter at all.  Try the
above and see if there is any improvement.  You may also want to read this
section of the manual when writing more complicated codes;
http://julia.readthedocs.org/en/latest/manual/performance-tips/
-E



On Thu, Sep 18, 2014 at 11:45 AM, Stephan Buchert 
wrote:

> I have installed julia 0.3 from
> http://copr.fedoraproject.org/coprs/nalimilan/julia/
> on my i7 Haswell 2.4 GHz laptop with updated Fedora 20.
>
> Then I translated the first two parts of the Matlab bench script to julia:
>
> # Transscript of the Matlab bench,
> #   only LU and FFT
> # Transscript of the Matlab bench,
> #   only LU and FFT
> print("LU decomposition, ");
> tic();
> A = rand(1600, 1600);
> lu(A);
> toc();
> print("FFT , ");
> n = 2^21;
> tic();
> x = rand(1,n);
> fft(x);
> fft(x);
> toc();
>
> The comparison is relatively disastrous for julia:
> julia> include("code/julia/bench.jl")
> LU decomposition, elapsed time: 0.936670955 seconds
> FFT , elapsed time: 0.208915093 seconds
> (best out of 10 tries)
>
> Matlab r2014a
> LU decomposition: 0.0477 seconds
> FFT: 0.0682 seconds
>
> LU is 24 times slower on julia, FFT is 3 times slower. According to
> system-monitor Matlab bench causes 3 cores to be busy, julia only 1. This
> could explain the FFT result, but not the LU.
>
>


Re: [julia-users] Matlab bench in Julia

2014-09-18 Thread Andreas Noack
You are not using a fast BLAS, but the slow reference BLAS which
unfortunately is the default on Linux. An option is to build Julia from
source. Usually it is just to download the source and write make. Then
you'll have Julia compiled with OpenBLAS which is much faster and
comparable in speed to Intel MKL which MATLAB uses.

Med venlig hilsen

Andreas Noack

2014-09-18 14:45 GMT-04:00 Stephan Buchert :

> I have installed julia 0.3 from
> http://copr.fedoraproject.org/coprs/nalimilan/julia/
> on my i7 Haswell 2.4 GHz laptop with updated Fedora 20.
>
> Then I translated the first two parts of the Matlab bench script to julia:
>
> # Transscript of the Matlab bench,
> #   only LU and FFT
> # Transscript of the Matlab bench,
> #   only LU and FFT
> print("LU decomposition, ");
> tic();
> A = rand(1600, 1600);
> lu(A);
> toc();
> print("FFT , ");
> n = 2^21;
> tic();
> x = rand(1,n);
> fft(x);
> fft(x);
> toc();
>
> The comparison is relatively disastrous for julia:
> julia> include("code/julia/bench.jl")
> LU decomposition, elapsed time: 0.936670955 seconds
> FFT , elapsed time: 0.208915093 seconds
> (best out of 10 tries)
>
> Matlab r2014a
> LU decomposition: 0.0477 seconds
> FFT: 0.0682 seconds
>
> LU is 24 times slower on julia, FFT is 3 times slower. According to
> system-monitor Matlab bench causes 3 cores to be busy, julia only 1. This
> could explain the FFT result, but not the LU.
>
>