← Back to team overview

dolfin team mailing list archive

Re: Generic meta-programming, faster than form compiler?

 

2009/3/23 Kent Andre <kent-and@xxxxxxxxx>:
>
> The code that FFC produces is about as fast as light. It has been
> documented in a number of papers.

Is there any data available comparing the FFC performance to the hardware peak?

>
> I don't think you should try to beat FFC with generic meta-programming.
> Or you could do it but, but don't have to high expectations...
>
> Insertion into the matrix is currently the bottleneck. But FFC does
> not have anything to do with this.

While FFC doesn't have anything to do with this, dolfin does. In the
case of the MTL4 backend wrapper, it is implemented badly by ignoring
the meta-programming potentials. For instance, sparse matrix insertion
is done by forming a sparsity pattern outside of MTL4 and then
assigning the pointers to MTL4 API, while loop unrolling could have
been used here.


-Ali

>
> Kent
>
>
> On ma., 2009-03-23 at 10:11 +0000, A Navaei wrote:
>> The success of MTL4 based on generic meta-programming, arises the
>> question about re-visiting the efficiency of code-generation
>> approaches, including FFC. Given that FEM can particularly benefit
>> from major meta-programming characteristics, namely static
>> polymorphism and loop unrolling, MTL4 demonstrates that the
>> code-generation part can be much more efficiently replaced by inlining
>> performed at compile-time.
>>
>> 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
>> DOLFIN-dev@xxxxxxxxxx
>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>
>


Follow ups

References