We should also note that ffc is done and the hypothetical rewrite of the language in terms of template metaprogrammingis not.
2009/3/23 Matthew Knepley <[email protected]> > 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 > >
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
