mirror of https://gitlab.com/QEF/q-e.git
143 lines
5.9 KiB
Plaintext
143 lines
5.9 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.
|
||
|
|
||
|
----------------------------------------------------------------------
|
||
|
|
||
|
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.rules compilation rules
|
||
|
*/.dependencies dependencies, per source directory
|
||
|
|
||
|
"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
|
||
|
altix SGI Altix 350/3000 with Linux, Intel 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
|
||
|
ia64 HP Itanium, 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 "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 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 pwcond compile PWCOND/pwcond.x (for ballistic conductance)
|
||
|
make nc compile PWNC/pw.x (non-colinear magnetism)
|
||
|
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 fpmd 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.
|