Difference between revisions of "LAPACK"
Weibullguy (talk | contribs) m (→Dependencies) |
Weibullguy (talk | contribs) |
||
Line 2: | Line 2: | ||
|- | |- | ||
!Download Source: | !Download Source: | ||
− | | http:// | + | | http://cross-lfs.org/~arowland/tarballs/l/lapack-lite-autotooled-{{Lapack-Version}}.tar.bz2 |
|} | |} | ||
Line 10: | Line 10: | ||
LAPACK libraries can also be obtained from ATLAS or the microprocessor vendor's math library, such as AMD's [[ACML]].|http://www.netlib.org/lapack/}} | LAPACK libraries can also be obtained from ATLAS or the microprocessor vendor's math library, such as AMD's [[ACML]].|http://www.netlib.org/lapack/}} | ||
+ | |||
+ | {{Note|These instructions use a source package that has been processed by GNU Autotools by a third party.}} | ||
== Dependencies == | == Dependencies == | ||
Line 20: | Line 22: | ||
* [[GCC]] built with gfortran support | * [[GCC]] built with gfortran support | ||
− | === | + | === Recommended === |
Either [[BLAS]] or [[ACML]] are recommended otherwise LAPACK will install an unoptimized version of this library. | Either [[BLAS]] or [[ACML]] are recommended otherwise LAPACK will install an unoptimized version of this library. | ||
== Configuration Information == | == Configuration Information == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Note|Do not remove the source tree if you plan to build the LAPACK 95 interface.}} | {{Note|Do not remove the source tree if you plan to build the LAPACK 95 interface.}} | ||
Line 38: | Line 32: | ||
== Non-Multilib == | == Non-Multilib == | ||
− | First we create a make.inc to use in our build. | + | First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set. |
− | + | If you are using gfortran: | |
− | + | sed -e "s:g77:gfortran:" \ | |
+ | -e "s:-funroll-all-loops -O3:${CFLAGS} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ | ||
+ | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | ||
− | + | If you are using g77: | |
− | + | sed -e "s:-funroll-all-loops -O3:${CFLAGS} $(pkg-config --cflags blas):" \ | |
− | + | -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas):" \ | |
− | sed - | + | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ |
− | + | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Compile the LAPACK libraries: | Compile the LAPACK libraries: | ||
− | make | + | ./configure --libdir=/usr/lib/lapack/reference --with-blas="$(pkg-config --libs blas)" && |
+ | make | ||
− | + | Install the libraries: | |
− | + | make install | |
− | |||
Install the documentation that comes with the LAPACK library: | Install the documentation that comes with the LAPACK library: | ||
Line 82: | Line 67: | ||
== Multilib == | == Multilib == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== 32Bit === | === 32Bit === | ||
− | + | First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set. | |
− | + | If you are using gfortran: | |
− | + | sed -e "s:g77:gfortran:" \ | |
+ | -e "s:-funroll-all-loops -O3:${BUILD32} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD32} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ | ||
+ | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | ||
− | + | If you are using g77: | |
− | + | sed -e "s:-funroll-all-loops -O3:${BUILD32} $(pkg-config --cflags blas):" \ | |
− | + | -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD32} $(pkg-config --cflags blas):" \ | |
− | + | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ | |
+ | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | ||
Compile the LAPACK libraries: | Compile the LAPACK libraries: | ||
− | + | ./configure --libdir=/usr/lib/lapack/reference --with-blas="$(pkg-config --libs blas)" && | |
− | + | make | |
− | |||
− | + | Install the libraries: | |
− | |||
+ | make install | ||
+ | |||
=== N32 === | === N32 === | ||
− | + | First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set. | |
− | |||
− | |||
− | If you | + | If you are using gfortran: |
− | sed - | + | sed -e "s:g77:gfortran:" \ |
+ | -e "s:-funroll-all-loops -O3:${BUILDN32} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILDN32} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ | ||
+ | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | ||
− | If you | + | If you are using g77: |
− | sed - | + | sed -e "s:-funroll-all-loops -O3:${BUILDN32} $(pkg-config --cflags blas):" \ |
+ | -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILDN32} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ | ||
+ | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | ||
Compile the LAPACK libraries: | Compile the LAPACK libraries: | ||
− | make | + | ./configure --libdir=/usr/lib32/lapack/reference --with-blas="$(pkg-config --libs blas)" && |
+ | make | ||
− | + | Install the libraries: | |
− | + | make install | |
− | |||
=== 64Bit === | === 64Bit === | ||
− | + | First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set. | |
− | + | If you are using gfortran: | |
− | + | sed -e "s:g77:gfortran:" \ | |
+ | -e "s:-funroll-all-loops -O3:${BUILD64} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD64} $(pkg-config --cflags blas):" \ | ||
+ | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ | ||
+ | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | ||
− | + | If you are using g77: | |
− | + | sed -e "s:-funroll-all-loops -O3:${BUILD64} $(pkg-config --cflags blas):" \ | |
− | + | -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD64} $(pkg-config --cflags blas):" \ | |
− | + | -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ | |
+ | -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc | ||
Compile the LAPACK libraries: | Compile the LAPACK libraries: | ||
− | make | + | ./configure --libdir=/usr/lib64/lapack/reference --with-blas="$(pkg-config --libs blas)" && |
+ | make | ||
− | + | Install the libraries: | |
− | + | make install | |
− | |||
Install the documentation that comes with the LAPACK library: | Install the documentation that comes with the LAPACK library: | ||
Line 183: | Line 165: | ||
|-valign="top" | |-valign="top" | ||
! Installed Libraries: | ! Installed Libraries: | ||
− | |liblapack.a, | + | |liblapack.{a,la,so} |
|} | |} | ||
Line 192: | Line 174: | ||
!liblapack.a | !liblapack.a | ||
|Library containing the linear algebra functions. | |Library containing the linear algebra functions. | ||
− | |||
− | |||
− | |||
|} | |} |
Revision as of 06:33, 29 February 2008
Download Source: | http://cross-lfs.org/~arowland/tarballs/l/lapack-lite-autotooled-3.1.1.tar.bz2 |
---|
Contents
Introduction to LAPACK
LAPACK is a Linear Algebra PACKage that provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision. LAPACK routines are written so that as much as possible of the computation is performed by calls to the BLAS.
LAPACK libraries can also be obtained from ATLAS or the microprocessor vendor's math library, such as AMD's ACML.
Project Homepage: http://www.netlib.org/lapack/
Dependencies
Required
One of the following is required to build LAPACK:
Recommended
Either BLAS or ACML are recommended otherwise LAPACK will install an unoptimized version of this library.
Configuration Information
Non-Multilib
First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set.
If you are using gfortran:
sed -e "s:g77:gfortran:" \ -e "s:-funroll-all-loops -O3:${CFLAGS} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
If you are using g77:
sed -e "s:-funroll-all-loops -O3:${CFLAGS} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LDFLAGS} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
Compile the LAPACK libraries:
./configure --libdir=/usr/lib/lapack/reference --with-blas="$(pkg-config --libs blas)" && make
Install the libraries:
make install
Install the documentation that comes with the LAPACK library:
install -v -m755 -d /usr/share/doc/LAPACK-3.1.1/html && install -v INSTALL/lawn81.{pdf,ps} /usr/share/doc/LAPACK-3.1.1/ && for doc in html/*.html; do cp -v $doc /usr/share/doc/LAPACK-3.1.1/html done
Multilib
32Bit
First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set.
If you are using gfortran:
sed -e "s:g77:gfortran:" \ -e "s:-funroll-all-loops -O3:${BUILD32} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD32} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
If you are using g77:
sed -e "s:-funroll-all-loops -O3:${BUILD32} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD32} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
Compile the LAPACK libraries:
./configure --libdir=/usr/lib/lapack/reference --with-blas="$(pkg-config --libs blas)" && make
Install the libraries:
make install
N32
First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set.
If you are using gfortran:
sed -e "s:g77:gfortran:" \ -e "s:-funroll-all-loops -O3:${BUILDN32} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILDN32} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
If you are using g77:
sed -e "s:-funroll-all-loops -O3:${BUILDN32} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILDN32} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
Compile the LAPACK libraries:
./configure --libdir=/usr/lib32/lapack/reference --with-blas="$(pkg-config --libs blas)" && make
Install the libraries:
make install
64Bit
First we create a make.inc to use in our build. Please note that these seds presumes you have CFLAGS and LDFLAGS set.
If you are using gfortran:
sed -e "s:g77:gfortran:" \ -e "s:-funroll-all-loops -O3:${BUILD64} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD64} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
If you are using g77:
sed -e "s:-funroll-all-loops -O3:${BUILD64} $(pkg-config --cflags blas):" \ -e "s:LOADOPTS =:LOADOPTS = ${LD_BUILD64} $(pkg-config --cflags blas):" \ -e "s:../../blas\$(PLAT).a:$(pkg-config --libs blas):" \ -e "s:lapack\$(PLAT).a:SRC/.libs/liblapack.a:" make.inc.example > make.inc
Compile the LAPACK libraries:
./configure --libdir=/usr/lib64/lapack/reference --with-blas="$(pkg-config --libs blas)" && make
Install the libraries:
make install
Install the documentation that comes with the LAPACK library:
install -v -m755 -d /usr/share/doc/LAPACK-3.1.1/html && install -v INSTALL/lawn81.{pdf,ps} /usr/share/doc/LAPACK-3.1.1/ && for doc in html/*.html; do cp -v $doc /usr/share/doc/LAPACK-3.1.1/html done
Contents
Installed Libraries: | liblapack.{a,la,so} |
---|
Short Description
liblapack.a | Library containing the linear algebra functions. |
---|