Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [Manta] Compile issues


Chronological Thread 
  • From: "Christian Odom" <cnsodom@gmail.com>
  • To: "Ingo Wald" <wald@sci.utah.edu>
  • Cc: "Abe Stephens" <abe@sci.utah.edu>, MANTA <manta@sci.utah.edu>
  • Subject: Re: [Manta] Compile issues
  • Date: Fri, 24 Aug 2007 15:32:22 -0500
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=YWXHS6Cgu+mJ8bknpFuLDgxhC94UyiT0lSTbTyytHVetkBgyTTIZ8E+LWGlVuJiOAl5kV5MYutPvLFzTJy7KNOwnDlaTGMjOT2HOHsmzHxAHFRukGf/ENrKXgqFKox+pzsAWYNXOqW1/i19MjZUMp3ezXDmzlMcL7sP7SxkmnQI=


  Hi All,

we replaced all __m128&, __m128i&, sse_t& and sse_int_t& by their value versions, and that helped a little bit. But Noise.cc still crashed. So we stripped it down to

#include < emmintrin.h>

__m128 crash(void)
{
    return _mm_castsi128_ps(_mm_set1_epi32(1));
}

which results in

Unexpected RDECL: 0x6000000000f100f0 passed to sse_Get_Intrin_Rdecl
(0): internal error: 0_1141

Never having used SSE this seems surprising. Can anybody see a problem with the above?

If not we'll send it as an error case to Intel. Not sure how much it would help, but it seems fairly fundamental, and too much for us to remove from Manta in general.

Thanks

   Dirk & Christian


On 8/23/07, Ingo Wald <wald@sci.utah.edu> wrote:
Not sure if it's the same compiler version, but at least "back then"
when I last played with icc on IA64, the compiler always died as soon as
you has a a reference to an sse-type (__m128 &).

Cheers,

Ingo



Abe Stephens wrote:

> It is clear that no one has built in IA64 for quite some time:
>
> The problem in CPUTime.cc (appearing in both icc and gcc) is due to
> non-portable assembly code being used.  I'm not sure where CPUTime is
> used, possibly in the deadline image traverser.  I also discovered
> compilation problems in TesselatedCylinder (vla/pod error) and other
> new code.
>
> It appears that some code in RayPacket.h causes the IA64 icc to
> segfault. It appears to be SSE related as the files compile if SSE is
> disabled.  This might take some time to track down (by enabling
> MANTA_SSE and then explicitly disabling it for different sections of
> the header).
>
> I'd like very much for Manta to continue to build on Altix/SSE, but I
> don't have a large number of free cycles right now to find the
> offending code. It's likely that there is some intrinsic which is
> causing the issue and could be inclosed in a #if __ia64__ block.
>
> If you could help isolate where it is, I will certainly help fix it
> where it occurs.
>
> Abe
>
> On Aug 23, 2007, at 12:47 PM, Christian Odom wrote:
>
>>
>>
>> On 8/23/07, *Abe Stephens* <abe@sci.utah.edu
>> <mailto:abe@sci.utah.edu>> wrote:
>>
>>
>>     Which source file causes the icc internal error? It looks like
>>     icpc 9.0 segfaults when compiling CheapRNG.cc. (Unfortunately I
>>     don't have icc ia64 10.0 here...)
>>
>> Here is the output from make->
>> //////////////////////////////////////////////////////////////////////////////
>> [ 13%] Building CXX object Core/CMakeFiles/Manta_Core.dir/Math/CheapRNG.o
>> (0): internal error: backend signals
>>
>> compilation aborted for /store/toolkit/Manta/Core/Math/CheapRNG.cc
>> (code 4)
>> make[2]: *** [Core/CMakeFiles/Manta_Core.dir/Math/CheapRNG.o] Error 4
>> make[1]: *** [Core/CMakeFiles/Manta_Core.dir/all] Error 2
>> make: *** [all] Error 2
>> //////////////////////////////////////////////////////////////////////////////
>> It still seems to be CheapRNG
>>
>>     The gcc problem is certainly fixable by using separate code on
>>     IA64.  Back in the day icc was much, much faster than gcc--I'd
>>     imagine that is still the case today. Let's try to figure out
>>     what code is causing problems with icc before switching to gcc.
>>
>>     Abe
>>
>>     On Aug 23, 2007, at 12:10 PM, Christian Odom wrote:
>>
>>>     Hi guys
>>>
>>>     Im running into a couple of compile errors on our ia64 platforms
>>>     when trying to compile  Rev: 1678.
>>>
>>>     With icc 10.0 we are still getting the dreaded->
>>>     (0):  internal error: backend signals
>>>     //////////////////////////////////////////////////////////////////////////////
>>>
>>>
>>>     When using gcc 4.1.2 Im getting this mess->
>>>
>>>     /store/toolkit/Manta/Core/Util/CPUTime.cc: In static member
>>>     function `static
>>>     long long unsigned int Manta::CPUTime::currentTicks()':
>>>     /store/toolkit/Manta/Core/Util/CPUTime.cc:90: error: impossible
>>>     register
>>>     constraint in `asm'
>>>     /store/toolkit/Manta/Core/Util/CPUTime.cc:90: error: impossible
>>>     register
>>>     constraint in `asm'
>>>     /store/toolkit/Manta/Core/Util/CPUTime.cc:90: error: impossible
>>>     register
>>>     constraint in `asm'
>>>     /store/toolkit/Manta/Core/Util/CPUTime.cc:93: error:
>>>     unrecognizable insn:
>>>     (insn 28 40 55 2 0x2000000001631860 (parallel [
>>>     (set (reg:SI 2 r2)
>>>     (asm_operands/v:SI ("rdtsc") ("=a") 0 []
>>>     [] ("/store/toolkit/Manta/Core/Util/CPUTime.cc") 90))
>>>     (set (reg:SI 15 r15)
>>>     (asm_operands/v:SI ("rdtsc") ("=d") 1 []
>>>     [] ("/store/toolkit/Manta/Core/Util/CPUTime.cc") 90))
>>>     ]) -1 (insn_list:REG_DEP_ANTI 15 (insn_list 14 (insn_list 12
>>>     (insn_list 10 (insn_list 20 (nil))))))
>>>     (nil))
>>>     /store/toolkit/Manta/Core/Util/CPUTime.cc:93: confused by
>>>     earlier errors, bailing out
>>>     gmake[2]: *** [Core/CMakeFiles/Manta_Core.dir/Util/CPUTime.o]
>>>     Error 1
>>>     gmake[1]: *** [Core/CMakeFiles/Manta_Core.dir/all] Error 2
>>>     gmake: *** [all] Error 2
>>>     //////////////////////////////////////////////////////////////////////////////
>>>
>>>     I dont know if there is any hope for the icc compiler, but any
>>>     thoughts on the gcc issue would be awesome.
>>>     --
>>>     Christian Odom
>>>     Graduate Student
>>>     Center for Advanced Computer Studies
>>>     http://www.cacs.louisiana.edu < http://www.cacs.louisiana.edu>
>>>     Louisiana Immersive Technologies Enterprise
>>>     http://www.lite3d.com
>>
>>
>>
>>
>>
>> --
>> Christian Odom
>> Graduate Student
>> Center for Advanced Computer Studies
>> http://www.cacs.louisiana.edu
>> Louisiana Immersive Technologies Enterprise
>> http://www.lite3d.com
>
>




--
Christian Odom
Graduate Student
Center for Advanced Computer Studies
http://www.cacs.louisiana.edu
Louisiana Immersive Technologies Enterprise
http://www.lite3d.com


Archive powered by MHonArc 2.6.16.

Top of page