Re: [eigen] patch to add ACML support to BTL |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] patch to add ACML support to BTL
- From: Rohit Garg <rpg.314@xxxxxxxxx>
- Date: Tue, 17 Mar 2009 22:34:44 +0530
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=mwxdaZW5RPrTsQeUSEBuBY6nz9wP6RXBv95GY29smAE=; b=rxzau4OmhLVBNjhuopqAV34SfBZfH74nU4T7XJFsolwMdi7P92pWpvZfirNaC2lPHL fHM7nvkzYuVkFH0kzqQCtQEo/n98BYRg5BbGJnIo36rx3mntB9oFRvpJz9m9d4EcRAJL WidH8pDDKyjPK5YFjFAlGxOnQD2wqriKr2IcQ=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=syRz4SeT5kfk3O2HqWFHoLPzw36ZWC3RYtnZFYkBgKIDQ8w1PCO6YCKutfxALnaOnf wMT3+HHpz0NlbEJ1ry2MCUNt64pS4VKn7X7n6md+GVr7l6S2TvyaRFlqW4JeUQ89VoXB GxOeXl9OEJaKVbDz8UvshZNtPTNx12FcPdSzM=
Hi,
All of it is double precision right? Or is it single precision? I
think this should be clarified on the wiki.
On Tue, Mar 17, 2009 at 10:27 PM, Gael Guennebaud
<gael.guennebaud@xxxxxxxxx> wrote:
> Hi,
>
> just to say I updated the main benchmark page.
>
> Gael
>
> On Tue, Mar 17, 2009 at 10:27 AM, Rohit Garg <rpg.314@xxxxxxxxx> wrote:
>> Thanks for that. After looking at these benches, I was thinking that
>> perhaps Eigen has become quite slower with new versions!!
>>
>> On Tue, Mar 17, 2009 at 2:52 PM, Gael Guennebaud
>> <gael.guennebaud@xxxxxxxxx> wrote:
>>> On Tue, Mar 17, 2009 at 9:20 AM, Rohit Garg <rpg.314@xxxxxxxxx> wrote:
>>>> I think that with new library versions, new eigen versions, and new
>>>> gcc we should put these results on the main benchmark page of eigen
>>>> website. BTW I think the eigen's performance has slipped considerably
>>>> when I look at your Pentium D benchmarks, or it's all attributable to
>>>> core2 being a much better cpu?
>>>
>>> thanks for the benchs,
>>>
>>> core2 is indeed much better than a Pentium D, and since I only have a
>>> core2, the critical parts (matrix-matrix products) are only fine tuned
>>> for the core2. Another reason is that gcc 4.3 generates slower code
>>> than 4.2: some constant expressions are not removed out the inner
>>> loops, it is not optimal with block expressions, and by default 4.3
>>> automatically generates vectorized code which conflicts with Eigen's
>>> automatic vectorization. 4.4 do not suffer from all these issues, and
>>> sometimes, gcc 4.4 auto-vec is even better than Eigen's explicit one
>>> because it better understands what it is doing: an example is rank-2
>>> update which simply consists in a series "v += ax + by" ops. But
>>> Eigen's explicit vec is still worth it because we are able to
>>> vectorize much more cases than gcc. Examples: "v = ax + by" is not
>>> vectorized by gcc, matrix products, vectorization + explicit
>>> unrolling, in the future sin, cos, pow, exp, etc.
>>>
>>> gael
>>>
>>>> On Tue, Mar 17, 2009 at 1:08 PM, Victor <flyaway1212@xxxxxxxxx> wrote:
>>>>> Hi all.
>>>>> It sure took a while to run all the benchmarks with all the libraries
>>>>> available to me... I wish I had read the instructions more carefully and
>>>>> hadn't wasted any time testing multithreaded libraries...
>>>>> Anyways, the results are on the wiki:
>>>>> http://eigen.tuxfamily.org/index.php?title=Benchmark_AMD_Intel_compare
>>>>>
>>>>> Gael Guennebaud wrote:
>>>>>>
>>>>>> Hi Victor,
>>>>>>
>>>>>> thanks a lot for the patch.
>>>>>> applied in rev 935462, the syr2 header will follow in a second.
>>>>>>
>>>>>> so what's your conclusion, is ACML as good as MKL ?
>>>>> Unfortunately, no. ACML is not bad though. It's hard to say once and for
>>>>> all, but most of the time MKL beats ACML. Even on an AMD CPU MKL is
>>>>> typically better. ACML shows decent performance (even on Intel CPU), on
>>>>> average similar to ATLAS, but again results differ from test to test.
>>>>> The good thing about ACML (and MKL, Goto and ATLAS) is that they can be
>>>>> used in multithreading mode, which unfortunately can't be demonstrated
>>>>> with BTL as far as I can tell.
>>>>>
>>>>> Also, it looks like in comparison with other libs Eigen does better on
>>>>> Intel than on AMD.
>>>>>
>>>>> Out of curiosity, I have also run BTL with Eigen compiled with 4
>>>>> different compilers. Well, 3 different gcc versions and intel c++. See
>>>>> the results here
>>>>> http://eigen.tuxfamily.org/index.php?title=Eigen2_benchmark_Intel
>>>>>
>>>>> I hope this might be useful to somebody.
>>>>>
>>>>> Cheers,
>>>>> Victor.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Rohit Garg
>>>>
>>>> http://rpg-314.blogspot.com/
>>>>
>>>> Senior Undergraduate
>>>> Department of Physics
>>>> Indian Institute of Technology
>>>> Bombay
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>> --
>> Rohit Garg
>>
>> http://rpg-314.blogspot.com/
>>
>> Senior Undergraduate
>> Department of Physics
>> Indian Institute of Technology
>> Bombay
>>
>>
>>
>
>
>
--
Rohit Garg
http://rpg-314.blogspot.com/
Senior Undergraduate
Department of Physics
Indian Institute of Technology
Bombay