Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [MANTA] unaligned access problem on fisher


Chronological Thread 
  • From: Thiago Ize <thiago@cs.utah.edu>
  • To: manta@sci.utah.edu
  • Subject: Re: [MANTA] unaligned access problem on fisher
  • Date: Sun, 15 May 2005 15:03:24 -0600

Solomon Boulos wrote:

I recommend using -ffast-math as part of your compiler flags and seeing if it goes away ( the fast math versions of the libraries, will change a few modes for floating point, so if it does happen to be denormalized numbers this would go away ). If it doesn't go away, it might be due to things like the reciprocal square root calls, etc that the compiler might have chosen, but that at run time the floating point unit realizes won't be able to give an accurate answer ( see Intel Documentation here: http://www.intel.com/design/itanium/ downloads/24541501.pdf ).

I'm using the intel compiler, so -ffast-math doesn't exist. The equivalent of that for our purposes is -ftz which sets the tiny floats to zero rather than denormalizing them. On debug mode using -ftz gets rid of all the faults, but in O2 or O3 it doesn't, which means that the compiler is doing some optimizations, like the reciprocal sqr you mentioned, that is causing the problems.

To figure out how many of these floating point software assist exceptions are happening (since like you said the log is throttled), this guy seems to know how:

http://www.gelato.unsw.edu.au/linux-ia64/0411/11772.html

pfmon is available on fisher, so somebody (not me) should follow the instructions and see if this is a problem for manta.

Yeah, I saw that last night. Unfortunatly, pfmon on fisher doesn't seem to work with those suggested settings.

What does seem to work though is using prctl since you can make the faults generate a signal which gdb catches. For instance running:
             prctl --fpassist=sigfpe gdb bin/manta
gives:
             Program received signal SIGFPE, Arithmetic exception.
             0x4000000000018182 in mapValues () at CheckerTexture.cc:37
             37            double vv1 = Dot(e.texCoords, v1);

of course I'm having trouble looking at those values in gdb and if I put a cout<< above line 37 I don't get the fault...

Solomon

Thiago

On May 15, 2005, at 3:05 PM, Thiago Ize wrote:

Every single time I run manta on fisher I get this. Try it yourself. Connect to fisher, type dmesg and make a note of what the last thing is so you know what messages you'll be adding to the list (I already put a ton on there), then just run manta with all the default options for a couple seconds. Quit, and run dmesg.

I should point out that these messages are throttled so that only 4 or 5 are logged every second. So we could potentially be having thousands or millions of these happening every second...

Thiago

James Bigler wrote:


Ok, not much we can do about openGL. Incidently, I don't get those messages when I connect to fisher from my home computer...



Different X server, perhaps?


There is another software trap I noticed though. If you run manta and then look in dmesg, you'll see it's getting:
manta(13450): floating-point assist fault at ip 4000000000018181, isr 0000020000000008
errors on fisher.

I tried passing -ftz when compilling, but I still get these messages which means either I did something wrong, it's not denormalized numbers, or it's in some outside library. Any idea on these? I read that each software trap costs abouts 1000 instr...



I haven't seen this one before.  Can you reproduce it?

James


James Bigler wrote:


This happens with OpenGL. It doesn't affect anything that I can tell in using the port for over 2 years. Just disregard it.

James

Thiago Ize wrote:


When I run manta on fisher I get the following message: manta(11958): unaligned access to 0x200000000155c05c, ip=0x200000000097f0f0
I'm guessing this is causing a performance hit...

I have ccmake using ipcp and icc to compile the code, but aside from that I believe I'm using the default settings for everything else. Any ideas why this might be happening?

Thiago






Archive powered by MHonArc 2.6.16.

Top of page