From octave-sources-request at bevo dot che dot wisc dot edu Sat Feb 5 19:21:18 2000 Subject: patch to make octave check for ATLAS BLAS libs, etcetera From: stevenj at gil-galad dot mit dot edu To: octave-sources at bevo dot che dot wisc dot edu Cc: rwhaley at cs dot utk dot edu Date: Sat, 5 Feb 2000 20:23:25 -0500 (EST) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime at docserver dot cac dot washington dot edu for more info. --6689530-857037530-949800205=:990 Content-Type: TEXT/PLAIN; charset=US-ASCII Dear Octave Users and Developers, I have attached below a patch (made by cvs diff -u against the latest source tree) to make Octave check for preexisting/accelerated BLAS and LAPACK libraries on the user's system before building its own. This will both dramatically increase performance (if an accelerated BLAS like ATLAS is available) and decrease the compilation time. (It will also save disk space, if the installed BLAS/LAPACK are shared libraries, and take advantage of updated libraries--e.g. LAPACK 3.0 works fine with Octave as far as I can tell on my machine.) The main modifications are to the configure.in file (whence the configure script), and are based upon similar checks I performed in other (free) programs of mine (MPB, http://ab-initio.mit.edu/mpb/, and benchFFT, http://www.fftw.org/benchfft/). The patched configure script will check for a pre-installed BLAS library in the following order: ATLAS, CXML/DXML (Compaq extended math library), the Sun performance library, the SGI/Cray SCSL library, the SGImath library, the IBM ESSL library, and finally the generic BLAS library -lblas. If any of these are found, it will also check for a LAPACK library installed on the system (under -llapack, and also directly in one of the already-included libraries). If no library is found (or if --without-fastblas is passed to configure), then the bundled BLAS and/or LAPACK libraries will be built as usual in libcruft. Otherwise, only the 4 files from the (new) directories libcruft/blas-xtra and libcruft/lapack-xtra are built. The former contains the modified xerbla.f used in Octave; and the latter contain the x*.f files from the old lapack/ directory, which are actually not from the original LAPACK (they convert a few LAPACK functions into subroutines). There is a slight hack to make sure the modified xerbla.f is used in preference to any xerbla in the external BLAS libraries: I inserted a dummy call to it (never reached) in the octave main(). Something like this is necessary because libcruft.a is linked before the external LAPACK and BLAS, which would otherwise be the only things to call xerbla and thus the libcruft xerbla would be dropped. The attached archive contains not only the patch (in diff.out), but also the new blas-xtra/ and lapack-xtra/ directories, which should be added under the libcruft/ directory. Please let me know if you have any comments or questions. Cordially, Steven G. Johnson --6689530-857037530-949800205=:990 Content-Type: APPLICATION/octet-stream; name="blaspatch.tar.gz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="blaspatch.tar.gz" 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 l/YvHTdsPQBQAAA= --6689530-857037530-949800205=:990--