-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
55 lines (41 loc) · 2.18 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-*- 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