← Back to team overview

ffc team mailing list archive

Re: [DOLFIN-dev] BLAS mode verified

 

For higher-order (p > 1) complicated forms, I'm seeing big improvements in
compile time when using BLAS mode. Run-time performance appears very similar. I
can't test big problems because BLAS mode has *huge* memory requirements
when using higher order elements. For Poisson equation with p = 10, I can't use
any more than 35x35 elements without having a PETSc memory error.

Separate issue - with more complicated forms, I have trouble with anything
around p > 2 due to the memory requirements of ffc. Are there any simple
solutions to this? 

Garth


Quoting Anders Logg <logg@xxxxxxxxx>:

> 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
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> 



Follow ups