MATLISP using other LAPACK libraries

Lynn Quam <[email protected]> Thu, 24 Feb 2005 21:37:19 -0800
Newsgroups gmane.lisp.matlisp.devel
Message-ID <[email protected]>
I would like to test the performance of the Intel Math Kernel Library
with MATLISP and CMUCL, but I have not been successful modifying
load-blas-&-lapack-libraries in lazy-loader.lisp

The Intel Math Kernel Library contains the lapack and blas functions.
The appropriate library is installed in
/opt/intel/mkl72/lib/32/libmkl.so.

Various attempts to modify load-blas-&-lapack-libraries result
in various errors.  For example:

(defun load-blas-&-lapack-libraries ()
  (ext::load-foreign "matlisp:lib;lazy-loader.o"
		     :libraries `("-R/opt/intel/mkl72/lib/32"
				  "-L/opt/intel/mkl72/lib/32"
				  "-L/usr/lib/gcc-lib/i386-redhat-linux/3.2.2"
				  "-L/usr/lib"
				  "-lmkl"
				  "-lfrtbegin"
				  "-lg2c"
				  "-lm"
				  "-lgcc_s")))

;; results in:

Error in function SYSTEM::LOAD-OBJECT-FILE:
   Can't open object "/tmp/15879AG21": NIL
   [Condition of type SIMPLE-ERROR]

The file /tmp/15879AG21 exists, but dlopen in CMUCL
load-object-file fails for some reason.

I can sucessfully do:

(ext::load-foreign "/m/opt/intel/mkl72/lib/32/libmkl.so")

And sucessfully do
 
(def-fortran-routine dgemm :void
  (transa :string :input)
  (transb :string :input)
  (m :integer )
  (n :integer )
  (k :integer )
  (alpha :double-float )
  (a (* :double-float) )
  (lda :integer )
  (b (* :double-float) )
  (ldb :integer )
  (beta :double-float )
  (c (* :double-float) :output)
  (ldc :integer )
)

But CMUCL crashes when I call dgemm.

Any help would be appreciated.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click