<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
  "http://www.w3.org/TR/html4/loose.dtd">  
<html > 
<head><title>Prerequisites</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)"> 
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)"> 
<!-- html,3 --> 
<meta name="src" content="userhtml.tex"> 
<link rel="stylesheet" type="text/css" href="userhtml.css"> 
</head><body 
>
   <!--l. 30--><div class="crosslinks"><p class="noindent"><span 
class="cmr-12">[</span><a 
href="userhtmlsu2.html" ><span 
class="cmr-12">next</span></a><span 
class="cmr-12">] [</span><a 
href="#tailuserhtmlsu1.html"><span 
class="cmr-12">tail</span></a><span 
class="cmr-12">] [</span><a 
href="userhtmlse3.html#userhtmlsu1.html" ><span 
class="cmr-12">up</span></a><span 
class="cmr-12">] </span></p></div>
   <h4 class="subsectionHead"><span class="titlemark"><span 
class="cmr-12">3.1   </span></span> <a 
 id="x9-80003.1"></a><span 
class="cmr-12">Prerequisites</span></h4>
<!--l. 32--><p class="noindent" ><span 
class="cmr-12">The following base libraries are needed:</span>
                                                                               

                                                                               
     <dl class="description"><dt class="description">
<span 
class="cmbx-12">BLAS</span> </dt><dd 
class="description"><span class="cite"><span 
class="cmr-12">[</span><a 
href="userhtmlli5.html#Xblas3"><span 
class="cmr-12">17</span></a><span 
class="cmr-12">,</span><span 
class="cmr-12">&#x00A0;</span><a 
href="userhtmlli5.html#Xblas2"><span 
class="cmr-12">18</span></a><span 
class="cmr-12">,</span><span 
class="cmr-12">&#x00A0;</span><a 
href="userhtmlli5.html#Xblas1"><span 
class="cmr-12">25</span></a><span 
class="cmr-12">]</span></span> <span 
class="cmr-12">Many vendors provide optimized versions of BLAS; if no</span>
     <span 
class="cmr-12">vendor  version  is  available  for  a  given  platform,  the  ATLAS  software</span>
     <span 
class="cmr-12">(</span><a 
href="http://math-atlas.sourceforge.net" ><span 
class="cmr-12">math-atlas.sourceforge .net</span></a><span 
class="cmr-12">) may be employed. The reference BLAS from</span>
     <span 
class="cmr-12">Netlib (</span><a 
href="http://www.netlib.org/blas" ><span 
class="cmr-12">www.netlib.org/blas</span></a><span 
class="cmr-12">) are meant to define the standard behaviour of</span>
     <span 
class="cmr-12">the BLAS interface, so they are not optimized for any particular platform,</span>
     <span 
class="cmr-12">and should only be used as a last resort. Note that BLAS computations form</span>
     <span 
class="cmr-12">a relatively small part of the AMG4PSBLAS/PSBLAS; however they are</span>
     <span 
class="cmr-12">critical when using preconditioners based on the MUMPS, UMFPACK or</span>
     <span 
class="cmr-12">SuperLU third party libraries. UMFPACK requires a full LAPACK library;</span>
     <span 
class="cmr-12">our experience is that configuring ATLAS for building full LAPACK does</span>
     <span 
class="cmr-12">not always work in the expected way. Our advice is first to download the</span>
     <span 
class="cmr-12">LAPACK tarfile from </span><a 
href="http://www.netlib.org/lapack" ><span 
class="cmr-12">www.netlib.org/lapack</span></a> <span 
class="cmr-12">and install it independently of</span>
     <span 
class="cmr-12">ATLAS. In this case, you need to modify the OPTS and NOOPT definitions</span>
     <span 
class="cmr-12">for including -fPIC compilation option in the make.inc file of the LAPACK</span>
     <span 
class="cmr-12">library.</span>
     </dd><dt class="description">
