← Back to team overview

dolfin team mailing list archive

Re: uBlasVector

 

The new functions are the functions that have been added to
GenericVector, right ? 

I guess you refer e.g. to the fact that axpy have been re-implemented in
terms of a for loop instead of using the template expression y += a*x ?
The reason for this re-implementation is the operators implmented in
GenericVector. These operators mess up the operators previously
implemented by ublas_vector. 

What is the performance penalty ? 

Does it help to change: 

  class uBlasVector : public GenericVector,
                      public Variable,
                      public ublas_vector


to 

  class uBlasVector : public ublas_vector,
                      public Variable,
                      public GenericVector


?

Kent

tor, 10.04.2008 kl. 11.59 +0100, skrev Garth N. Wells:
> ons have been introduced to uBlasVector. Are these 
> functions essential? The problem that I'm facing is that we use uBlas 
> objects a lot to manipulate relatively small vectors and matrices, so 
> performance is a consideration. Previously we accessed uBLAS
> functions 
> directly. This issue is compounded by the fact that I haven't been
> able 
> to figure out how to elegantly wrap number of the functions because 
> uBLAS uses expression templates.
> 
> If we need the extra functions, we'll probably try to work directly
> with 
> uBLAS (by creating a ublas_vector). ublas_vector is base class for 
> uBlasVector, so can we cast it easily to a uBlasVect



Follow ups

References