freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [pooma-dev] GCC 3.2 on Redhat 8.0--a fair number of compiler warnin


From: George Talbot
Subject: RE: [pooma-dev] GCC 3.2 on Redhat 8.0--a fair number of compiler warnings?
Date: 25 Apr 2003 11:56:13 -0400

For an initial test, I use Array<2, double, Brick> for uniprocessor with
GCC 3.2.  It's half the speed of doing it manually with for() loops over
an array:

Uniprocessor, Array<2, double, Brick>:

address@hidden diffusion_test]$ time ./test 1 500 1000
processors=1 avgs=500 n=1000
Center position: 0.478062

real    1m21.110s
user    1m19.592s
sys     0m0.180s

Uniprocessor, hand-coded:

address@hidden diffusion_test]$ time ./test 1 500 1000
processors=1 avgs=500 n=1000
Center position: 0.478062

real    0m31.614s
user    0m31.160s
sys     0m0.078s

Dual-processor, Array<2, double, MultiPatch<...> >:

address@hidden diffusion_test]$ time ./test -shmem -np 2 2 500 1000
processors=2 avgs=500 n=1000
Center position: 0.478062

real    0m45.722s
user    1m23.373s
sys     0m0.844s

Problem number one for me at this point is that Array<2, double, Brick>
is half the speed of the hand-coded loop.

I didn't do any loop jamming or anything in the hand-coded version. 
Just straight loops.

I wasn't expecting that, and I get the feeling that GCC 3.2 is failing
to inline something.  I've downloaded icc 7.1 and was going to give that
a shot after lunch.  I've also been told that GCC 3.3 "does the right
thing" when you bump up the max # inlined function instructions to about
300 or so, but I'm leery of installing it just yet, unless there's an
RPM for RH8.0 I could get somewhere.

