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.