Re: [eigen] NEON remaining failing tests

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


On Saturday 06 March 2010 09:19:31 Benoit Jacob wrote:
> Hi Konstantinos,
> 
> i just split the EIGEN_DONT_ALIGN option into EIGEN_DONT_ALIGN_STACK
> and _HEAP and i tried to rework your checks but couldn't test, so
> could you have a look.

I had to change Macros.h line 80 to:

#if defined(EIGEN_VECTORIZE) && !defined(EIGEN_VECTORIZE_NEON)

else if failed to compile and reported the #error in line 81:

> Seeing this in Memory.h at line 427, i was not sure what to do:
> 
> #if (defined __linux__) && !(defined __ARM_NEON__)
>   #define ei_aligned_stack_alloc(SIZE) (SIZE<=EIGEN_STACK_ALLOCATION_LIMIT)
>  \ ? alloca(SIZE) \
> 
>                                     : ei_aligned_malloc(SIZE)
> 
> why are you disabling alloca on ARM_NEON? Is there a problem with
> alloca on ARM? If yes, then why not test for __arm__ ?

I removed it.

make in test/ fails in cholesky:

[ 12%] Building CXX object test/CMakeFiles/cholesky_1.dir/cholesky.cpp.o                                                                                                            
In file included from /home/oem/eigen/Eigen/Core:272,                                                                                                                               
                 from /home/oem/eigen/Eigen/QR:4,                                                                                                                                   
                 from /home/oem/eigen/test/main.h:151,                                                                                                                              
                 from /home/oem/eigen/test/cholesky.cpp:29:                                                                                                                         
/home/oem/eigen/Eigen/src/Core/Product.h: In instantiation of 
'Eigen::ei_product_type<Eigen::Block<Eigen::Matrix<double, 1, 1, 0, 1, 1>, 
33331, 33331, 32>, Eigen::Block<Eigen::Block<Eigen::Matrix<double, 1, 1, 0, 1, 
1>, 1, 1, 32>, 1, 1, 32> >':                                                                                                                    
/home/oem/eigen/Eigen/src/Cholesky/LDLT.h:249:   instantiated from 
'Eigen::LDLT<MatrixType>& Eigen::LDLT<MatrixType>::compute(const _MatrixType&) 
[with _MatrixType = Eigen::Matrix<double, 1, 1, 0, 1, 1>]'                                                                                                                                                            
/home/oem/eigen/Eigen/src/Cholesky/LDLT.h:86:   instantiated from 
'Eigen::LDLT<MatrixType>::LDLT(const _MatrixType&) [with _MatrixType = 
Eigen::Matrix<double, 1, 1, 0, 1, 1>]'     
/home/oem/eigen/test/cholesky.cpp:121:   instantiated from 'void 
cholesky(const MatrixType&) [with MatrixType = Eigen::Matrix<double, 1, 1, 0, 
1, 1>]'                              
/home/oem/eigen/test/cholesky.cpp:153:   instantiated from here                                                                                                                     
/home/oem/eigen/Eigen/src/Core/Product.h:78: error: incomplete type 
'Eigen::ei_product_type_selector<2, 1, 1>' used in nested name specifier


Any ideas?

Konstantinos



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