Calling Fortran routines on short arrays

Nicolas Neuss <[email protected]> 22 Nov 2003 16:01:51 +0100
Newsgroups gmane.lisp.matlisp.user
Organization IWR
Message-ID <[email protected]>
Hello,

I am trying to find out if it is possible to call Fortran BLAS routines
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
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.