ffc team mailing list archive
-
ffc team
-
Mailing list archive
-
Message #00456
Re: Restructure computation of reference tensor to use less memory. [...]
Looks great!
A question regarding Numeric: I hear that Numeric has been replaced by
Numarray in Python? Does that change anything in the installation and
usage of FIAT/FFC?
/Johan
> Commit from logg (2005-12-05 18:26 CET)
> ----------------
>
> Restructure computation of reference tensor to use less memory.
>
> As a side effect, the speed of the computation was actually improved...
>
> Here are some results for compiling the nonlinear term of Navier-Stokes
for quadratics on tets:
>
> | FFC 0.2.2 | FFC 0.2.3 | Current CVS
> --------------------------------------------------
> CPU time | 167 s | 21 s | 15 s
> Memory | 22 MB | 489 MB | 27 MB
>
> The memory usage is actually around 22 MB during most of the
computation.
> The 27 MB is only during a short peak (while copying some values from
one tensor to another).
>
> FFC 0.2.2 used an old loop-based approach, while FFC 0.2.3 worked
through Numeric. The current CVS works similarly to version 0.2.3, but
instead of building a giant tensor and then doing contractions on that
tensor, there are now loops over the dimensions to be contracted so that
we don't build any tensors larger than the final reference tensor.
>
> Also note that it now takes about 1 second to compile the nonlinear term of
> Navier-Stokes for linears. This is a good speedup compared to the
initial
> 130 seconds with FFC version 0.1.4...
>
> ffc ChangeLog 1.104
> ffc src/ffc/compiler/monomialintegration.py 1.4
> ffc src/ffc/compiler/referencetensor.py 1.19
> ffc src/reference/Elasticity.h 1.32
> ffc src/reference/EnergyNorm.h 1.10
> ffc src/reference/Mass.h 1.18
> ffc src/reference/NavierStokes.h 1.30
> ffc src/reference/Projection.h 1.7
> ffc src/reference/Stokes.h 1.15
>
> _______________________________________________
> FFC-dev mailing list
> FFC-dev@xxxxxxxxxx
> http://www.fenics.org/cgi-bin/mailman/listinfo/ffc-dev
>
Follow ups
References