quantum-espresso/INSTALL

253 lines
10 KiB
Plaintext

----------------------------------------------------------------------
*** NEW *** NEW INSTALLATION PROCEDURE *** NEW ***
----------------------------------------------------------------------
*** WARNING ***
This installation procedure is still experimental, and only a limited
number of architectures are currently supported.
You are encouraged to try it out and report feedback. The old
installation procedure will be removed at some point in the future.
*** WARNING ***
Installation is a two-step procedure:
1) "cd" to the top directory of the PWscf tree (that should be the one
where this file is), and issue this command at the shell prompt:
./configure
2) Now run:
make target
where "target" is one (or more) of the following:
pw ph pp d3 gamma pwcond nc tools pwall upf fpmd cp all links
Running "make" without arguments prints a list of available
targets.
Cross-compilation isn't currently supported. It might be at some
point in the future, but only if we get enough requests.
----------------------------------------------------------------------
First step : configuring
----------------------------------------------------------------------
This replaces step 1 and 2 of the old installation procedure
(explained below).
"configure" is a GNU-style configuration script, automatically
generated by GNU Autoconf. (If you want to play with it, its source
file is "configure.ac"; you may also want to edit "make.sys.in",
"make.rules.in", and "makedeps.sh".) It generates the following
files:
$topdir/make.sys compilation settings and flags
$topdir/make.rules compilation rules
$topdir/*/.dependencies dependencies, per source directory
where $topdir is the top directory of the PWscf source tree.
You shouldn't have to edit any of these files after they are
generated, in order to compile the program. If you ever have to,
that's a bug in the configuration script and you are encouraged to
submit a bug report.
".dependencies" files are actually generated by the "makedeps.sh"
shell script. If you modify the program sources, you might need to
rerun it. Note that you must run it from the directory it is in.
To force using a particular compiler, or compilation flags, or
libraries, you may set the appropriate environment variables when
running the configuration script. For example:
./configure CC=gcc CFLAGS=-O3 LIBS="-llapack -lblas -lfftw"
This should always be preferred to editing "make.sys" by hand, when
possible. (Even more preferable is that "make.sys" doesn't need any
editing at all.)
----------------------------------------------------------------------
Second step : compiling
----------------------------------------------------------------------
This is identical to step 3 of the old installation procedure.
Here is a list of available compilation targets:
make pw compile PW/pw.x (electronic and ionic optimization),
PW/memory.x (checks memory usage and tests input)
make ph compile PH/ph.x (phonons)
make pp compile PP/pp.x and other postprocessing codes
make d3 compile D3/d3.x (third-order energy derivatives)
make gamma compile Gamma/phcg.x (Gamma-only version of ph.x)
make fpmd compile FPMD/par2.x (Car-Parrinello MD)
make cp compile CPV/cp.x (Car-Parrinello MD with ultrasoft
pseudopotentials)
make tools compile pwtools/* (miscellaneous tools for data
analysis)
make upf compile upftools/* (utilities for pseudopotential
conversion)
make pwcond compile PWCOND/pwcond.x (for ballistic conductance)
make nc compile PWNC/pw.x (non-colinear magnetism)
make pwall same as "make pw ph pp d3 pwcond gamma tools"
make links create symbolic links to all executables in bin/
(required to run the examples)
make clean remove object files and executables
make veryclean remove configuration files too
make tar build a tarball of the current source tree
PLEASE NOTE: if you change compilation or precompilation options after
the first compilation (or a failed compilation), run "make clean"
before recompiling, unless you know exactly which routines are
affected by compilation or precompilation options and how to force
their recompilation.
----------------------------------------------------------------------
OLD INSTALLATION PROCEDURE
----------------------------------------------------------------------
Installation is a three-step procedure:
1) "cd" to the top directory of the PWscf tree (that should be the one
where this file is), and issue this command at the shell prompt:
./configure.old architecture
where "architecture" identifies your machine's type.
Running "./configure.old" without arguments prints a list of available
architectures.
2) Edit the file "make.sys" to adapt to your local configuration:
typically, you'll have to specify where libraries are placed on
your system.
3) Now run:
make target
where "target" is one (or more) of the following:
pw ph pp d3 gamma tools all upf fpmd cp links
Running "make" without arguments prints a list of available
targets.
----------------------------------------------------------------------
First step : choosing the architecture
----------------------------------------------------------------------
In this step, the following files are generated:
$topdir/make.sys compilation settings and flags
$topdir/make.rules compilation rules
$topdir/*/.dependencies dependencies, per source directory
where $topdir is the top directory of the PWscf source tree.
"make.sys" is copied from a set of architecture-dependent templates.
Here is a list of supported architectures:
ibmsp IBM SP2/3/4, IBM compiler
t3e Cray T3E, Cray compiler
origin SGI Origin 2000/3000, SGI compiler
sunmpi Sun parallel machines, Sun compiler
alphaMPI HP-Compaq alpha parallel machines, HP-Compaq compiler
hp HP PA-RISC workstations, HP compiler
hpMPI HP PA-RISC parallel machines, HP compiler
beowulf Linux Beowulf (PC cluster), Portland compiler
beo_ifc As above, Intel compiler
alpha HP-Compaq alpha workstations, HP-Compaq compiler
ibm IBM RS6000 workstations, IBM compiler
irix SGI workstations, SGI compiler
pc_abs Linux PCs, Absoft compiler
pc_pgi Linux PCs, Portland compiler
pc_ifc Linux PCs, Intel compiler
pc_lahey Linux PCs, Lahey compiler
cygwin Windows PC, Intel compiler (experimental)
sun Sun workstations, Sun compiler
sxcross NEC SX-6, cross-compilation
fujitsu Fujitsu vector machines, Fujitsu compiler
hitachi Hitachi SR8000
".dependencies" files are actually generated by the "shdep" shell
script in the "install" directory. If you modify the program sources,
you might need to rerun it. Note that you must run it from the
directory it is in.
----------------------------------------------------------------------
Second step : editing configuration settings
----------------------------------------------------------------------
Edit file "make.sys" and adapt it to your local configuration. (There
is a slight chance that it may work out of the box.)
In most cases you will have to specify just the name and location of
libraries. PWscf needs the following libraries, or equivalent:
BLAS, LAPACK linear algebra
FFTW discrete Fourier transform
MPI (for parallel environment) message passing
Highly optimized, architecture-specific libraries may be available on
your machine. If this is the case, you may want to use them.
Some examples of such libraries are:
ESSL (on AIX) replaces BLAS and FFTW
MKL (on Intel) replaces BLAS and LAPACK
complib.sgimath (on IRIX) replaces BLAS and LAPACK
MASS (on AIX) faster transcendental functions
Linking of MPI is also handled transparently by some compilers, that
is, you don't have to specify the library location.
If no BLAS/LAPACK and/or FFTW libraries are available, you can compile
them from the sources included with the PWscf distribution.
Instructions on how to do it can be found in the "make.sys" template.
----------------------------------------------------------------------
Third step : compiling
----------------------------------------------------------------------
Here is a list of available compilation targets:
make pw compile PW/pw.x (electronic and ionic optimization),
PW/memory.x (checks memory usage and tests input)
make ph compile PH/ph.x (phonons)
make pp compile PP/pp.x and other postprocessing codes
make d3 compile D3/d3.x (third-order energy derivatives)
make gamma compile Gamma/phcg.x (Gamma-only version of ph.x)
make fpmd compile FPMD/par2.x (Car-Parrinello MD)
make cp compile CPV/cp.x (Car-Parrinello MD with ultrasoft
pseudopotentials)
make tools compile pwtools/* (miscellaneous tools for data
analysis)
make upf compile upftools/* (utilities for pseudopotential
conversion)
make pwcond compile PWCOND/pwcond.x (for ballistic conductance)
make nc compile PWNC/pw.x (non-colinear magnetism)
make pwall same as "make pw ph pp d3 pwcond gamma tools"
make links create symbolic links to all executables in bin/
(required to run the examples)
make clean remove object files and executables
make veryclean remove configuration files too
make tar build a tarball of the current source tree
PLEASE NOTE: if you change compilation or precompilation options after
the first compilation (or a failed compilation), run "make clean"
before recompiling, unless you know exactly which routines are
affected by compilation or precompilation options and how to force
their recompilation.
----------------------------------------------------------------------
More details of PWscf can be found in the "Installation" section of
the PWscf manual, on-line at http://www.pwscf.org/ (the new
installation procedure isn't covered yet).