From help-octave-request at bevo dot che dot wisc dot edu Fri Feb 4 18:43:35 2000 Subject: Re: ATLAS and octave From: "John W. Eaton" To: "Timothy H. Keitt" Cc: R Clint Whaley , atlas@cs.utk.edu, help-octave@bevo.che.wisc.edu Date: Fri, 4 Feb 2000 18:44:18 -0600 (CST) On 4-Feb-2000, Timothy H. Keitt wrote: | Sounds good to me. Yes, I am also interested in this. The last time I checked up on atlas, I thought it looked promising, but it was not really ready. But if it supports all of the level 1 and 2 blas plus some lapack calls, then it might be time to consider replacing what we can with atlas-generated code. | (I'm | assuming here that the octave's blas and lapack routines are the | same as the standard ones, so no recoding would be necessary.) Octave uses the Fortran blas and lapack straight from netlib. I think the only change is to modify xerbla so that it doesn't exit on errors. | I've actually never quite understood why octave includes blas and lapack | code. It seems to defeat the purpose of having standard (and | tunable) external libraries. (At best it duplicates some code; at | worst its an unofficial code fork.) There are at least a few reasons that make sense to me. First, there are licensing issues. If the tuned blas libraries are distributed under terms that are not compatible with the GPL, then we can't distribute a version of Octave that is linked with them. Second, it is easier to just distribute the Fortran sources than to try to figure out if the blas and lapack libraries that are installed on a system are the right version, or if they will even work. If someone reports a problem with Octave that involves the blas or lapack routines, it is harder to debug if the problem might be due to some broken installation of the blas or lapack. It is also easier for people to install Octave if the instructions are essentially `unpack a single tar file, then run configure and make', instead of `get several packages, try to figure out how to install the other packages (last I checked, the blas and lapack did not use configure) and then try to build Octave using them'. If atlas is distributed under terms that are compatible with the GPL (I think it was the last time I checked) then I think it could be the best solution for Octave, since there won't be any licensing problems, and it will not require tweaking the configure script for each new vendor blas. jwe ----------------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.che.wisc.edu/octave/octave.html How to fund new projects: http://www.che.wisc.edu/octave/funding.html Subscription information: http://www.che.wisc.edu/octave/archive.html -----------------------------------------------------------------------