http://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&action=history&feed=atomTemplate:Installing BLAS and LAPACK - Revision history2024-03-29T08:55:07ZRevision history for this page on the wikiMediaWiki 1.7.3http://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&diff=4485&oldid=prevStevenj: /* LAPACK */2012-07-24T16:32:38Z<p><span class="autocomment">LAPACK</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 16:32, 24 July 2012</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 22:</strong></td>
<td colspan="2" align="left"><strong>Line 22:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Note that our software looks for LAPACK by linking with <code>-llapack</code>. This means that the library must be called <code>liblapack.a</code> and be installed in a standard directory like <code>/usr/local/lib</code> (alternatively, you can specify another directory via the <code>LDFLAGS</code> environment variable as described earlier). (See also below for the <code>--with-lapack=''lib''</code> option to our <code>configure</code> script, to manually specify a library location.)</td><td> </td><td style="background: #eee; font-size: smaller;">Note that our software looks for LAPACK by linking with <code>-llapack</code>. This means that the library must be called <code>liblapack.a</code> and be installed in a standard directory like <code>/usr/local/lib</code> (alternatively, you can specify another directory via the <code>LDFLAGS</code> environment variable as described earlier). (See also below for the <code>--with-lapack=''lib''</code> option to our <code>configure</code> script, to manually specify a library location.)</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"></td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;">I currently recommend installing [http://xianyi.github.com/OpenBLAS/ OpenBLAS], which includes LAPACK so you do not need to install it separately.</td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&diff=4484&oldid=prevStevenj: /* BLAS */2012-07-24T16:31:53Z<p><span class="autocomment">BLAS</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 16:31, 24 July 2012</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 3:</strong></td>
<td colspan="2" align="left"><strong>Line 3:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the Intel MKL, HP CXML, IBM ESSL, SGI sgimath, and other libraries. <span style="color: red; font-weight: bold;">Recently</span>, <span style="color: red; font-weight: bold;">there has also been work on self</span>-<span style="color: red; font-weight: bold;">optimizing BLAS implementations that can achieve </span>performance <span style="color: red; font-weight: bold;">competitive with vendor</span>-<span style="color: red; font-weight: bold;">tuned codes</span>; <span style="color: red; font-weight: bold;">see the </span>[http://math-atlas.sourceforge.net/ ATLAS] <span style="color: red; font-weight: bold;">homepage. ATLAS works well, but it does take some time to compile</span>.</td><td>+</td><td style="background: #cfc; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the Intel MKL, HP CXML, IBM ESSL, SGI sgimath, and other libraries. <span style="color: red; font-weight: bold;">An excellent</span>, <span style="color: red; font-weight: bold;">high</span>-performance<span style="color: red; font-weight: bold;">, free</span>-<span style="color: red; font-weight: bold;">software BLAS implementation is [http://xianyi.github.com/OpenBLAS/ OpenBLAS]</span>; <span style="color: red; font-weight: bold;">another is </span>[http://math-atlas.sourceforge.net/ ATLAS].</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&diff=3565&oldid=prevStevenj: blas.tgz now contains BLAS directory2009-06-04T16:28:56Z<p>blas.tgz now contains BLAS directory</p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 16:28, 4 June 2009</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 7:</strong></td>
<td colspan="2" align="left"><strong>Line 7:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;"> mkdir blas &amp;&amp; cd blas # the BLAS archive does not create its own directory</td><td colspan="2"> </td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> ''get http://www.netlib.org/blas/blas.tgz''</td><td> </td><td style="background: #eee; font-size: smaller;"> ''get http://www.netlib.org/blas/blas.tgz''</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> gunzip blas.tgz</td><td> </td><td style="background: #eee; font-size: smaller;"> gunzip blas.tgz</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> tar xf blas.tar</td><td> </td><td style="background: #eee; font-size: smaller;"> tar xf blas.tar</td></tr>
<tr><td colspan="2"> </td><td>+</td><td style="background: #cfc; font-size: smaller;"> cd BLAS</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> f77 -c -O3 *.f # compile all of the .f files to produce .o files</td><td> </td><td style="background: #eee; font-size: smaller;"> f77 -c -O3 *.f # compile all of the .f files to produce .o files</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"> ar rv libblas.a *.o # combine the .o files into a library</td><td> </td><td style="background: #eee; font-size: smaller;"> ar rv libblas.a *.o # combine the .o files into a library</td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&diff=1921&oldid=prevStevenj: /* BLAS */2006-04-03T21:10:29Z<p><span class="autocomment">BLAS</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 21:10, 3 April 2006</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 3:</strong></td>
<td colspan="2" align="left"><strong>Line 3:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the HP CXML, IBM ESSL, SGI sgimath, and other libraries. Recently, there has also been work on self-optimizing BLAS implementations that can achieve performance competitive with vendor-tuned codes; see the [http://math-atlas.sourceforge.net/ ATLAS] homepage. ATLAS works well, but it does take some time to compile.</td><td>+</td><td style="background: #cfc; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the <span style="color: red; font-weight: bold;">Intel MKL, </span>HP CXML, IBM ESSL, SGI sgimath, and other libraries. Recently, there has also been work on self-optimizing BLAS implementations that can achieve performance competitive with vendor-tuned codes; see the [http://math-atlas.sourceforge.net/ ATLAS] homepage. ATLAS works well, but it does take some time to compile.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&diff=808&oldid=prevStevenj: /* BLAS */2006-04-03T21:10:14Z<p><span class="autocomment">BLAS</span></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 21:10, 3 April 2006</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 3:</strong></td>
<td colspan="2" align="left"><strong>Line 3:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the <span style="color: red; font-weight: bold;">Compaq </span>CXML, IBM ESSL, SGI sgimath, and other libraries. Recently, there has also been work on self-optimizing BLAS implementations that can achieve performance competitive with vendor-tuned codes; see the [http://math-atlas.sourceforge.net/ ATLAS] homepage. ATLAS works well, but it does take some time to compile.</td><td>+</td><td style="background: #cfc; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the <span style="color: red; font-weight: bold;">HP </span>CXML, IBM ESSL, SGI sgimath, and other libraries. Recently, there has also been work on self-optimizing BLAS implementations that can achieve performance competitive with vendor-tuned codes; see the [http://math-atlas.sourceforge.net/ ATLAS] homepage. ATLAS works well, but it does take some time to compile.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&diff=807&oldid=prevStevenj at 01:42, 23 October 20052005-10-23T01:42:34Z<p></p>
<table border='0' width='98%' cellpadding='0' cellspacing='4' style="background-color: white;">
<tr>
<td colspan='2' width='50%' align='center' style="background-color: white;">←Older revision</td>
<td colspan='2' width='50%' align='center' style="background-color: white;">Revision as of 01:42, 23 October 2005</td>
</tr>
<tr><td colspan="2" align="left"><strong>Line 3:</strong></td>
<td colspan="2" align="left"><strong>Line 3:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td><td> </td><td style="background: #eee; font-size: smaller;">The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the Compaq CXML, IBM ESSL, SGI sgimath, and other libraries. Recently, there has also been work on self-optimizing BLAS implementations that can achieve performance competitive with vendor-tuned codes; see the [http://math-atlas.sourceforge.net/ ATLAS] homepage <span style="color: red; font-weight: bold;">(and also [http://www</span>.<span style="color: red; font-weight: bold;">icsi.berkeley.edu/~bilmes/phipac/ PhiPACK]). Links to more BLAS implementations can be found on [http://SAL.KachinaTech.COM/B/0/BLAS.html SAL]. I recommend </span>ATLAS, but it does take some time to compile.</td><td>+</td><td style="background: #cfc; font-size: smaller;">You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the Compaq CXML, IBM ESSL, SGI sgimath, and other libraries. Recently, there has also been work on self-optimizing BLAS implementations that can achieve performance competitive with vendor-tuned codes; see the [http://math-atlas.sourceforge.net/ ATLAS] homepage. ATLAS <span style="color: red; font-weight: bold;">works well</span>, but it does take some time to compile.</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td><td> </td><td style="background: #eee; font-size: smaller;">Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki></td></tr>
<tr><td colspan="2" align="left"><strong>Line 19:</strong></td>
<td colspan="2" align="left"><strong>Line 19:</strong></td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;">=== LAPACK ===</td><td> </td><td style="background: #eee; font-size: smaller;">=== LAPACK ===</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">LAPACK, the Linear Algebra PACKage, is a standard collection of routines, built on BLAS, for more-complicated (dense) linear algebra operations like matrix inversion and diagonalization. You can download LAPACK from the [http://www.netlib.org/lapack/ LAPACK Home Page<span style="color: red; font-weight: bold;">]. More LAPACK links can be found on [http://SAL.KachinaTech.COM/B/0/LAPACK.html SAL</span>].</td><td>+</td><td style="background: #cfc; font-size: smaller;">LAPACK, the Linear Algebra PACKage, is a standard collection of routines, built on BLAS, for more-complicated (dense) linear algebra operations like matrix inversion and diagonalization. You can download LAPACK from the [http://www.netlib.org/lapack/ LAPACK Home Page].</td></tr>
<tr><td> </td><td style="background: #eee; font-size: smaller;"></td><td> </td><td style="background: #eee; font-size: smaller;"></td></tr>
<tr><td>-</td><td style="background: #ffa; font-size: smaller;">Note that <span style="color: red; font-weight: bold;">MPB </span>looks for LAPACK by linking with <code>-llapack</code>. This means that the library must be called <code>liblapack.a</code> and be installed in a standard directory like <code>/usr/local/lib</code> (alternatively, you can specify another directory via the <code>LDFLAGS</code> environment variable as described earlier). (See also below for the <code>--with-lapack=''lib''</code> option to <span style="color: red; font-weight: bold;">MPB's </span><code>configure</code> script, to manually specify a library location.)</td><td>+</td><td style="background: #cfc; font-size: smaller;">Note that <span style="color: red; font-weight: bold;">our software </span>looks for LAPACK by linking with <code>-llapack</code>. This means that the library must be called <code>liblapack.a</code> and be installed in a standard directory like <code>/usr/local/lib</code> (alternatively, you can specify another directory via the <code>LDFLAGS</code> environment variable as described earlier). (See also below for the <code>--with-lapack=''lib''</code> option to <span style="color: red; font-weight: bold;">our </span><code>configure</code> script, to manually specify a library location.)</td></tr>
</table>
Stevenjhttp://ab-initio.mit.edu/wiki/index.php?title=Template:Installing_BLAS_and_LAPACK&diff=336&oldid=prevStevenj at 22:59, 22 October 20052005-10-22T22:59:39Z<p></p>
<p><b>New page</b></p><div>=== BLAS ===<br />
<br />
The first thing you must have on your system is a BLAS implementation. "BLAS" stands for "Basic Linear Algebra Subroutines," and is a standard interface for operations like matrix multiplication. It is designed as a building-block for other linear-algebra applications, and is used both directly by our code and in LAPACK (see below). By using it, we can take advantage of many highly-optimized implementations of these operations that have been written to the BLAS interface. (Note that you will need implementations of BLAS levels 1-3.)<br />
<br />
You can find more BLAS information, as well as a basic implementation, on the [http://www.netlib.org/blas/ BLAS Homepage]. Once you get things working with the basic BLAS implementation, it might be a good idea to try and find a more optimized BLAS code for your hardware. Vendor-optimized BLAS implementations are available as part of the Compaq CXML, IBM ESSL, SGI sgimath, and other libraries. Recently, there has also been work on self-optimizing BLAS implementations that can achieve performance competitive with vendor-tuned codes; see the [http://math-atlas.sourceforge.net/ ATLAS] homepage (and also [http://www.icsi.berkeley.edu/~bilmes/phipac/ PhiPACK]). Links to more BLAS implementations can be found on [http://SAL.KachinaTech.COM/B/0/BLAS.html SAL]. I recommend ATLAS, but it does take some time to compile.<br />
<br />
Note that the generic BLAS does not come with a <code>Makefile</code><nowiki>; compile it with something like: </nowiki><br />
<br />
mkdir blas &amp;&amp; cd blas # the BLAS archive does not create its own directory<br />
''get http://www.netlib.org/blas/blas.tgz''<br />
gunzip blas.tgz<br />
tar xf blas.tar<br />
f77 -c -O3 *.f # compile all of the .f files to produce .o files<br />
ar rv libblas.a *.o # combine the .o files into a library<br />
su -c "cp libblas.a /usr/local/lib" # switch to root and install<br />
<br />
(Replace <code>-O3</code> with your favorite optimization options. On Linux, I use <code>g77 -O3 -fomit-frame-pointer -funroll-loops</code>, with <code>-malign-double -mcpu=i686</code> on a Pentium II.) Note that MPB looks for the standard BLAS library with <code>-lblas</code>, so the library file should be called <code>libblas.a</code> and reside in a standard directory like <code>/usr/local/lib</code>. (See also below for the <code>--with-blas=''lib''</code> option to MPB's <code>configure</code> script, to manually specify a library location.)<br />
<br />
=== LAPACK ===<br />
<br />
LAPACK, the Linear Algebra PACKage, is a standard collection of routines, built on BLAS, for more-complicated (dense) linear algebra operations like matrix inversion and diagonalization. You can download LAPACK from the [http://www.netlib.org/lapack/ LAPACK Home Page]. More LAPACK links can be found on [http://SAL.KachinaTech.COM/B/0/LAPACK.html SAL].<br />
<br />
Note that MPB looks for LAPACK by linking with <code>-llapack</code>. This means that the library must be called <code>liblapack.a</code> and be installed in a standard directory like <code>/usr/local/lib</code> (alternatively, you can specify another directory via the <code>LDFLAGS</code> environment variable as described earlier). (See also below for the <code>--with-lapack=''lib''</code> option to MPB's <code>configure</code> script, to manually specify a library location.)</div>Stevenj