<span 
class="cmbx-12">MPI</span> </dt><dd 
class="description"><span class="cite"><span 
class="cmr-12">[</span><a 
href="userhtmlli5.html#XMPI2"><span 
class="cmr-12">24</span></a><span 
class="cmr-12">,</span><span 
class="cmr-12">&#x00A0;</span><a 
href="userhtmlli5.html#XMPI1"><span 
class="cmr-12">30</span></a><span 
class="cmr-12">]</span></span> <span 
class="cmr-12">A version of MPI is available on most high-performance computing</span>
     <span 
class="cmr-12">systems.</span>
     </dd><dt class="description">
<span 
class="cmbx-12">PSBLAS</span> </dt><dd 
class="description"><span class="cite"><span 
class="cmr-12">[</span><a 
href="userhtmlli5.html#XPSBLASGUIDE"><span 
class="cmr-12">20</span></a><span 
class="cmr-12">,</span><span 
class="cmr-12">&#x00A0;</span><a 
href="userhtmlli5.html#Xpsblas_00"><span 
class="cmr-12">22</span></a><span 
class="cmr-12">]</span></span>   <span 
class="cmr-12">Parallel   Sparse   BLAS   (PSBLAS)   is   available   from</span>
     <a 
href="https://psctoolkit.github.io/products/psblas/" ><span 
class="cmr-12">psctoolkit.github.io/ products/psblas/</span></a><span 
class="cmr-12">; version 3.7.0 (or later) is required.</span>
     <span 
class="cmr-12">Indeed, all the prerequisites listed so far are also prerequisites of PSBLAS.</span></dd></dl>
<!--l. 60--><p class="noindent" ><span 
class="cmr-12">Please note that the four previous libraries must have Fortran interfaces compatible with</span>
<span 
class="cmr-12">AMG4PSBLAS; usually this means that they should all be built with the same</span>
<span 
class="cmr-12">compiler being used for AMG4PSBLAS.</span>
<!--l. 64--><p class="indent" >   <span 
class="cmr-12">If you want to use the PSBLAS support for NVIDIA GPUs, you will also</span>
<span 
class="cmr-12">need:</span>
     <dl class="description"><dt class="description">
<span 
class="cmbx-12">PSBLAS-EXT</span> </dt><dd 
class="description"><span 
class="cmr-12">Parallel  Sparse  BLAS  (PSBLAS)  Extensions,  available  from</span>
     <a 
href="https://psctoolkit.github.io/products/psblasext/" ><span 
class="cmr-12">psctoolkit.github.io/products/psblasext/</span></a><span 
class="cmr-12">; version 1.3.0 (or later).</span>
     </dd><dt class="description">
<span 
class="cmbx-12">SPGPU</span> </dt><dd 
class="description"><span 
class="cmr-12">Sparse CUDA kernels for NVIDIA GPUs; available from GitHub, see</span>
     <span 
class="cmr-12">also </span><a 
href="https://psctoolkit.github.io/products/psblasext/" ><span 
class="cmr-12">psctoolkit.github.io/products/psblasext/</span></a><span 
class="cmr-12">.</span></dd></dl>
<!--l. 76--><p class="noindent" ><span 
class="cmr-12">See also Sec</span><span 
class="cmr-12">&#x00A0;</span><a 
href="userhtmlsu7.html#x16-150004.2"><span 
class="cmr-12">4.2</span><!--tex4ht:ref: sec:gpu-example --></a><span 
class="cmr-12">.</span>
                                                                               

                                                                               
   <!--l. 79--><div class="crosslinks"><p class="noindent"><span 
class="cmr-12">[</span><a 
href="userhtmlsu2.html" ><span 
class="cmr-12">next</span></a><span 
class="cmr-12">] [</span><a 
href="userhtmlsu1.html" ><span 
class="cmr-12">front</span></a><span 
class="cmr-12">] [</span><a 
href="userhtmlse3.html#userhtmlsu1.html" ><span 
class="cmr-12">up</span></a><span 
class="cmr-12">] </span></p></div>
<!--l. 79--><p class="indent" >   <a 
 id="tailuserhtmlsu1.html"></a>  
</body></html>