Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
-*- 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 email@example.com