← Back to team overview

dolfin team mailing list archive

BLAS mode verified

 

I have verified that the new FFC BLAS mode works for the stabilized
convection-diffusion module in DOLFIN (which is sufficiently complex
to catch any obvious bugs).

I still need to run some more extensive benchmarks, but the first
indications seem to be that the new BLAS mode is actually slower and
the generated code actually takes longer to compile. Possible
explanations:

1. For the convection-diffusion form, most of the work is computing
the geometry tensor and that is performed in the same way in both
cases. Maybe we could generate some loop-based code for computing the
geometry tensor also.

2. Assigning to array entries (G[i] = ... in BLAS mode) seems to take
longer to compile than assigning to variables (double Gi = ... in
default mode).

3. It actually matters that the default mode of FFC removes any
products with zeros in the tensor product. BLAS does not know about
zeros.

However, for high-order forms and possibly Navier-Stokes, the BLAS
mode could be faster.

To compile a form for use with BLAS mode, just add the flag -f blas
when compiling the form:

    ffc -f blas Poisson.form

Note that any generated XML data files (containing the values of the
reference tensor) must be present in the directory where you run the
executable.

Please try out the new BLAS mode and report any errors/performance
issues.

/Anders



Follow ups