design of functions in miltimin
Fabrice Rossi
rossi@ufrmd.dauphine.fr
Tue Jul 1 06:47:00 GMT 2003
Hi.
My understanding of vector calculation optimization is that one should
rely on BLAS as much as possible. I'm not sure that your code is really
more efficient than the BLAS code if you use an optimized implementation
of BLAS such as ATLAS, but of course, I might be wrong. Did you make
some timing with GSL+ATLAS to compare both solutions?
Fabrice
Andrey V. Panov wrote:
> I think that the body of take_step() function in
> multimin/directional_minimize.c :
>
> {
> gsl_vector_set_zero (dx);
> gsl_blas_daxpy (-step * lambda, p, dx);
>
> gsl_vector_memcpy (x1, x);
> gsl_blas_daxpy (1.0, dx, x1);
> }
>
> can be replaced by more efficient code:
>
> {
> int i;
> double dx_temp;
> for(i = 0; i < dx->size; i++)
> {
> dx_temp = -step * lambda * gsl_vector_get(p, i);
> gsl_vector_set(dx, i, dx_temp);
> gsl_vector_set(x1, i, gsl_vector_get(x, i) + dx_temp);
> }
> }
>
> There are also similar parts of code inside miltimin routines which
> may be
> replaced.
>
More information about the Gsl-discuss
mailing list