Status
Jeffrey D. Oldham
oldham at codesourcery.com
Tue Aug 24 01:27:29 UTC 2004
Richard Guenther wrote:
> Apart from the "Fix reductions for MPI operation" patch everything
> necessary seems to be committed. We're all seeing
> Field/ExpressionTest failing since a while - I'm currently
> investigating the reason and my brain is hurting trying to
> second-guess what is taking what view in which case :) The good news
> is, I have a workaround for applying to
> the testcase (apart from disabling the failing part again). It's
> appended below. The bad news is, I don't know yet what is going wrong.
>
> Richard.
The failure first occurred 20Jul. It occurs on an assertion in
src/Field/Field.h, line 443. If I remember correctly, it was because of
a sizable patch you committed, but I did not remember more. :( It might
be this patch:
http://www.codesourcery.com/archives/pooma-dev/msg01707.html .
I would prefer to fix the problem, not apply a bandage. If you can
argue that the code below is wrong and this patch fixes it, we can use
this patch. Otherwise, let's get Pooma right first.
>------------------------------------------------------------------------
>
>Index: ExpressionTest.cpp
>===================================================================
>RCS file: /home/pooma/Repository/r2/src/Field/tests/ExpressionTest.cpp,v
>retrieving revision 1.3
>diff -u -u -r1.3 ExpressionTest.cpp
>--- ExpressionTest.cpp 19 Jul 2004 18:20:41 -0000 1.3
>+++ ExpressionTest.cpp 23 Aug 2004 19:18:50 -0000
>@@ -257,12 +257,12 @@
> Centering<Dim> inputCentering_m;
> };
>
>-template <class M, class T, class E, class Dom>
>-typename FieldStencilSimple<TwoPt<M::dimensions>, typename View1<Field<M,T,E>, Dom>::Type_t >::Type_t
>-twoPt(const Field<M,T,E>& expr, const Dom &domain)
>+template <class F>
>+typename FieldStencilSimple<TwoPt<F::dimensions>, F>::Type_t
>+twoPt(const F& expr)
> {
>- typedef FieldStencilSimple<TwoPt<M::dimensions>, typename View1<Field<M,T,E>, Dom>::Type_t > Ret_t;
>- return Ret_t::make(TwoPt<M::dimensions>(expr), expr(domain));
>+ typedef FieldStencilSimple<TwoPt<F::dimensions>, F> Ret_t;
>+ return Ret_t::make(TwoPt<F::dimensions>(expr), expr);
> }
>
> template<class A1,class A2,class A3,class A4, class AInit>
>@@ -290,7 +290,7 @@
> a2(i) = initial(i) + a1(i-1) + a1(i);
> }
>
>- a4(I) = initial(I) + twoPt(a3, I);
>+ a4(I) = initial(I) + twoPt(a3)(I);
>
> Pooma::blockAndEvaluate();
>
>@@ -322,7 +322,7 @@
> a2(i) = initial(i) + 1.0 + a1(i-1) + 1.0 + a1(i);
> }
>
>- a4(I) = initial(I) + twoPt(1.0 + a3, I);
>+ a4(I) = initial(I) + twoPt(1.0 + a3)(I);
>
> Pooma::blockAndEvaluate();
>
>@@ -464,7 +464,7 @@
> test1(tester, 1, ca1, ca2, ca3, ca4, cinit, cellInterior);
> // test2(tester, 2, ca1, ca2, ca3, ca4, cinit, cellInterior);
> test3(tester, 3, ca1, ca2, ca3, ca4, cinit, cellInterior);
>- //test4(tester, 4, ca1, ca2, ca3, ca4, cinit, cellInterior);
>+ // test4(tester, 4, ca1, ca2, ca3, ca4, cinit, cellInterior);
>
>
> int ret = tester.results("ExpressionTest");
>
>
--
Jeffrey D. Oldham
oldham at codesourcery.com
More information about the pooma-dev
mailing list