Re: [eigen] The horrors of an XLC port/compatibility |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] The horrors of an XLC port/compatibility
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Sat, 23 Jan 2010 01:15:07 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=205MbIbAmcWEMyhHG7R58dE0tdJObBc81daWAmLmZOw=; b=RwAHMEtVGBxZBgRyDldxsLMWvD39cNgZjj5J5bILCU7jtLTmNXR+RozIjAQPj03YGU LB+33CWvlnISDhCMz1NJxz08Mx3lKFrKZTeTPSMfHJn2C5s8Q2x4Dcj4xXXFQEj1rWZD YcZGvgvxvdLiOVZjavu376n3vf5gOy8YYkKPQ=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=jAVQfMzoKdtV1LQFY87mDS7JnJEeyBFWFGTeBv4p/zU0aCdyQRmsfP3sX+I1LLEANy fgLVOtpGVVqv/qZ8DffEM7p77U+I1f3gk4I4Dmf7BfbzgF4KtOcZ6XdgMK7nWBwsg6x6 4bzk5kri6YAZtktCkOinZWeQap7li9fOGU7eU=
2010/1/23 Aron Ahmadia <aja2111@xxxxxxxxxxxx>:
> Hi List,
>
> As Benoit suggested earlier, I did a clean pull from the Eigen
> repository to verify that I hadn't improperly backed out of my hg
> commit. The resulting diff from the sources after fixing Macros.h is
> here:
>
> changeset: 2355:6e2747dd61a5
> user: Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>
> date: Fri Jan 22 19:26:29 2010 +0100
> summary: fix the script again (definitely?) + cleaning
>
> aron@fen1:~/scratch/eigen% hg diff
> diff -r 6e2747dd61a5 Eigen/src/Core/util/Macros.h
> --- a/Eigen/src/Core/util/Macros.h Fri Jan 22 19:26:29 2010 +0100
> +++ b/Eigen/src/Core/util/Macros.h Sat Jan 23 08:54:57 2010 +0300
> @@ -218,6 +218,8 @@
> #elif (defined __SUNPRO_CC)
> // FIXME not sure about this one:
> #define EIGEN_ALIGN_TO_BOUNDARY(n) __attribute__((aligned(n)))
> +#elif (defined __IBMCPP__)
> + #define EIGEN_ALIGN_TO_BOUNDARY(n) __attribute__((aligned(n)))
> #else
> #error Please tell me what is the equivalent of
> __attribute__((aligned(n))) for your compiler
> #endif
>
> Now I'm still getting the same error message here:
>
> cd /home/aron/scratch/build/unsupported/test &&
> /bgsys/drivers/V1R4M0_320_2009-090815P/ppc/comm/bin/mpixlcxx_r -+ -O
> -DNDEBUG -I/home/aron/scratch/build/unsupported/test
> -I/home/aron/scratch/eigen/unsupported/test -I/home/aron/scratch/eigen
> -I/home/aron/scratch/build
> -I/home/aron/scratch/eigen/unsupported/test/../../test
> -DEIGEN_TEST_FUNC=alignedvector3 -o
> CMakeFiles/alignedvector3.dir/alignedvector3.cpp.o -c
> /home/aron/scratch/eigen/unsupported/test/alignedvector3.cpp
> "/home/aron/scratch/eigen/Eigen/src/Core/SelfAdjointView.h", line
> 145.79: 1540-0716 (S) The template argument "Eigen::SelfAdjointView"
> does not match the template parameter "class T".
>
>
> This is a clean Eigen source file, and there's no 'class T' parameter
> anywhere in sight. My suspicion was that the compiler was choking on
> something upstream, so my modifications were not to that file, but to
> the parameter list for TriangularBase.
Ah, I see. Sorry for putting the blame on you when it was the compiler ;)
>
> We've decided that what I did was wrong, but I still need to figure
> out a way to make the compiler stop choking on these files.
Hm. That's really hard to figure out when the compiler error messages
are so unhelpful!
I understand now why you said that the lines numbers wouldn't help.
> In the
> past, I've danced around these template parameter errors by loosening
> the requirement for specialization. What I can try to do now is
> ensure that the compiler is aware of the template methods/classes
> being used by double-checking all of the forward declarations.
>
> Anyway, the way the error is being reported is certainly a compiler
> bug, so I will also dispatch this to the IBM Compiler folks. It's
> very possible that this is an internal compiler error.
Good idea!
>
> Thanks for your attention on this Benoit.
You're welcome.
I'd really like to see Eigen used more on IBM supercomputers, if only
for the prestige of it :)
Benoit