Skip to content
cl-blapack is a set of common lisp bindings to blas and lapack. This particular repo tracks modifications of Evan Monroig's modifications of rif's cl-blapack library.
Branch: master
Clone or download
blindglobe THIS PATCH DUE TO DAVID HODGE.
All blame goes to Tony Rossini

(make loading on Macs more auto-magical)

Signed-off-by: AJ Rossini <blindglobe@gmail.com>
Latest commit 678f19f Feb 26, 2014
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore ignore droppings and tony files. Oct 7, 2008
ChangeLog * org.middleangle.cl-blapack.asd (:org.middleangle.cl-blapack): Jun 13, 2008
LICENSE first import -- http://middleangle.com/rif/software/cl-blapack-alpha.… Apr 24, 2008
NOTES whitespace cleanup, addition of docs. Jul 15, 2008
README whitespace cleanup, addition of docs. Jul 15, 2008
TODO.lisp simple file to focus my development -- not useful except to track bug… Oct 7, 2008
blapack-cffi-types.lisp * lapack-cffi.lisp: modify to use custom cffi types as symbols not May 20, 2008
blas-cffi.lisp
bugfix.lisp remove, as it seems to break SBCL 1.1.x versions (and the change has … Nov 13, 2012
cl-blapack.lisp move fall-through code chunk to logical position. Feb 20, 2014
examples.lisp cleanup, no real change Jul 12, 2008
features.lisp remove, as it seems to break SBCL 1.1.x versions (and the change has … Nov 13, 2012
generate-blapack-interface.lisp
lapack-cffi.lisp
load-blapack-libs.lisp THIS PATCH DUE TO DAVID HODGE. Feb 26, 2014
org.middleangle.cl-blapack-examples.asd first import -- http://middleangle.com/rif/software/cl-blapack-alpha.… Apr 24, 2008
org.middleangle.cl-blapack-gen.asd whitespace cleanup, addition of docs. Jul 15, 2008
org.middleangle.cl-blapack.asd packages, can't do without major rewrite, since we auto-generate and … Oct 7, 2008
packages.lisp packages, can't do without major rewrite, since we auto-generate and … Oct 7, 2008

README

-*- mode: text -*-

This is an alpha release of cl-blapack, a wrapper around the Fortran
BLAS and LAPACK libraries for dense linear algebra.

The software relies on org.middle-angle.foreign-numeric-vector for
foreign (non-Lisp heap) storage, and CFFI.

The software generates CFFI interfaces by parsing the Fortran
reference implementation of LAPACK (available at
www.netlib.org/LAPACK).  I include files blas-cffi.lisp and
lapack-cffi.lisp which are the results of this parsing. If you want to
regenerate your own, download LAPACK, load the
org.middleangle.cl-blapack-gen system, and run

(generate-blapack-interface:generate-blapack-files #p"/path/to/LAPACK")

In general, users should not need to do this --- the supplied
interface files should work fine.  To load the interface, load
org.middleangle.cl-blapack system.

To see an example, load the org.middleangle.cl-blapack-examples
system, and execute

(blapack-examples:simple-example)

The cl-blapack library allows one to write Fortran-style code to call
BLAS and LAPACK.  There is one convenience --- scalar arguments are
automatically packaged by the system into foreign-numeric-vectors of
length 1 (see blapack-cffi-types.lisp); this may possibly be a source
of inefficiency if we are making frequent small calls to the libraries.

NOTE: As of this writing, the code is only sure to work with SBCL.  We
need to make sure that floating-point traps are turned off.  To add
support for another implementation, write the appropriate version of
with-blapack in cl-blapack.lisp (it's a NOOP for non-SBCL right now).
The code has been tested (the example runs) under recent SBCLs on both
x86 and x86-64 machines.

NOTE: We assume that BLAS/LAPACK have been compiled so that all
integers (representing indexes into arrays) are 32-bit.  This seems to
be the case currently even on 64-bit machines, but we need to monitor
this as it could change in the future.

This software is released under the modified-BSD license (no
advertising clause), see LICENSE for details.

As of 04 November 2006, this code is available at
http://middleangle.com/rif/software/cl-blapack-alpha.tar.gz

All comments, suggestions, performance reports, and assistance should
be sent to

rif
rif@mit.edu
You can’t perform that action at this time.