dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #01111
Re: 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