Re: [eigen] Status of AVX support |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Status of AVX support
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Wed, 7 Dec 2011 11:31:41 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=MMsYzO8v1r9Ftk2q6oiB8utgJxJbypOybkoBAckAA30=; b=Hcyu8GVWkzKhVV1BCEULlpFATA5KPtkvlnTtYak9pTlWXmAbQqyUW62WWI/ajEa6P6 SUhdRO2yXcSQCzTcVZJ8/FEfqM3bBxM5p0KCmYHrUVm3h6SPNGEjJHOoC+Yo7iwM9HfI TAYzPClJx2+RT3sK+4iTZ2maueAhbhBAdmPzo=
2011/12/7 Rhys Ulerich <rhys.ulerich@xxxxxxxxx>:
>> W.r.t porting to AVX: Be aware that there might be some pitfalls with
>> AVX-performance:
>> http://www.agner.org/optimize/blog/read.php?i=142
>
> Interesting tidbit from that link "If the programmer inadvertently
> mixes AVX and non-AVX vector instructions in the same code then there
> is a penalty of 70 clock cycles for each transition between the two
> forms."
Between this, and the fact that we can't 32-byte-align Vector4d
without breaking the ABI, I'm starting to wonder if maybe we should
treat AVX as a dynamic-size-only thing and completely give up on AVX
for fixed-size objects? For dynamic-size objects, the situation is
much simpler, we can increase the alignment without breaking the ABI
and we can assume that objects are large so that AVX is always better
than SSE.
In any case, I think we should start by doing AVX for dynamic-size
objects only, it will be time to think about fixed-size later.
Benoit
>
> Thank you for the pointer to the blog,
> Rhys
>
>