Registered Member
|
Hello
I enjoy programing numerical caluculation, thanks to your convinient library. I'd like to use Eigen2 in SunStudio12 in order to caluculate big matrix fastly in UltraSparcIV+. Sun compiler output a lot of error. I solved 1 error by adding the sentence #define EIGEN_ALIGN_128 __attribute__((aligned(16))) in Core/util/Macro.h, not in case of GNUC and MSC. what should I do for other errors? Eigen2 is not compatible with Sun Compiler? I have one more question: Eigen2 is specialized for Pentium in terms of speed(vectorization)? Thank you |
Moderator
|
This is because nobody of us have this compiler. I'm downloading it and I'll try.
Do you know which are the specific compiler and platform preprocessor tokens that are defined by sun studio ? |
Registered Member
|
Thank you for replying
my platform name is __sparcv9(with-m64) Sun compiler name is __SUNPRO_C=0x510 from this HP http://developers.sun.com/sunstudio/doc ... /cc.1.html
|
Moderator
|
If you try the devel branch this should work much better. Now my problem is with the alignment of variables. According to the doc (which is very poor btw), the same syntax than GCC should work, e.g.:
float __attribute__((aligned(16))) x; however CC tells me the attribute aligned is unknown... any idea ? |
Registered Member
|
__attribute__((aligned(16))) is a new feature for Sun C complier(cc), not Sun C++ compiler(CC).
I found the align statement for Sun C++ compiler. it's #pragma align integer(variable [,variable...]) http://docs.sun.com/app/docs/doc/819-52 ... =ja&a=view Could you rewrite the library using this? Thank you |
Moderator
|
hm, if the pragma syntax works for class members, and if the compiler is smart enough to align all objects having an aligned member, then yes that should be doable.
|
Registered users: Bing [Bot], Google [Bot], Sogou [Bot]