mirror of https://gitlab.com/QEF/q-e.git
148 lines
6.0 KiB
Plaintext
148 lines
6.0 KiB
Plaintext
----------------------------------------------------------------------
|
|
OLD INSTALLATION PROCEDURE
|
|
----------------------------------------------------------------------
|
|
|
|
*** WARNING ***
|
|
This installation procedure is deprecated. It is still provided
|
|
mainly for architectures that aren't yet supported by the new
|
|
procedure.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
To install Quantum-ESPRESSO from source, you need C and Fortran-95
|
|
compilers (Fortran-90 is not sufficient, but most "Fortran-90"
|
|
compilers are actually Fortran-95-compliant).
|
|
If you don't have a commercial Fortran-95 compiler, you may install
|
|
the free "g95" compiler (http://www.g95.org/): it is still unfinished
|
|
but already usable.
|
|
You also need a minimal Unix environment: basically, a command shell
|
|
(e.g., "bash" or "tcsh") and the "make" and "awk" utilities.
|
|
|
|
Installation is a three-step procedure:
|
|
|
|
1) "cd" to the top directory of the PWscf source tree, 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"
|
|
|
|
Running "make" without arguments prints a list of available
|
|
targets. See also below.
|
|
|
|
----------------------------------------------------------------------
|
|
First step : choosing the architecture
|
|
----------------------------------------------------------------------
|
|
|
|
In this step, the following files are generated:
|
|
|
|
make.sys compilation settings and flags
|
|
*/make.depend dependencies, per source directory
|
|
|
|
"make.sys" is copied from a set of architecture-dependent templates.
|
|
Here is a list of supported architectures:
|
|
|
|
alpha HP-Compaq alpha workstations
|
|
alphaMPI HP-Compaq alpha parallel machines
|
|
altix SGI Altix 350/3000 with Linux, Intel compiler
|
|
beo_ifc Linux clusters of PCs, Intel compiler
|
|
beowulf Linux clusters of PCs, Portland compiler
|
|
cygwin Windows PC, Intel compiler
|
|
fujitsu Fujitsu vector machines
|
|
hitachi Hitachi SR8000
|
|
hp HP PA-RISC workstations
|
|
hpMPI HP PA-RISC parallel machines
|
|
ia64 HP Itanium workstations
|
|
ibm IBM RS6000 workstations
|
|
ibmsp IBM SP2/3/4 machines
|
|
irix SGI workstations
|
|
origin SGI Origin 2000/3000
|
|
pc_abs Linux PCs, Absoft compiler
|
|
pc_ifc Linux PCs, Intel compiler
|
|
pc_lahey Linux PCs, Lahey compiler
|
|
pc_pgi Linux PCs, Portland compiler
|
|
sun Sun workstations
|
|
sunMPI Sun parallel machines
|
|
sxcross NEC SX-6 (cross-compilation)
|
|
t3e Cray T3E
|
|
|
|
"make.depend" files are actually generated by the "makedeps.sh" shell
|
|
script. If you modify the program sources, you might need to rerun it.
|
|
|
|
----------------------------------------------------------------------
|
|
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 cp compile CPV/cp.x (Car-Parrinello MD with ultrasoft
|
|
pseudopotentials)
|
|
make tools compile pwtools/* (miscellaneous tools for data
|
|
analysis)
|
|
make pwcond compile PWCOND/pwcond.x (for ballistic conductance)
|
|
make raman compile Raman/ram.x (Raman cross-section calculation)
|
|
|
|
make pwall same as "make pw ph pp d3 raman pwcond gamma tools"
|
|
|
|
make ld1 compile atomic/ld1.x code for pseudopotential generation
|
|
make upf compile upftools/* (utilities for pseudopotential
|
|
conversion)
|
|
make links create symbolic links to all executables in bin/
|
|
(required to run the examples)
|
|
make all same as "make pwall ld1 cp upf"
|
|
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 any settings after a previous (successful or failed)
|
|
compilation, you must run "make clean" before recompiling, unless you
|
|
know exactly which routines are affected by the changed settings and
|
|
how to force their recompilation.
|