|[eigen] alignment issues, conversion between aligned / unaligned data, unaligned Eigen::Rotation2D|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: [eigen] alignment issues, conversion between aligned / unaligned data, unaligned Eigen::Rotation2D
- From: bubnikv <bubnikv@xxxxxxxxx>
- Date: Mon, 20 Aug 2018 15:14:40 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=CBpn3NJg14BcwAR1/X1XolcDBYZH58Ww+tYG1hjVDR0=; b=CCf8L48qrR2uAlidu+W3+Ij7hB4/6sdfsHMRBRyBTeKOGkgdMhhCLGt0n6g2GOvxAk Bo5cVxO4Gpt4jGMn+n75ecGZmPtjfIIyCbTzT2GWUbVKNbfcQ5Y4ZamMMbh3IQ/K6d2I CjRo9vj9TdZD0ekbdezGaFH8f1c3p083jP4A1C/fPwCgjzeUKhtMGstSMKvzbz/MUoRx q775pzvyrJ51LDHem+KbeN+wyO/zzoTEujE0OKwklir2oCjbXImVgC/iRsVob2q5OWIx zQC6WBQg9I4stishzmFI2YrqYg9+PRS/mWcbkSMv1P3RBWGr3BymV0yQiYp0rj3ehrCr vAMA==
We are now trying to replace the homebrew point classes with the Eigen fixed size types. As the code base is quite large, we want to avoid alignment issues by declaring fixed vector types with the Eigen::DontAlign attribute. So far so good, with the exception of Eigen::Rotation2D, which is not templated with the alignment attribute, so it cannot be used against the fixed size matrices with Eigen::DontAlign. Is there any reason for that? Would you guys please extend the class with the alignment template attribute?
We are thinking of using https://github.com/libigl/libigl for some operations on triangle meshes, where the vectorized operations may or may not be beneficial. We may just disable alignment / vectorization for the whole application. We are not sure about the performance penalty, but looking at the evaluation of Eigen 2 from 2008
the loss may be significant.
We may then think about converting between the aligned / non aligned values. Does Eigen support any conversion between aligned / unaligned types? I know about the .cast<>() operator, but it does not allow me to change the alignment attribute.
Thanks for your time,