From: Ian S. <ian...@st...> - 2008-02-29 11:28:43
|
Hi, Does anybody know why vnl_test_alignment is failing on some platforms on the Dashboard? I wrote the test a few months ago, and I'm ashamed to say I don't remember checking that it passed on all dashboard platforms when I wrote it. The test was designed to pave the way for a fix of the SSE optimisations for VNL (currently disabled.) The failing platforms do not appear to be using SSE according to their notes files, but I can't think of any other reason why those test would fail. My own "Linux 2.6 gcc 4.0.2 x64 -O2" and "MSVC 8.0" builds work fine. The tests basically try to do a set of vec-vec and vec-matrix functions reading and writing data at various offsets in memory. All the offsets are still 4-byte aligned so I am a bit stumped as to the reason for the failures. I'm off work next week, but if no body has any ideas I will start doing debugging via the dashboard sometime after I get back. Ian. |
From: Matt L. <mat...@gm...> - 2008-02-29 14:18:22
|
Ian, The test also passes on my machine as long as SSE2 is disabled. However, when SSE2 is enabled various parts of the test that do not have alignment issues start to fail. The parts that do have alignment issues cause the test to crash. After closer inspection of the failing test statements, it seems that they are failing because the tolerance is just a little too small in some cases. For example, the residual of a computation may be 8e^-7 when the tolerance is 5e^-7. This only happens occasionally, and the particular tests which fail vary from run to run because the inputs are random numbers. The dashboard builds that are failing seem to follow the same trend with different parts of test failing from day to day. So I would imagine that these failures are related to tolerances. --Matt On Fri, Feb 29, 2008 at 6:28 AM, Ian Scott <ian...@st...> wrote: > Hi, > > Does anybody know why vnl_test_alignment is failing on some platforms on > the Dashboard? > > I wrote the test a few months ago, and I'm ashamed to say I don't > remember checking that it passed on all dashboard platforms when I wrote > it. The test was designed to pave the way for a fix of the SSE > optimisations for VNL (currently disabled.) The failing platforms do not > appear to be using SSE according to their notes files, but I can't think > of any other reason why those test would fail. My own "Linux 2.6 gcc > 4.0.2 x64 -O2" and "MSVC 8.0" builds work fine. > > The tests basically try to do a set of vec-vec and vec-matrix functions > reading and writing data at various offsets in memory. All the offsets > are still 4-byte aligned so I am a bit stumped as to the reason for the > failures. > > I'm off work next week, but if no body has any ideas I will start doing > debugging via the dashboard sometime after I get back. > > Ian. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Vxl-maintainers mailing list > Vxl...@li... > https://lists.sourceforge.net/lists/listinfo/vxl-maintainers > |
From: Amitha P. <ami...@us...> - 2008-02-29 17:52:42
|
Since this test is about alignment and not about floating point accuracy, I suggest using fixed data for the test values. Maybe fill the vectors with 1..N. Since floating point numbers can exactly represent small enough integers, the tests won't need tolerances. If you are also concerned about whether a floating point computation through the SSE pathway generates the same results as without SSE, I think a different test specifically for that is warranted. (BTW, when someone wants to really start looking into fixing the SSE issues, we could turn SSE on by default only for dashboard builds.) |