On Mon, Mar 23, 2009 at 9:47 AM, A Navaei <[email protected]> wrote:
> 2009/3/23 Matthew Knepley <[email protected]>: > > I am going to agree with Garth here. There is no real difference. MTL4 > > uses the template engine to generate code. FFC uses Python. However, > > both approaches only generate C++ code. They can be made equivalent > > for any given problem. I am fairly sure the MTL guys would agree. I know > > them very well. > > If you want to have a runtime code-generator which implements the > features of compile-time template meta-programming one by one, such as > loop unrolling, and in this way effectively end up with an equivalent; > then the question is why re-inventing the wheel? Template programming is awful. I have done a lot of it. The programming constructs that generate efficient code are non-intuitive and just about undebuggable. This is the whole point behind conceptGCC (also by the MTL guys). Templates are good at some jobs, but very very bad at others. Matt > > The compile-time has the benefit of avoiding double-compilation (lib + > jit) and implementing a code generator. Whether the above concepts are > the same or not, my original question is still unanswered: what's the > benefit of FFC runtime code-generation over compile-time template > meta-programming? Note that the form DSL can be still used with the > latter approach and it's not specific to FFC. > > > -Ali > > > > > Matt > > > >> > >> -Ali > >> > >> > > >> > Garth > >> > > >> >> Without having a concrete meta-programming implementation, it may be > >> >> impossible to predict how much performance one would gain compared to > >> >> FFC. However, MTL4 has been reported to be many times faster than > >> >> code-generation means such as ATLAS. > >> >> > >> >> Based on this, are there any specific benefits in FFC code-generation > >> >> which may not be covered by meta-programming? > >> >> > >> >> > >> >> -Ali > >> >> _______________________________________________ > >> >> DOLFIN-dev mailing list > >> >> [email protected] > >> >> http://www.fenics.org/mailman/listinfo/dolfin-dev > >> > > >> > > >> > > >> _______________________________________________ > >> DOLFIN-dev mailing list > >> [email protected] > >> http://www.fenics.org/mailman/listinfo/dolfin-dev > > > > > > > > -- > > What most experimenters take for granted before they begin their > experiments > > is infinitely more interesting than any results to which their > experiments > > lead. > > -- Norbert Wiener > > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
