|
From: Nicolas N. <Nic...@iw...> - 2003-11-22 16:58:18
|
Hello, Rereading my mail I see that I expressed myself badly again. Corrections: > Hello, > > I am trying to find out if it is possible to call Fortran BLAS routines Of course, it is possible. But is it possible without such a tremendeous performance loss? > also on short vectors. I am running in the following problem: > > I have put a test program on > > http://cox.iwr.uni-heidelberg.de/~neuss/misc/mflop-new.lisp > > When I test the Lisp ddot/daxpy code I get: > > DDOT-long: 271.15 MFLOPS > DDOT-short: 679.58 MFLOPS > DAXPY-long: 143.55 MFLOPS > DAXPY-short: 488.06 MFLOPS > > But when I call the Matlisp routines (not via CLOS!), I get > > BLAS-DDOT-long: 267.10 MFLOPS > BLAS-DDOT-short: 63.31 MFLOPS > BLAS-DAXPY-long: 149.13 MFLOPS > BLAS-DAXPY-short: 61.01 MFLOPS > > The reason is probably that the external function call is almost as costly From the numbers it is obvious that the call is even much more expensive than a daxpy for 256 double-floats. How comes? > as the daxpy for the case +N-short+=256, while calling Lisp functions is > much faster. Is it possible to cut down these costs? > > Thanks, Nicolas. > |