Re: [eigen] Architecture specific performance optimizations |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen <eigen@xxxxxxxxxxxxxxxxxxx>
- Subject: Re: [eigen] Architecture specific performance optimizations
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Fri, 7 Mar 2014 19:54:50 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; bh=+CTjqPyRA8XDwb5hrDl4+52Q6g4VPIvDxCEP4UXdpWA=; b=Ri4GtYkqiDVrBlxJGEmuLKf4bHqoHOuZAWCrHrz9V6WNV14+tZ14HWDqzo+AaSj1aP xeoSQyrekoHorcYbxKmko8kSo8HVB6tbbxxLbb+Vp7e26vzaZQGLTzz2ZiLLlFU2drPD BKvAGvhV+XkCaDl7T4v3NvJzGF3UzF7S0JP4fE6TQq3//XCeIbjn/w7oxiS5RUNzFP0W UodZpYhQjRYXDi5gnDFYQhJyUX7Hqx2XiLw3T+XblGkcApSHQ3k0SKPmPA1nh4+0aUrk h6Z75KV05Y05u8Yw0H2hysr1VGmBtzfrHk4y6N1FUhQb0+x6s+UIJFDFENNcDwN4qHdc yDfg==
On Fri, Mar 7, 2014 at 1:11 PM, Christoph Hertzberg
<chtz@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> Hi all,
>
> Gael initiated a discussion on this bugzilla-entry, which I think deserves a
> more general discussion on the list:
> http://eigen.tuxfamily.org/bz/show_bug.cgi?id=721#c4
>>
>> The problem is that change kills the performance on older architectures
>> for
>> which pset1 is very slow. I'm also unsure about ARM/Neon. So this trigger
>> a
>> more general question about the policy we should adopt regarding
>> optimizations:
>>
>> a) shall we limit the number of variants and favor modern architectures?
>>
>> b) shall we keep multiple variants and detect the best one at compile time
>> through compiler's preprocessors or user defined preprocessor token?
>
>
> IMO, on the long run, we definitely should focus on (mainstream) up-to-date
> hardware, but still at least keep compatibility to out-dated hardware (which
> we currently do when disabling vectorization entirely).
> Also we should ensure to not make too big performance regressions on the
> not-so-cutting-edge hardware.
I totally agree.
> I think as a first step, we should have some kind of survey on what
> platforms Eigen currently is used, who requires to have top-performance (I
> would assume this correlates with people having up-to-date hardware).
This should indeed correlate with recent hardware. What's more tricky
is that "up-to-date" hardware might behave quite differently depending
on the architecture. In particular I'm thinking about ARM.
> Maybe a more important issue is to find people willing to run performance
> tests on a regular basis (especially for both out-dated and cutting-edge
> hardware).
and more importantly for ARM/NEON for which, IFAIK, none of us can
easily run benchmarks or tests. Any volunteers?
In a similar vein, I'm not sure we'll be able to maintain AltiVec for
3.3. Actually, AFAIK, AltiVec has not been tested for a while and I'm
not even sure it still work with 3.2...
Gael.
>
>
> Christoph
>
>
>
>
>
>
> --
> ----------------------------------------------
> Dipl.-Inf., Dipl.-Math. Christoph Hertzberg
> Cartesium 0.049
> Universität Bremen
> Enrique-Schmidt-Straße 5
> 28359 Bremen
>
> Tel: +49 (421) 218-64252
> ----------------------------------------------
>
>