Federico Beffa writes: > Hi, > > I'm preparing a package for ATLAS (Automatically Tuned Linear Algebra > Software). The library provides functions from LAPACK which are automatically > speed optimized for the hardware on which the library is built (the > optimization takes place during the build phase).
ATLAS provides only a handful of the LAPACK routines. The primary focus is on BLAS routines. In order for ATLAS to provide a full lapack experience, it needs to be configured with the netlib lapack (which is where our current lapack package comes from). > My question is the following: is there a way to force a local build from a > package definition (without having to pass '--no-substitutes' to > guix)? I don't think this is necessary... > If not, what do you think about explicitly stating in the description of the > package that it MUST be installed with the '--no-substitutes' flag and, if the > user does not do so, hydra may provide a package which does not run on the > user hardware? ATLAS frequently pulls its tuning configuration information from a table of known values at configuration time. I think there is also a way to tell it which architecture it should be built for. > Most other distributions deliver binary packages which have been compiled for > a very general CPU. However, this not satisfactory since it results in a much > slower library. Guix is in a nice position to provide a good performance > version of the library and I think we should do so. You may be interested in exploring the BLIS library, https://code.google.com/p/blis/. It doesn't require build-time performance-tuning, and often significantly outperforms ATLAS http://www.cs.utexas.edu/users/flame/pubs/BLISTOMSrev2.pdf -- Eric Bavier Please avoid sending me Word or PowerPoint attachments. See http://www.gnu.org/philosophy/no-word-attachments.html