Re: [eigen] 3.0.4 coming soon, testing appreciated |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] 3.0.4 coming soon, testing appreciated
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Tue, 22 Nov 2011 09:14:11 -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:content-transfer-encoding; bh=T/HtvDT/j8StAbXvWzS0URfm6Uy6YohDteKhNKlGSkg=; b=ZKSAEkr8uSRydrTbU8pjBIYrWkmXyUUEbL+lUl9yfuBeIEq4WWqEFpitHAeIVxO6El +T8wDVK7tmIUO4pV1Phxae8kS0658TwohDvdFB63rOOBTArVYgIA7Jmn4QiziX4II6xB jgCPUmsNqDG4zVOHEqv8gAr3lmZ825AFeaGn0=
This is now fixed in both branches: f7e4c54e8c44 in default branch,
dfea1f0cbf7a in 3.0 branch.
Can you please retry?
The fix is very nontrivial so I would like to discuss it here.
We used to have 2 different ways of computing whether we statically
align types: one for the actual static alignment stuff in
DenseStorage.h, checking if the byte size is a multiple of 16 bytes,
and one for the AlignedBit flag computation in compute_matrix_flags in
XprHelper.h, checking if the Scalar type is vectorizable and if
Rows*Cols is a multiple of the vectorization packet size.
For example, when vectorization is disabled, Matrix4d is still
statically aligned (we need that to preserve the ABI) but its Flags do
not have the AlignedBit.
The bug you hit was because when I wrote the patch for bug 369, I
didn't realize that.
In addition, we were overloading operator new and delete both in
PlainObjectBase, and again in the child classes Matrix and Array.
All that should be fixed by above-mentioned changesets, but please
test and check if that change sounds OK.
Cheers,
Benoit
2011/11/22 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> This looks like a regression from Bug 369. Investigating.
>
> Benoit
>
> 2011/11/21 Pavel Holoborodko <pavel@xxxxxxxxxxxxxxx>:
>> Visual Studio 2010-SP1, x86:
>> 99% tests passed, 1 tests failed out of 543
>> Log for failed test - 366:
>> 366/543 Testing: geo_quaternion_2
>> 366/543 Test: geo_quaternion_2
>> Command: "U:/Temp/eigen.3.0.4/build/test/Release/geo_quaternion_2.exe"
>> Directory: U:/Temp/eigen.3.0.4/build/test
>> "geo_quaternion_2" start time: Nov 22 11:09 Tokyo Standard Time
>> Output:
>> ----------------------------------------------------------
>> Initializing random number generator with seed 1321927741
>> Repeating each test 10 times
>> Assertion failed: (reinterpret_cast<size_t>(array) & 0xf) == 0 && "this
>> assertion is explained here: "
>> "http://eigen.tuxfamily.org/dox-devel/TopicUnalignedArrayAssert.html" " ****
>> READ THIS WEB PAGE !!! ****", file
>> u:\temp\eigen.3.0.4\eigen\src/Core/DenseStorage.h, line 69
>> <end of output>
>> Test time = 1.85 sec
>> ----------------------------------------------------------
>> Test Failed.
>> "geo_quaternion_2" end time: Nov 22 11:09 Tokyo Standard Time
>> "geo_quaternion_2" time elapsed: 00:00:01
>> ----------------------------------------------------------
>>
>> On Mon, Nov 21, 2011 at 11:45 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
>> wrote:
>>>
>>> Hi,
>>>
>>> We would like to release Eigen 3.0.4 next week, so testing would be
>>> much appreciated on all supported platforms, with a special mention
>>> for Clang 3.0 on ARM since Eigen 3.0.4 brings fixes specifically for
>>> it.
>>>
>>> The fixes since 3.0.3 are: support for Clang 3.0 on ARM; check for
>>> integer overflow in size computations; a SelfAdjointEigenSolver bug
>>> fix; a quaternion alignment fix; fix unsupported modules docs.
>>>
>>> How to run the tests:
>>> http://eigen.tuxfamily.org/index.php?title=Tests
>>>
>>> Cheers,
>>> Benoit
>>>
>>>
>>
>>
>