Re: [eigen] PGI compilation error |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] PGI compilation error
- From: Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>
- Date: Tue, 23 Feb 2010 15:02:55 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.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=cw9/6do8B6vq3daSA53LORXOirlagTRGT19I528+qRo=; b=apJ1X1npkP5gny0WmLx5fmuhUQjIPRhMM30qZTRJ/pb76kk/KUyb+qaoJ4O7p2jmJX XsH58Wl0yAgqNSRYkLXsPXc9pTkdatGZOQKKxHJz/E9HLuI6j+qsOpRtz9Bn5oKUdJOZ 7CXEplabeZwQ16go3H9H76fdFeuu1i84iOgQE=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=B6cK24cqJh2UiFNYl/yjuK3oIjNR/oVGvmZX/wv2OQKjkg8/ztRfe13VfMyofV0I4m 9tk89OfPEjdljzQwSPhkEUqYGrsLWELxF5xVZO29JnOTJ9f6cxABkDjvzcolZEXEri4+ 6z85Gjj3bkPtfuOoWtjK5E45ekt/XAxQQY5YA=
The revision number is correct - you are in the development branch
where I applied the fix.
Regarding PGI, I don't have the compiler myself and right now I am
unable to find out on the web which methods are used for aligned
memory management (src\Core\util\Memory.h,
free/_mm_free/_aligned_free,...). As soon as you can provide us with
the information I can easily patch Eigen.
Until then, the only chance to compile Eigen is disabling
vectorization by defining EIGEN_DONT_VECTORIZE. Well, assuming there
don't occur any other errors... ;)
- Hauke
On Tue, Feb 23, 2010 at 2:51 PM, Philippe Marti
<philippe.marti@xxxxxxxxx> wrote:
> Hello,
>
> I hope that's the right information, I'm not used to mercurial:
>
> hg identify:
> a2598077ebca tip
>
>
> For the PGI compiler:
> pgCC 9.0-4 64-bit
>
> Regards,
> Philippe
> On Tue, Feb 23, 2010 at 1:49 PM, Aron Ahmadia <aja2111@xxxxxxxxxxxx> wrote:
>> Hi Philippe,
>>
>> Can you verify the hg version of Eigen that you are working from and
>> the error again? I don't have access to a PGI compiler here but you
>> may as well note the version number of the compiler :)
>>
>> A
>>
>> On Tue, Feb 23, 2010 at 1:07 PM, Philippe Marti
>> <philippe.marti@xxxxxxxxx> wrote:
>>> Well ok, compiling the tests works fine with and the first tests
>>> passed (interrupted afterwards as I'm not supposed to run to heavy
>>> stuff on the login nodes)
>>>
>>> And I get the error posted previously for PGI.
>>>
>>> Oh and it also works for Pathscale. Just PGI is complaining.
>>>
>>> Thanks,
>>> Philippe
>>>
>>> On Tue, Feb 23, 2010 at 12:41 PM, Philippe Marti
>>> <philippe.marti@xxxxxxxxx> wrote:
>>>> Oh, Wait before you start digging to deep. It's a little bit messy
>>>> here to get to load the right compilers/library etc on the cluster. I
>>>> might have forgotten something.
>>>>
>>>> I'll check that the gcc version is working
>>>>
>>>> regards,
>>>> Philippe
>>>>
>>>> On Tue, Feb 23, 2010 at 12:38 PM, Hauke Heibel
>>>> <hauke.heibel@xxxxxxxxxxxxxx> wrote:
>>>>> This error is a little bit odd. It means that you have defined
>>>>> EIGEN_VECTORIZE_SSE (see src/core/util/Memory.h) and thus you should
>>>>> have included 'xmmintrin.h' (see Core) where (at least AFAIK) _mm_free
>>>>> and _mm_malloc are declared as external or included via 'malloc.h'.
>>>>>
>>>>> As I said, I am a little bit at a loss...
>>>>>
>>>>> - Hauke
>>>>>
>>>>> On Tue, Feb 23, 2010 at 12:21 PM, Philippe Marti
>>>>> <philippe.marti@xxxxxxxxx> wrote:
>>>>>> The default branch is the 3.0 one right?
>>>>>>
>>>>>> I tried the to compile the tests with PGI, here are the first errors
>>>>>> (not sure about what you need):
>>>>>>
>>>>>> "/users/pmarti/tmp/ei3/eigen/Eigen/src/Core/util/Memory.h", line 94: error:
>>>>>> identifier "_mm_malloc" is undefined
>>>>>> result = _mm_malloc(size, 16);
>>>>>> ^
>>>>>>
>>>>>> "/users/pmarti/tmp/ei3/eigen/Eigen/src/Core/util/Memory.h", line 165: error:
>>>>>> identifier "_mm_free" is undefined
>>>>>> _mm_free(ptr);
>>>>>> ^
>>>>>>
>>>>>> "/users/pmarti/tmp/ei3/eigen/Eigen/src/Core/arch/SSE/PacketMath.h",
>>>>>> line 142: warning:
>>>>>> controlling expression is constant
>>>>>> { ei_assert(false && "packet integer division are not supported by SSE");
>>>>>> ^
>>>>>>
>>>>>> "/users/pmarti/tmp/ei3/eigen/Eigen/src/Core/arch/SSE/PacketMath.h",
>>>>>> line 247: error:
>>>>>> identifier "_mm_cvtss_f32" is undefined
>>>>>> template<> EIGEN_STRONG_INLINE float ei_pfirst<Packet4f>(const
>>>>>> Packet4f& a) { return _mm_cvtss_f32(a); }
>>>>>>
>>>>>> ^
>>>>>>
>>>>>> "/users/pmarti/tmp/ei3/eigen/Eigen/src/Core/arch/SSE/PacketMath.h",
>>>>>> line 248: error:
>>>>>> identifier "_mm_cvtsd_f64" is undefined
>>>>>> template<> EIGEN_STRONG_INLINE double ei_pfirst<Packet2d>(const
>>>>>> Packet2d& a) { return _mm_cvtsd_f64(a); }
>>>>>>
>>>>>> Philippe
>>>>>>
>>>>>> On Tue, Feb 23, 2010 at 11:38 AM, Hauke Heibel
>>>>>> <hauke.heibel@xxxxxxxxxxxxxx> wrote:
>>>>>>> I tried to fix the aligned issue in the default branch. You may try to
>>>>>>> grab that version and give it a shot.
>>>>>>>
>>>>>>> - Hauke
>>>>>>>
>>>>>>> On Tue, Feb 23, 2010 at 11:23 AM, Philippe Marti
>>>>>>> <philippe.marti@xxxxxxxxx> wrote:
>>>>>>>> PGI: pgCC 9.0-4 64-bit target on x86-64 Linux
>>>>>>>>
>>>>>>>>
>>>>>>>> "/users/pmarti/Documents/Code/git/FSDynamoCode/External/eigen/Eigen/src/Core/util/Macros.h",
>>>>>>>> line 193: catastrophic error:
>>>>>>>> #error directive: Please tell me what is the equivalent of
>>>>>>>> __attribute__((aligned(16))) for your compiler
>>>>>>>> #error Please tell me what is the equivalent of
>>>>>>>> __attribute__((aligned(16))) for your compiler
>>>>>>>> ^
>>>>>>>>
>>>>>>>> 1 catastrophic error detected in the compilation of
>>>>>>>> "/users/pmarti/Documents/Code/git/FSDynamoCode/Programs/ThermalConvectionRun.cpp".
>>>>>>>> Compilation terminated.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>