Re: [eigen] 3.0.4 coming soon, testing appreciated

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


2011/11/22 Pavel Holoborodko <pavel@xxxxxxxxxxxxxxx>:
> After changes one test failed  - qtvector, all others are passed (in x86).
> System: MSVC 2010 SP1 + Win 7 x64 Ultimate + Qt 4.8.0 (beta)
> I'm not sure but maybe qtvector has failed cause I have very beta version of
> Qt  - 4.8.0.
> One note though, compiler screams on 130 line in XprHelper.h with
> (warnings):
> C4308: negative integral constant converted to unsigned type
> C4307: integral constant overflow
> Correct me if I am wrong but MaxCols and MaxRows could be negative.

The condition just before, is_dynamic_size_storage, should preclude this.

But it's not something we can really expect the compiler to realize,
so we should fix this warning.

Benoit

> In spite of that in 130 line we do size estimation based on them:
>  ... ((!is_dynamic_size_storage) && (((MaxCols*MaxRows*sizeof(Scalar)) % 16)
> == 0)) ...
>
> On Tue, Nov 22, 2011 at 11:14 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> wrote:
>>
>> 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
>> >>>
>> >>>
>> >>
>> >>
>> >
>>
>>
>
>



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/