I'm not using MPI yet.  I'm using shared memory via that MM package from
the POOMA II web page.  I've compiled POOMA w/Cheetah, MPICH and MM, but
have only been able to run it uniprocessor and MM, as there was a
configuration problem on the cluster when I tried to mpirun it on
Wednesday.  (i.e. "mpirun" wasn't installed but the man page was, DOH!) 
The IT guy is working on that problem and I'll try this thing out on
there at some point soon.

--George

P.S.  Just out of personal curiosity, how come the ACL Pooma team left
Los Alamos?  Where did they go?

On Fri, 2003-04-25 at 11:38, James Crotinger wrote:
> I don't know where GCC 3.2 is with respect to optimizing Pooma. In the
> past we used GCC for development but not production as it could not
> peel away sufficient layers of inlining to achieve hand-coded speed.
> At the time that the ACL Pooma team left Los Alamos, only KCC and SGI
> CC could do a good job of optimizing Pooma. I would assume that icc
> can also do this, but someone else will have to confirm this. 
> 
> Note that if the hand-coded version is assuming a single patch of
> memory for the entire calculation domain, then it is definitely not a
> fair comparison to compare that to the MultiPatch Pooma version. Our
> goal was to make Array<Dim,T,Brick> work as fast as hand-coded
> single-patch loops. Even then there are ways to write hand-coded loops
> to be faster - for instance, loop-jamming (doing two array expressions
> in a single loop) can result in huge savings in some instances. Some
> of this performance can be recovered with stencil/scalar type code,
> but at a loss of clarity. 
> 
> Are you using SMARTS for parallel execution? (You imply that you're
> not using MPI yet). 
> 
>         Jim
> 
> ------------------------------------------------------------------------
> James A. Crotinger                           email:    
> address@hidden
> NumeriX, LLC                                 phone:  (505) 424-4477
> x104
> 2960 Rodeo Park Dr. W.
> Santa Fe, NM 87505
>  
> 
> -----Original Message-----
> From: George Talbot [mailto:address@hidden 
> Sent: Friday, April 25, 2003 8:22 AM
> To: 'address@hidden'
> Subject: Re: [pooma-dev] GCC 3.2 on Redhat 8.0--a fair number of
> compiler warnings?
> 
> Not so good news.  So I went back to the hand-coded program and
> reversed
> the indices, indexing x in the inner loop and y in the outer to
> reflect
> the memory layout of the array.  Now the hand-coded variant is twice
> as
> fast as the equivalent POOMA program.  This is with GCC 3.2. 
> Distributing it among the two processors on my workstation doesn't
> bring
> the performance up to the single-processor hand-coded version.
> 
> I will try today to beat the hand-coded program with MPI over more
> than
> two processors.  However, I would like to know something.  Is the
> diffusion example from the book a realistic example to show the
> performance of POOMA vs. hand-coded stuff?  I need to be able to
> describe the break-even point where a POOMA app will outperform a
> uniprocessor app.  Of course, I probably need to try to apply it to
> one
> of my in-house programs to be realistic, but I was hoping that someone
> on the list could suggest a particular demonstration program that
> would
> show POOMA outperforming a uniprocessor hand-coded implementation.
> 
> --George
> 
> 
> On Wed, 2003-04-23 at 16:10, George Talbot wrote:
> > Hi,
> > 
> > New POOMA II user.  Got everything to compile and link today.  The
> > performance of this stuff is shocking.
> > 
> > I ran a hand coded version of your 2D diffusion program on my box
> for
> > 250 steps, 800x800 array.  1m34s, uniprocessor.
> > 
> > Using a stencil, same box, uniprocessor.  25s.  WOW.
> > 
> > Using -shmem -np 2 to distribute the shared array version on both of
> my
> > processors on my box.  12s.  Truly amazing.  I think this may be a
> > dramatically useful tool.
> > 
> > The only thing that irks me a bit is that there are a fair number of
> > compiler warnings, which I will append, along with the source I
> used, to
> > this e-mail.  Is this normal?  Swimming in a sea of warnings from
> the
> > POOMA headers, I might miss some on my own code...
> > 
> > Take care.
> > 
> > --
> > George T. Talbot
> > <address@hidden>
> > 
> > Here's the program:
> > 
> > #include <iostream>
> > using namespace std;
> > 
> > #define STENCIL
> > #define POOMA
> > #define DISTRIBUTED
> > 
> > #ifdef POOMA
> > #include "Pooma/Arrays.h"
> > #endif
> > 
> > #ifdef STENCIL
> > class NinePtDiffusion
> > {
> > public:
> >     template <class C>
> >     inline typename C::Element_t operator()(const C& c, int I, int
> J)
> > const
> >     {
> >         return (1.0/9.0) *
> >                     (c.read(I+1, J+1) + c.read(I+1, J  ) +
> c.read(I+1,
> > J-1) +
> >                      c.read(I  , J+1) + c.read(I  , J  ) + c.read(I 
> ,
> > J-1) +
> >                      c.read(I-1, J+1) + c.read(I-1, J  ) +
> c.read(I-1,
> > J-1));
> >     }
> >     
> >     inline int lowerExtent(int) const { return 1; }
> >     inline int upperExtent(int) const { return 1; }
> > };
> > #endif
> > 
> > int main(int argc, char* argv[])
> > {
> > #ifdef POOMA
> >     Pooma::initialize(argc, argv);
> > #endif
> > 
> >     long    numAveragings = 250, numSteps;
> > 
> >     numSteps    = (numAveragings+1)/2;
> > 
> >     long    n = 800;
> > 
> >     long    numProcessors=2;
> > 
> > #ifdef POOMA
> >     Inform  output;
> >     
> >     output << "processors=" << numProcessors
> >            << " avgs=" << numAveragings
> >            << " n=" << n
> >            << endl;
> > #else
> >     cout << "processors=" << numProcessors
> >          << " avgs=" << numAveragings
> >          << " n=" << n
> >          << endl;
> > #endif
> > 
> > #ifdef POOMA
> >     Interval<1> N(0, n-1);
> >     Interval<2> problemDomain(N, N);
> > 
> >     Interval<1> I(1, n-2);
> >     Interval<1> J(1, n-2);
> >     Interval<2> interiorDomain(I, I);
> > 
> > #ifdef DISTRIBUTED
> >     UniformGridPartition<2>
> > partition(Loc<2>(numProcessors,numProcessors), GuardLayers<2>(1),
> > GuardLayers<2>(0));
> >     UniformGridLayout<2>    layout(problemDomain, partition,
> > DistributedTag());
> > 
> >     Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >  
> > a(layout);
> >     Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >  
> > b(layout);
> > #else
> >     Array<2, double, Brick> a(problemDomain);
> >     Array<2, double, Brick> b(problemDomain);
> > #endif
> > 
> >     a = b = 0.0;
> > 
> >     Pooma::blockAndEvaluate();
> >     b(n/2, n/2) = 1000.0;
> > 
> > #ifdef STENCIL
> >     Stencil<NinePtDiffusion>    diffusion;
> > #endif
> > 
> > #else
> >     double  a[n][n], b[n][n];
> > 
> >     for (long x=1; x<n-1; x++)
> >     {
> >         for (long y=1; y<n-1; y++)
> >         {
> >             a[x][y] = b[x][y] = 0.0;
> >         }
> >     }
> >     
> >     b[n/2][n/2] = 1000.0;
> > #endif
> > 
> >     const double    weight = 1.0/9.0;
> > 
> >     for (long i=0; i<numSteps; i++)
> >     {
> > #ifdef STENCIL
> >         a(interiorDomain)   = diffusion(b, interiorDomain);
> >         b(interiorDomain)   = diffusion(a, interiorDomain);
> > #elif defined (POOMA)
> >         a(I,J)  = weight *
> >                     (b(I+1, J+1) + b(I+1, J  ) + b(I+1, J-1) +
> >                      b(I  , J+1) + b(I  , J  ) + b(I  , J-1) +
> >                      b(I-1, J+1) + b(I-1, J  ) + b(I-1, J-1));
> > 
> >         b(I,J)  = weight *
> >                     (a(I+1, J+1) + a(I+1, J  ) + a(I+1, J-1) +
> >                      a(I  , J+1) + a(I  , J  ) + a(I  , J-1) +
> >                      a(I-1, J+1) + a(I-1, J  ) + a(I-1, J-1));
> > #else
> >         for (long x=1; x<n-1; x++)
> >         {
> >             for (long y=1; y<n-1; y++)
> >             {
> >                 a[x][y]  = weight *
> >                             (b[x+1][y+1] + b[x+1][y]   + b[x+1][y-1]
> +
> >                              b[x]  [y+1] + b[x]  [y]   + b[x]  [y-1]
> +
> >                              b[x-1][y+1] + b[x-1][y]   +
> b[x-1][y-1]);
> >             }
> >         }
> > 
> >         for (long x=1; x<n-1; x++)
> >         {
> >             for (long y=1; y<n-1; y++)
> >             {
> >                 b[x][y]  = weight *
> >                             (a[x+1][y+1] + a[x+1][y]   + a[x+1][y-1]
> +
> >                              a[x]  [y+1] + a[x]  [y]   + a[x]  [y-1]
> +
> >                              a[x-1][y+1] + a[x-1][y]   +
> a[x-1][y-1]);
> >             }
> >         }
> > #endif
> >     }
> > 
> > #ifdef POOMA
> >     Pooma::blockAndEvaluate();
> >     
> >     output << "Center position: " << a(n/2, n/2) << endl;
> > 
> >     Pooma::finalize();
> > #else
> >     cout << "Center position: " << a[n/2][n/2] << endl;
> > #endif
> > 
> >     return 0;
> > }
> > 
> > 
> > Here's the compiler warnings, plus the compiler command line:
> > 
> > g++ -c -pipe -Wall -W -O2 -D_REENTRANT  -DQT_NO_DEBUG
> > -DQT_THREAD_SUPPORT -I/usr/local/qt/mkspecs/default -I.
> > -I/usr/local/cots/cheetah/linux/src
> > -I/usr/local/cots/cheetah/linux/lib/g++-ex
> -I/usr/local/cots/pooma/src
> > -I/usr/local/cots/pooma/linux/lib/PoomaConfiguration
> > -I/usr/local/qt/include -o diffusion_test.o diffusion_test.cpp
> > In file included from /usr/local/cots/pooma/src/Pooma/Domains.h:42,
> >                  from
> >
> /usr/local/cots/pooma/src/Domain/DomainRemoveOverlap.h:32,                 
> from /usr/local/cots/pooma/src/Layout/SparseTileLayout.cpp:36,
> 
> >                  from
> > /usr/local/cots/pooma/src/Layout/SparseTileLayout.h:1201,
> >                  from
> > /usr/local/cots/pooma/src/Engine/IsValidLocation.h:55,
> >                  from
> /usr/local/cots/pooma/src/Array/PrintArray.h:57,
> >                  from /usr/local/cots/pooma/src/Array/Array.h:58,
> >                  from
> /usr/local/cots/pooma/src/Pooma/BrickArrays.h:42,
> >                  from
> /usr/local/cots/pooma/src/Pooma/UMPArrays.h:40,
> >                  from /usr/local/cots/pooma/src/Pooma/Arrays.h:39,
> >                  from diffusion_test.cpp:9:
> > /usr/local/cots/pooma/src/Domain/Grid.h: In copy constructor
> >    `Grid<1>::Grid(const Grid<1>&)':
> > /usr/local/cots/pooma/src/Domain/Grid.h:360: warning: base class
> `class
> >    Domain<1, DomainTraits<Grid<1> > >' should be explicitly
> initialized
> > in the
> >    copy constructor
> > In file included from /usr/local/cots/pooma/src/Pooma/Arrays.h:46,
> >                  from diffusion_test.cpp:9:
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h: In copy constructor
> >    `GatherContexts::GatherContextsData::GatherContextsData(const
> >    GatherContexts::GatherContextsData&)':
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1697: warning: base
> > class `
> >    class RefCounted' should be explicitly initialized in the copy
> > constructor
> > diffusion_test.cpp: In function `int main(int, char**)':
> > diffusion_test.cpp:100: warning: unused variable `const double
> weight'
> > In file included from
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1499,
> >                  from /usr/local/cots/pooma/src/Array/Array.h:108,
> >                  from diffusion_test.cpp:77:
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h: In copy
> > constructor
> >    `UniformGridLayout<Dim>::UniformGridLayout(const
> > UniformGridLayout<Dim>&)
> >    [with int Dim = 2]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:806:   instantiated
> from
> > `LayoutBaseViewData<Dim, Dim2, L>::LayoutBaseViewData(const L&,
> const
> > Domain<Dim, DT>&) [with DT = DomainTraits<Interval<2> >, int Dim =
> 2,
> > int Dim2 = 2, L = UniformGridLayout<2>]'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1368:   instantiated
> from
> > `UniformGridLayoutViewData<Dim,
> Dim2>::UniformGridLayoutViewData(const
> > UniformGridLayout<Dim2>&, const Domain<Dim, DT>&) [with DT =
> > DomainTraits<Interval<2> >, int Dim
> > = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1109:   instantiated
> from
> > `LayoutBaseView<Dim, Dim2, lvd>::LayoutBaseView(lvd*) [with int Dim
> = 2,
> > int Dim2 = 2, lvd = UniformGridLayoutViewData<2, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1499:   instantiated
> > from `UniformGridLayoutView<Dim,
> > Dim2>::UniformGridLayoutView(UniformGridLayoutViewData<Dim,
> > Dim2>::Layout_t&, const Domain<Dim2, DT>&) [with DT =
> > DomainTraits<Interval<2> >, int Dim = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:992:   instantiated
> from
> > `Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag, Dim2>
> > >::Engine(const Engine<Dim2,
> > T, MultiPatch<LayoutTag, PatchTag> >&, const Domain<Dim2, DT>&)
> [with DT
> > = DomainTraits<Interval<2> >, int Dim = 2, T = double, LayoutTag =
> > UniformTag, PatchTag = Remote<Brick>, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1457:   instantiated
> > from `Array<Dim, T, EngineTag>::Array(const Engine<Dim2, T2,
> > EngineTag2>&, const Initializer&) [with int Dim2 = 2, T2 = double,
> > EngineTag2 = MultiPatch<UniformTag, Remote<Brick> >, Initializer =
> > Interval<2>, int Dim = 2, T = double, EngineTag =
> > MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:676:   instantiated
> from
> > `static Array<View0<Array<D1, T1, E1> >::newDim, T,
> NewEngine<Array<D1,
> > T1, E1>::Engine_t, Array<D1, T1, E1>::Domain_t>::Type_t::Tag_t>
> > View0<Array<D1, T1, E1> >::make(const Array<D1, T1, E1>&) [with int
> Dim
> > = 2, T = double, EngineTag = MultiPatch<UniformTag, Remote<Brick>
> >]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1910:   instantiated
> > from `AltView0<Array<D1, T1, E1> >::Type_t Array<Dim, T,
> > EngineTag>::operator()() const [with int Dim = 2, T = double,
> EngineTag
> > = MultiPatch<UniformTag, Remote<Brick>
> > >]'/usr/local/cots/pooma/src/Engine/RemoteEngine.h:1909:  
> instantiated
> > from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const
> Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2,
> double,
> > ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:108:   instantiated from
> `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const
> RHS&)
> > const [with LHS
> > = Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >, RHS =
> > Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2504:   instantiated from
> `const
> > Array<D1, T1, E1>& assign(const Array<D1, T1, E1>&, const T1&, const
> > Op&) [with int Dim = 2, T = double, EngineTag =
> MultiPatch<UniformTag,
> > Remote<Brick> >, T1 = double, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2117:   instantiated from
> `const
> > Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> T1&)
> > const [with T1 = double, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:2105:   instantiated from
> > `Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> > Array<Dim, T, EngineTag>&) [with int Dim = 2, T = double, EngineTag
> =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > diffusion_test.cpp:77:   instantiated from here
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h:1831: warning:
> base
> > class
> >    `class Observer<UniformGridLayoutData<2> >' should be explicitly
> > initialized
> >    in the copy constructor
> > In file included from
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1519,
> >                  from diffusion_test.cpp:108:
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h: In constructor
> >    `LayoutBaseViewData<Dim, Dim2, L>::LayoutBaseViewData(const L&,
> const
> > LV&,
> >    const ViewIndexer<Dim, Dim2>&, const Domain<Dim, DT>&,
> > GuardLayers<Dim>,
> >    GuardLayers<Dim>) [with DT = DomainTraits<Interval<2> >, LV =
> >    UniformGridLayoutView<2, 2>, int Dim = 2, int Dim2 = 2, L =
> >    UniformGridLayout<2>]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1388:   instantiated
> from
> > `UniformGridLayoutViewData<Dim,
> Dim2>::UniformGridLayoutViewData(const
> > UniformGridLayoutView<Dim, Dim2>&, const Domain<Dim, DT>&) [with DT
> =
> > DomainTraits<Interval<2> >, int Dim = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1109:   instantiated
> from
> > `LayoutBaseView<Dim, Dim2, lvd>::LayoutBaseView(lvd*) [with int Dim
> = 2,
> > int Dim2 = 2, lvd = UniformGridLayoutViewData<2, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1519:   instantiated
> > from `UniformGridLayoutView<Dim, Dim2>::UniformGridLayoutView(const
> > UniformGridLayoutView<Dim, Dim2>&, const Domain<Dim, DT>&) [with DT
> =
> > DomainTraits<Interval<2> >, int Dim = 2, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1012:   instantiated
> > from `Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag, Dim2>
> > >::Engine(const Engine<Dim,
> > T, MultiPatchView<LayoutTag, PatchTag, Dim2> >&, const Domain<Dim,
> DT>&)
> > [with DT = DomainTraits<Interval<2> >, int Dim = 2, T = double,
> > LayoutTag = UniformTag, PatchTag = Remote<Brick>, int Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1457:   instantiated
> > from `Array<Dim, T, EngineTag>::Array(const Engine<Dim2, T2,
> > EngineTag2>&, const Initializer&) [with int Dim2 = 2, T2 = double,
> > EngineTag2 = MultiPatchView<UniformTag, Remote<Brick>, 2>,
> Initializer =
> > Interval<2>, int Dim = 2, T = double, EngineTag =
> > MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:676:   instantiated
> from
> > `static Array<View0<Array<D1, T1, E1> >::newDim, T,
> NewEngine<Array<D1,
> > T1, E1>::Engine_t, Array<D1, T1, E1>::Domain_t>::Type_t::Tag_t>
> > View0<Array<D1, T1, E1> >::make(const Array<D1, T1, E1>&) [with int
> Dim
> > = 2, T = double, EngineTag = MultiPatchView<UniformTag,
> Remote<Brick>,
> > 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1910:   instantiated
> > from `AltView0<Array<D1, T1, E1> >::Type_t Array<Dim, T,
> > EngineTag>::operator()() const [with int Dim = 2, T = double,
> EngineTag
> > = MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1909:   instantiated
> > from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const
> Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2,
> double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:108:   instantiated from `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const
> RHS&)
> > const [with LHS = Array<2, double, MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, RHS = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:2486:   instantiated from `const Array<D1, T1,
> E1>&
> > assign(const Array<D1, T1, E1>&, const Array<D2, T2, E2>&, const
> Op&)
> > [with int Dim = 2,
> > T = double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>,
> 2>,
> > int OtherDim = 2, OtherT = double, OtherEngineTag =
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > >, Op = OpAssign]'
> > diffusion_test.cpp:2117:   instantiated from `const Array<Dim, T,
> > EngineTag>& Array<Dim, T, EngineTag>::operator=(const T1&) const
> [with
> > T1 = Array<2, double, StencilEngine<NinePtDiffusion, Array<2,
> double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, int Dim = 2, T =
> > double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > diffusion_test.cpp:105:   instantiated from here
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1027: warning: member
> >    initializers for `ViewIndexer<2, 2> LayoutBaseViewData<2, 2,
> >    UniformGridLayout<2> >::indexer_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1010: warning:   and
> `long
> > int
> >    LayoutBaseViewData<2, 2, UniformGridLayout<2> >::id_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:871: warning:   will
> be
> >    re-ordered to match declaration order
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1040: warning: member
> >    initializers for `bool LayoutBaseViewData<2, 2,
> UniformGridLayout<2>
> >    >::subdomainsComputed_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:1021: warning:   and `
> >    GuardLayers<2> LayoutBaseViewData<2, 2, UniformGridLayout<2>
> >    >::internalGuards_m'
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:871: warning:   will
> be
> >    re-ordered to match declaration order
> > /usr/local/cots/pooma/src/Engine/Stencil.h: In constructor
> >    `StencilIntersector<Dim, Intersect>::StencilIntersector(const
> >    Interval<Dim>&, const Intersect&) [with int Dim = 2, Intersect =
> >    Intersector<2>]':
> > diffusion_test.cpp:863:   instantiated from `static int
> > LeafFunctor<Engine<D, T, StencilEngine<Function, Expression> >,
> > ExpressionApply<IntersectorTag<Intersect> > >::apply(const Engine<D,
> T,
> > StencilEngine<Function, Expression> >&, const
> > ExpressionApply<IntersectorTag<Intersect> >&) [with int D = 2, T =
> > double, S = NinePtDiffusion, E = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2>
> > >, Intersect = Intersector<2>]'
> > diffusion_test.cpp:2307:   instantiated from `static int
> > LeafFunctor<Array<D1, T1, E1>, ExpressionApply<Tag> >::apply(const
> > Array<D1, T1, E1>&, const ExpressionApply<Tag>&) [with int Dim = 2,
> T =
> > double, E = StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > >, Tag =
> > IntersectorTag<Intersector<2> >]'
> > diffusion_test.cpp:80:   instantiated from `static
> LeafFunctor<LeafType,
> > LeafTag>::Type_t ForEach<Expr, FTag, CTag>::apply(const Expr&, const
> > FTag&, const CTag&) [with Expr = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag =
> NullCombine]'
> > diffusion_test.cpp:88:   instantiated from `ForEach<Expr, FTag,
> > CTag>::Type_t forEach(const Expr&, const FTag&, const CTag&) [with
> Expr
> > = Array<2, double, StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag =
> > NullCombine]'
> > diffusion_test.cpp:276:   instantiated from `void
> expressionApply(const
> > A&, const Tag&) [with A = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Tag =
> > IntersectorTag<Intersector<2> >]'
> > diffusion_test.cpp:1914:   instantiated from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const
> Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2,
> double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:108:   instantiated from `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const
> RHS&)
> > const [with LHS = Array<2, double, MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, RHS = Array<2, double,
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, Op = OpAssign]'
> > diffusion_test.cpp:2486:   instantiated from `const Array<D1, T1,
> E1>&
> > assign(const Array<D1, T1, E1>&, const Array<D2, T2, E2>&, const
> Op&)
> > [with int Dim = 2,
> > T = double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>,
> 2>,
> > int OtherDim = 2, OtherT = double, OtherEngineTag =
> > StencilEngine<NinePtDiffusion, Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > >, Op = OpAssign]'
> > diffusion_test.cpp:2117:   instantiated from `const Array<Dim, T,
> > EngineTag>& Array<Dim, T, EngineTag>::operator=(const T1&) const
> [with
> > T1 = Array<2, double, StencilEngine<NinePtDiffusion, Array<2,
> double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> > > >, int Dim = 2, T =
> > double, EngineTag = MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > diffusion_test.cpp:105:   instantiated from here
> > /usr/local/cots/pooma/src/Engine/Stencil.h:844: warning: member
> > initializers
> >    for `Intersector<2> StencilIntersector<2, Intersector<2>
> > >::intersector_m'
> > /usr/local/cots/pooma/src/Engine/Stencil.h:843: warning:   and
> > `Interval<2>
> >    StencilIntersector<2, Intersector<2> >::domain_m'
> > /usr/local/cots/pooma/src/Engine/Stencil.h:788: warning:   will be
> > re-ordered
> >    to match declaration order
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h: In static
> > member
> >    function `static void DomainTraits<Interval<1> >::setDomain(int
> > (&)[2],
> >    const T1&, const T2&) [with T1 = int, T2 = unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Interval.h:369:   instantiated from
> > here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h:264:
> warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h: In static
> > member
> >    function `static void DomainTraits<Interval<1> >::setDomain(int
> > (&)[2],
> >    const T1&, const T2&) [with T1 = int, T2 = long unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Interval.h:377:   instantiated from
> > here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Interval.h:264:
> warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h: In static
> member
> >    function `static void DomainTraits<Range<1> >::setDomain(int
> (&)[3],
> > const
> >    T1&, const T2&) [with T1 = int, T2 = unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Range.h:396:   instantiated from
> here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h:239: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h: In static
> member
> >    function `static void DomainTraits<Range<1> >::setDomain(int
> (&)[3],
> > const
> >    T1&, const T2&) [with T1 = int, T2 = long unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Range.h:407:   instantiated from
> here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Range.h:239: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h: In static
> member
> > function
> >    `static void DomainTraits<Grid<1>
> >::setDomain(IndirectionList<int>&,
> > const
> >    T1&, const T2&) [with T1 = int, T2 = unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Grid.h:395:   instantiated from
> here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h:245: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h: In static
> member
> > function
> >    `static void DomainTraits<Grid<1>
> >::setDomain(IndirectionList<int>&,
> > const
> >    T1&, const T2&) [with T1 = int, T2 = long unsigned int]':
> > /usr/local/cots/pooma/src/Domain/Grid.h:404:   instantiated from
> here
> > /usr/local/cots/pooma/src/Domain/DomainTraits.Grid.h:245: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Engine/MultiPatchEngine.cpp: In copy
> > constructor
> >    `Engine<Dim, T, MultiPatch<LayoutTag, PatchTag> >::Engine(const
> > Engine<Dim,
> >    T, MultiPatch<LayoutTag, PatchTag> >&) [with int Dim = 2, T =
> double,
> >    LayoutTag = UniformTag, PatchTag = Remote<Brick>]':
> > /usr/local/cots/pooma/src/Engine/MultiPatchEngine.h:992:  
> instantiated
> > from `Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag, Dim2>
> > >::Engine(const Engine<Dim2, T, MultiPatch<LayoutTag, PatchTag> >&,
> > const Domain<Dim2, DT>&) [with DT = DomainTraits<Interval<2> >, int
> Dim
> > = 2, T = double, LayoutTag = UniformTag, PatchTag = Remote<Brick>,
> int
> > Dim2 = 2]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1457:   instantiated
> > from `Array<Dim, T, EngineTag>::Array(const Engine<Dim2, T2,
> > EngineTag2>&, const Initializer&) [with int Dim2 = 2, T2 = double,
> > EngineTag2 = MultiPatch<UniformTag, Remote<Brick> >, Initializer =
> > Interval<2>, int Dim = 2, T = double, EngineTag =
> > MultiPatchView<UniformTag, Remote<Brick>, 2>]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:676:   instantiated
> from
> > `static Array<View0<Array<D1, T1, E1> >::newDim, T,
> NewEngine<Array<D1,
> > T1, E1>::Engine_t, Array<D1, T1, E1>::Domain_t>::Type_t::Tag_t>
> > View0<Array<D1, T1, E1> >::make(const Array<D1, T1, E1>&) [with int
> Dim
> > = 2, T = double, EngineTag = MultiPatch<UniformTag, Remote<Brick>
> >]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:1910:   instantiated
> > from `AltView0<Array<D1, T1, E1> >::Type_t Array<Dim, T,
> > EngineTag>::operator()() const [with int Dim = 2, T = double,
> EngineTag
> > = MultiPatch<UniformTag, Remote<Brick>
> > >]'/usr/local/cots/pooma/src/Engine/RemoteEngine.h:1909:  
> instantiated
> > from `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const
> Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, RHS = Array<2,
> double,
> > ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:108:   instantiated from
> `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const
> RHS&)
> > const [with LHS
> > = Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >, RHS =
> > Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2504:   instantiated from
> `const
> > Array<D1, T1, E1>& assign(const Array<D1, T1, E1>&, const T1&, const
> > Op&) [with int Dim = 2, T = double, EngineTag =
> MultiPatch<UniformTag,
> > Remote<Brick> >, T1 = double, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2117:   instantiated from
> `const
> > Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> T1&)
> > const [with T1 = double, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:2105:   instantiated from
> > `Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> > Array<Dim, T, EngineTag>&) [with int Dim = 2, T = double, EngineTag
> =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > diffusion_test.cpp:77:   instantiated from here
> > /usr/local/cots/pooma/src/Engine/MultiPatchEngine.cpp:151: warning:
> base
> > class
> >    `class Observer<UniformGridLayout<2> >' should be explicitly
> > initialized in
> >    the copy constructor
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h: In member
> function
> > `int
> >    UniformGridLayoutData<Dim>::globalID(const Loc<Dim>&) const [with
> int
> > Dim =
> >    2]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:472:   instantiated
> from
> > `int LayoutBase<Dim, LBD>::globalID(const Loc<Dim>&) const [with int
> Dim
> > = 2, LBD = UniformGridLayoutData<2>]'
> > /usr/local/cots/pooma/src/Utilities/RefCountedBlockPtr.h:758:  
> > instantiated from `T& RefCountedBlockPtr<T, BoundsChecked,
> > Controller>::operator[](int) const [with T = Engine<2, double,
> > Remote<Brick> >, bool BoundsChecked = false, Controller =
> > RefBlockController<Engine<2, double, Remote<Brick> > >]'
> > /usr/local/cots/pooma/src/Engine/RemoteEngine.h:458:   instantiated
> from
> > `RemoteProxy<T> Engine<Dim, T, Remote<Tag> >::operator()(const
> > Loc<Dim>&) const [with int Dim = 2, T = double, Tag = Brick]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:1367:   instantiated
> from
> > `Engine<Dim, T, PatchTag>::ElementRef_t Engine<Dim, T,
> > MultiPatch<LayoutTag, PatchTag> >::operator()(const Loc<Dim>&) const
> > [with int Dim = 2, T = double, LayoutTag = UniformTag, PatchTag =
> > Remote<Brick>]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:166:   instantiated
> from
> > `static Array<D1, T1, E1>::ElementRef_t
> View1Implementation<Array<D1,
> > T1, E1>, Domain, true>::make(const Array<D1, T1, E1>&, const S1&,
> const
> > S2&, const Combine&) [with
> > S1 = long int, S2 = long int, Combine =
> CombineDomainOpt<NewDomain2<long
> > int, long int>, true>, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >, Domain = Loc<2>]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:823:   instantiated
> from
> > `static View1Implementation<Array<D1, T1, E1>, NewDomain2<Sub1,
> > Sub2>::SliceType_t, View2<Array<D1, T1, E1>, Sub1,
> Sub2>::sv>::Type_t
> > View2<Array<D1, T1, E1>, Sub1, Sub2>::make(const Array<D1, T1, E1>&,
> > const Sub1&, const Sub2&) [with int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >, Sub1 = long int,
> > Sub2 = long int]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:1926:   instantiated
> from
> > `View2<Array<Dim, T, EngineTag>, Sub1, Sub2>::Type_t Array<Dim, T,
> > EngineTag>::operator()(const Sub1&, const Sub2&) const [with Sub1 =
> long
> > int, Sub2 = long int, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Tulip/RemoteProxy.h:176:   instantiated
> from
> > `RemoteProxy<T>& RemoteProxy<T>::operator=(const S&) [with S =
> double, T
> > = double]'
> > diffusion_test.cpp:80:   instantiated from here
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h:2127: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h: In member
> function
> > `int
> >    UniformGridLayoutData<Dim>::touches(const OtherDomain&, OutIter,
> > const
> >    ConstructTag&) const [with OtherDomain = Range<2>, OutIter =
> >    std::back_insert_iterator<std::vector<Node<Range<2>, Interval<2>
> >,
> >    std::allocator<Node<Range<2>, Interval<2> > > > >, ConstructTag =
> >    TouchesConstructNodeObj, int Dim = 2]':
> > /usr/local/cots/pooma/src/Layout/LayoutBase.h:641:   instantiated
> from
> > `int LayoutBase<Dim, LBD>::touches(const OtherDomain&, OutIter,
> const
> > ConstructTag&) const [with OtherDomain = Range<2>, OutIter =
> > std::back_insert_iterator<std::vector<Node<Range<2>, Interval<2> >,
> > std::allocator<Node<Range<2>, Interval<2> > > > >, ConstructTag =
> > TouchesConstructNodeObj, int Dim = 2, LBD =
> UniformGridLayoutData<2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:703:   instantiated
> from
> > `int LayoutBase<Dim, LBD>::touches(const OtherDomain&, OutIter)
> const
> > [with OtherDomain
> > = Range<2>, OutIter =
> > std::back_insert_iterator<std::vector<Node<Range<2>, Interval<2> >,
> > std::allocator<Node<Range<2>, Interval<2> > > > >, int Dim = 2, LBD
> =
> > UniformGridLayoutData<2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:942:   instantiated
> from
> > `int LayoutBaseViewData<Dim, Dim2, L>::touches(const OtherDomain&,
> > OutIter, const ConstructTag&) const [with OtherDomain = Interval<2>,
> > OutIter = std::back_insert_iterator<std::vector<INode<2>,
> > std::allocator<INode<2> > > >, ConstructTag =
> TouchesConstructINode<2>,
> > int Dim = 2, int Dim2 = 2, L = UniformGridLayout<2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:1285:   instantiated
> from
> > `int LayoutBaseView<Dim, Dim2, lvd>::touches(const OtherDomain&,
> > OutIter, const ConstructTag&) const [with OtherDomain = Interval<2>,
> > OutIter = std::back_insert_iterator<std::vector<INode<2>,
> > std::allocator<INode<2> > > >, ConstructTag =
> TouchesConstructINode<2>,
> > int Dim = 2, int Dim2 = 2, lvd = UniformGridLayoutViewData<2, 2>]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:333:   instantiated
> from
> > `void IntersectorData<Dim>::touches(const Layout&) [with Layout =
> > UniformGridLayoutView<2, 2>, int Dim = 2]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:171:   instantiated
> from
> > `bool IntersectorData<Dim>::intersect(const Engine&, const
> > GuardLayers<Dim2>&) [with Engine = Engine<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, int Dim2 = 2, int
> Dim =
> > 2]'
> > /usr/local/cots/pooma/src/Engine/Intersector.h:440:   instantiated
> from
> > `bool Intersector<Dim>::intersect(const Engine&, const
> > GuardLayers<Dim2>&) [with Engine
> > = Engine<2, double, MultiPatchView<UniformTag, Remote<Brick>, 2> >,
> int
> > Dim2 = 2, int Dim = 2]'
> > /usr/local/cots/pooma/src/Array/Array.h:1729:   instantiated from
> > `static int LeafFunctor<Engine<Dim, T, MultiPatchView<LayoutTag,
> > PatchTag, Dim2> >, ExpressionApply<IntersectorTag<Intersect> >
> > >::applyHandler(const Engine<Dim, T, MultiPatchView<LayoutTag,
> PatchTag,
> > Dim2> >&, const ExpressionApply<IntersectorTag<Intersect> >&, const
> > WrappedInt<1>&) [with int Dim = 2, T = double, LT = UniformTag,
> PatchTag
> > = Remote<Brick>, int BD = 2, Intersect = Intersector<2>]'
> > /usr/local/cots/pooma/src/Array/Array.h:1716:   instantiated from
> > `static int LeafFunctor<Engine<Dim, T, MultiPatchView<LayoutTag,
> > PatchTag, Dim2> >, ExpressionApply<IntersectorTag<Intersect> >
> > >::apply(const Engine<Dim, T, MultiPatchView<LayoutTag, PatchTag,
> Dim2>
> > >&, const ExpressionApply<IntersectorTag<Intersect> >&) [with int
> Dim =
> > 2, T = double, LT = UniformTag, PatchTag = Remote<Brick>, int
> > BD = 2, Intersect = Intersector<2>]'
> > /usr/local/cots/pooma/src/Array/Array.h:2307:   instantiated from
> > `static int LeafFunctor<Array<D1, T1, E1>, ExpressionApply<Tag>
> > >::apply(const Array<D1, T1, E1>&, const ExpressionApply<Tag>&)
> [with
> > int Dim = 2, T = double, E = MultiPatchView<UniformTag,
> Remote<Brick>,
> > 2>, Tag = IntersectorTag<Intersector<2> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:80:   instantiated from
> `static
> > LeafFunctor<LeafType, LeafTag>::Type_t ForEach<Expr, FTag,
> > CTag>::apply(const Expr&, const FTag&, const CTag&) [with Expr =
> > Array<2, double, MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag =
> NullCombine]'
> > /usr/local/cots/pooma/src/Array/Array.h:88:   instantiated from
> > `ForEach<Expr, FTag, CTag>::Type_t forEach(const Expr&, const FTag&,
> > const CTag&) [with Expr = Array<2, double,
> MultiPatchView<UniformTag,
> > Remote<Brick>, 2> >, FTag =
> > ExpressionApply<IntersectorTag<Intersector<2> > >, CTag =
> NullCombine]'
> > /usr/local/cots/pooma/src/Array/Array.h:276:   instantiated from
> `void
> > expressionApply(const A&, const Tag&) [with A = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >, Tag =
> > IntersectorTag<Intersector<2> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:1913:   instantiated from
> `void
> > Evaluator<RemoteMultiPatchEvaluatorTag>::evaluate(const LHS&, const
> Op&,
> > const RHS&) const [with LHS = Array<2, double,
> > MultiPatchView<UniformTag, Remote<Brick>, 2> >,
> > RHS = Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:108:   instantiated from
> `void
> > Evaluator<MainEvaluatorTag>::evaluate(const LHS&, const Op&, const
> RHS&)
> > const [with LHS
> > = Array<2, double, MultiPatch<UniformTag, Remote<Brick> > >, RHS =
> > Array<2, double, ConstantFunction>, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2504:   instantiated from
> `const
> > Array<D1, T1, E1>& assign(const Array<D1, T1, E1>&, const T1&, const
> > Op&) [with int Dim = 2, T = double, EngineTag =
> MultiPatch<UniformTag,
> > Remote<Brick> >, T1 = double, Op = OpAssign]'
> > /usr/local/cots/pooma/src/Array/Array.h:2117:   instantiated from
> `const
> > Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> T1&)
> > const [with T1 = double, int Dim = 2, T = double, EngineTag =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > /usr/local/cots/pooma/src/Array/Array.h:2105:   instantiated from
> > `Array<Dim, T, EngineTag>& Array<Dim, T, EngineTag>::operator=(const
> > Array<Dim, T, EngineTag>&) [with int Dim = 2, T = double, EngineTag
> =
> > MultiPatch<UniformTag, Remote<Brick> >]'
> > diffusion_test.cpp:77:   instantiated from here
> > /usr/local/cots/pooma/src/Layout/UniformGridLayout.h:297: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Partition/DistributedMapper.h: In member
> > function
> >    `void DistributedMapper<Dim>::map(const
> > std::vector<Node<Interval<Dim>,
> >    Interval<Dim> >*, std::allocator<Node<Interval<Dim>,
> Interval<Dim>
> > >*> >&)
> >    const [with int Dim = 2]':
> > /usr/local/cots/pooma/src/Utilities/RefCountedBlockPtr.h:411:  
> > instantiated from here
> > /usr/local/cots/pooma/src/Partition/DistributedMapper.h:68: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > /usr/local/cots/pooma/src/Partition/BisectionMapper.h: In member
> > function `void
> >    BisectionMapper<Dim>::map(const std::vector<Node<Interval<Dim>,
> >    Interval<Dim> >*, std::allocator<Node<Interval<Dim>,
> Interval<Dim>
> > >*> >&)
> >    const [with int Dim = 2]':
> > /usr/local/cots/pooma/src/Partition/DistributedMapper.h:86:  
> > instantiated from
> > `void DistributedMapper<Dim>::map(const
> std::vector<Node<Interval<Dim>,
> > Interval<Dim> >*, std::allocator<Node<Interval<Dim>, Interval<Dim>
> >*>
> > >&) const [with int Dim = 2]'
> > /usr/local/cots/pooma/src/Utilities/RefCountedBlockPtr.h:411:  
> > instantiated from here
> > /usr/local/cots/pooma/src/Partition/BisectionMapper.h:86: warning:
> > comparison
> >    between signed and unsigned integer expressions
> > 
> 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]