Re: [eigen] alignment bug - or where is our non sse inversion gone? |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] alignment bug - or where is our non sse inversion gone?
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Tue, 24 Aug 2010 12:23:39 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:in-reply-to :references:from:date:message-id:subject:to:content-type; bh=4s9de0w+9GErvR80dGxCVTtVYWO+FtDcC6xnNSCjCy4=; b=sA6mGzXAIVVYBo8nYvyZg1gspqgePsWAFs/LqYzYmx7A/hX5ZvY1XTGWhu48VmsJrb NAfMbGZLhuETRN2L/fGzPdRvIEPb+WOepWWun6eOE/2pXe5RJkPwG/A4SuRRLgVVJdTu NDo6aNzN9/wJqITI6loF9raO4zQ2zpTrRdTuU=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=uK5movXo2wdVWhQtCJdOzxDQpwbJxSNoalx07A+skGjytczA36lFt5g2C9qqV6vxGy 6txPJIugjFD6vchTXRxlTPuUxdzcBQ0iABjzm4frSTNqNJcHL0kNdo2f6+svdSfPJmsA UZYGCA1llnd0a19uNckQHBc71V+WjtS4Swkf0=
hm sorry but I don't see it. Here is what I have for ei_compute_inverse_size4:
template<int Arch, typename Scalar, typename MatrixType, typename ResultType>
struct ei_compute_inverse_size4;
Anyway, actually I'm doing a different fix which consist in doing
unaligned loads/stores if the input and/or output do not have the
AlignedBit flags. Here doing unaligned accesses is fine.
gael.
On Tue, Aug 24, 2010 at 12:19 PM, Hauke Heibel
<hauke.heibel@xxxxxxxxxxxxxx> wrote:
> But we already have this parameter, see ei_compute_inverse_size4 in
> Inverse.h line 223 and then line 249.
>
> This is why I was thinking we need to adapt the Architecture structure.
>
> - Hauke
>
> On Tue, Aug 24, 2010 at 12:13 PM, Gael Guennebaud
> <gael.guennebaud@xxxxxxxxx> wrote:
>> Thanks for finding this bug.
>>
>> Actually no need to define EIGEN_DONT_ALIGN_STATICALLY to hit it, simply use:
>>
>> Matrix<float,4,4,DontAlign>
>>
>> The fix is to do the same than for ei_quat_product, i.e., add an
>> Aligned/Unaligned template parameter to ei_compute_inverse_size4.
>>
>> will do it.
>>
>> gael
>>
>> On Tue, Aug 24, 2010 at 12:06 PM, Hauke Heibel
>> <hauke.heibel@xxxxxxxxxxxxxx> wrote:
>>> On Tue, Aug 24, 2010 at 9:24 AM, Hauke Heibel
>>> <hauke.heibel@xxxxxxxxxxxxxx> wrote:
>>>> I just stumbled over a problem when using EIGEN_DONT_ALIGN_STATICALLY
>>>> is defined.
>>>
>>> Uups, did I mention that what is happening is an unaligned memory
>>> access and followed by a segfault??
>>>
>>> - Hauke
>>>
>>>
>>>
>>
>>
>>
>
>
>