mirror of https://gitlab.com/QEF/q-e.git
Some update to the documentation: removed obsolete info on compilation
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@11808 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
aa80e97a06
commit
8142fc2c3c
|
@ -6,15 +6,16 @@ Fixed in svn version:
|
|||
* Usage of "~" in pseudo_dir is sometimes acceptable by fortran but not
|
||||
by C. If so, a message is printed instead of weird characters in MD5.
|
||||
* PHonon: Gamma-specific code segfaulting with GGA
|
||||
* NaN's in stress with nonocal functionals under some circumstances
|
||||
* pw.x: "task-group" parallelization wasn't working properly in some cases.
|
||||
V.5.2.1 is also affected. cp.x is not affected.
|
||||
* NaN's in stress with nonlocal functionals when the physical dimensions of
|
||||
FFT arrays is larger than the true ones and arrays are paded with zeros
|
||||
* pw.x: "task-group" parallelization wasn't working properly when the number
|
||||
of bands was smaller than the number of task groups. Also affects v.5.2.1
|
||||
|
||||
Incompatible changes in svn version:
|
||||
|
||||
* Standard F2003 calls to: get_environment_variable, get_command_argument,
|
||||
command_argument_count, flush, are used everywhere instead of wrappers.
|
||||
Some old versions of compilers may no longer work.
|
||||
Some old compilers may no longer work and must be considered unsupported.
|
||||
* Old Fermi Surface plotting tools kvecs_FS.f, bands_FS.f90, in PW/tools/,
|
||||
replaced by new code PP/src/fermisurface.f90
|
||||
|
||||
|
|
|
@ -646,13 +646,8 @@ the newer FFTW3 library and the following vendor-specific FFT libraries:
|
|||
if none is found, it will search for an external FFTW v.3 library;
|
||||
if none is found, it will fall back to the internal copy of FFTW.
|
||||
|
||||
If you have recent versions (v.10 or later) of MKL installed, you
|
||||
may use the FFTW3 interface provided with MKL. This can be directly
|
||||
linked in MKL distributed with v.12 and later of the Intel compiler.
|
||||
% Following is obsolete:
|
||||
% In earlier versions, only sources are distributed: you have to compile
|
||||
% them and to modify file \texttt{make.sys} accordingly
|
||||
% (MKL must be linked {\em after} the FFTW-MKL interface).
|
||||
If you have MKL libraries, you may use the provided FFTW3 interface
|
||||
(v.10 and later), or directly link FFTW3 from MKL (v.12 and later).
|
||||
|
||||
In order to use Intel DFTI from MKL, you need to add \texttt{-D\_\_DFTI}
|
||||
to \texttt{DFLAGS} in the \texttt{make.sys} file.
|
||||
|
@ -763,14 +758,6 @@ and try \texttt{make} again. Also see Sec.(\ref{SubSec:Download}).
|
|||
\subsection{Running tests and examples}
|
||||
\label{SubSec:Examples}
|
||||
|
||||
% You should first of all ensure that you have downloaded
|
||||
% and correctly unpacked the package containing examples (since v.4.1 in a
|
||||
% separate package):
|
||||
% \begin{verbatim}
|
||||
% tar -zxvf /path/to/package/espresso-X.Y.Z-examples.tar.gz
|
||||
% \end{verbatim}
|
||||
% will unpack several subdirectories into \texttt{espresso-X.Y.Z/}.
|
||||
|
||||
As a final check that compilation was successful, you may want to run some or
|
||||
all of the examples. There are two different types of examples:
|
||||
\begin{itemize}
|
||||
|
@ -867,7 +854,7 @@ gfortran versions) are no longer supported since v.5.1.2.
|
|||
Also, compilers that do not support intrinsic calls
|
||||
\texttt{flush}, \texttt{get\_environment\_variable},
|
||||
\texttt{get\_command\_argument}, \texttt{command\_argument\_count}
|
||||
will no longer be supported after v.5.2.1.
|
||||
are no longer supported since v.5.2.1.
|
||||
|
||||
C and Fortran compilers must be in your PATH.
|
||||
If \configure\ says that you have no working compiler, well,
|
||||
|
@ -1006,43 +993,18 @@ Beware: the default integer type for 64-bit machine is typically
|
|||
but it is not guaranteed to work and will not give
|
||||
any advantage anyway.
|
||||
|
||||
Currently the following compilers are supported by \configure:
|
||||
Intel (ifort), Portland (pgf90), gfortran, g95, Pathscale (pathf95),
|
||||
Sun Studio (sunf95), AMD Open64 (openf95). The ordering approximately
|
||||
reflects the quality of support. Both Intel MKL and AMD acml mathematical
|
||||
libraries are supported. Some combinations of compilers and of libraries
|
||||
may however require manual editing of \texttt{make.sys}.
|
||||
Currently, \configure\ supports Intel (ifort), NAG (nagfor), and gfortran
|
||||
compilers. Support for other compilers: g95, Portland (pgf90), Pathscale
|
||||
(pathf95), Sun Studio (sunf95), AMD Open64 (openf95), added in the past,
|
||||
is still there, but it might have become obsolete.
|
||||
Both Intel MKL and AMD acml mathematical libraries are supported, the
|
||||
former much better than the latter.
|
||||
|
||||
It is usually convenient to create semi-statically linked executables (with only
|
||||
libc, libm, libpthread dynamically linked). If you want to produce a binary
|
||||
that runs on different machines, compile it on the oldest machine you have
|
||||
(i.e. the one with the oldest version of the operating system).
|
||||
|
||||
If you get errors like {\em IPO Error: unresolved : \_\_svml\_cos2}
|
||||
at the linking stage, your compiler is optimized to use the SSE
|
||||
version of sine, cosine etc. contained in the SVML library. Append
|
||||
\texttt{-lsvml} to the list of libraries in your \texttt{make.sys}
|
||||
file (info by Axel Kohlmeyer, oct.2007).
|
||||
|
||||
\paragraph{Linux PCs with Portland compiler (pgf90)}
|
||||
|
||||
\qe\ does not work reliably, or not at all, with many old
|
||||
versions ($< 6.1$) of the Portland Group compiler (pgf90).
|
||||
Use the latest version of each
|
||||
release of the compiler, with patches if available (see
|
||||
the Portland Group web site, \texttt{http://www.pgroup.com/}).
|
||||
|
||||
\paragraph{Linux PCs with Pathscale compiler}
|
||||
|
||||
Version 3.1 and version 4 (open source!) of the Pathscale EKO compiler
|
||||
work (info by Cezary Sliwa, April 2011, and Carlo Nervi, June 2011).
|
||||
In case of mysterious errors while compiling \texttt{iotk},
|
||||
remove all lines like:
|
||||
\begin{verbatim}
|
||||
# 1 "iotk_base.spp"
|
||||
\end{verbatim}
|
||||
from all \texttt{iotk} source files.
|
||||
|
||||
\paragraph{Linux PCs with gfortran}
|
||||
|
||||
Only recent versions (at least v.4.4) of gfortran properly compile \qe.
|
||||
|
@ -1081,24 +1043,6 @@ not \texttt{-lmkl\_intel\_lp64}, and the like for other architectures.
|
|||
Since v.5.1, you may use the following workaround:
|
||||
add preprocessing option \texttt{-Dzdotc=zdotc\_wrapper} to \texttt{DFLAGS}.
|
||||
|
||||
If you experience problems in reading files produced by previous versions
|
||||
of \qe: ``gfortran used 64-bit record markers to allow writing of records
|
||||
larger than 2 GB. Before with 32-bit record markers only records $<$2GB
|
||||
could be written. However, this caused problems with older files and
|
||||
inter-compiler operability. This was solved in GCC 4.2 by using 32-bit
|
||||
record markers but such that one can still store $>$2GB records (following
|
||||
the implementation of Intel). Thus this issue should be gone. See 4.2
|
||||
release notes (item ``Fortran") at
|
||||
\texttt{http://gcc.gnu.org/gcc-4.2/changes.html}."
|
||||
(Info by Tobias Burnus, March 2010).
|
||||
|
||||
``Using gfortran v.4.4 (after May 27, 2009) and 4.5 (after May 5, 2009) can
|
||||
produce wrong results, unless the environment variable
|
||||
GFORTRAN\_UNBUFFERED\_ALL=1 is set. Newer 4.4/4.5 versions
|
||||
(later than April 2010) should be OK. See\\
|
||||
\texttt{http://gcc.gnu.org/bugzilla/show\_bug.cgi?id=43551}."
|
||||
(Info by Tobias Burnus, March 2010).
|
||||
|
||||
\paragraph{Linux PCs with g95}
|
||||
|
||||
g95 v.0.91 and later versions (\texttt{http://www.g95.org}) should
|
||||
|
@ -1106,6 +1050,17 @@ work, but the executables it produces are noticeably slower than
|
|||
those of other compilers. Also notice that the development of g95
|
||||
seems to have stopped.
|
||||
|
||||
\paragraph{Linux PCs with Pathscale compiler}
|
||||
|
||||
Version 3.1 and version 4 (open source!) of the Pathscale EKO compiler
|
||||
work (info by Cezary Sliwa, April 2011, and Carlo Nervi, June 2011).
|
||||
In case of mysterious errors while compiling \texttt{iotk},
|
||||
remove all lines like:
|
||||
\begin{verbatim}
|
||||
# 1 "iotk_base.spp"
|
||||
\end{verbatim}
|
||||
from all \texttt{iotk} source files.
|
||||
|
||||
\paragraph{Linux PCs with Sun Studio compiler}
|
||||
|
||||
``The Sun Studio compiler, sunf95, is free (web site:
|
||||
|
@ -1152,10 +1107,8 @@ the directory containing the compiler executable -- in your
|
|||
initialization files. Consult the documentation provided by Intel.
|
||||
|
||||
The warning: {\em feupdateenv is not implemented and will always fail},
|
||||
showing up in recent versions, can be safely ignored. Warnings on
|
||||
"bad preprocessing option" when compiling iotk
|
||||
and complains about ``recommanded formats''
|
||||
should also be ignored.
|
||||
can be safely ignored. Warnings on "bad preprocessing option" when compiling
|
||||
iotk and complains about ``recommanded formats'' may also be ignored.
|
||||
|
||||
{\bf ifort v.12}: release 12.0.0 miscompiles iotk, leading to
|
||||
mysterious errors when reading data files. Workaround: increase
|
||||
|
@ -1170,10 +1123,10 @@ with ifort 11.1.056 and MKL 10.2.2.025 (Carlo Nervi, Oct. 2009).
|
|||
|
||||
\paragraph{Linux PCs with MKL libraries}
|
||||
On Intel CPUs it is very convenient to use Intel MKL libraries.
|
||||
They can be also used for AMD CPU, selecting the appropriate machine-optimized
|
||||
libraries, and also together with non-Intel compilers. Note however
|
||||
that recent versions of MKL (10.2 and following) do not perform
|
||||
well on AMD machines.
|
||||
Recent versions also contain optimized FFT routines and a FFTW
|
||||
interface. MKL libraries can be used also with non-Intel compilers.
|
||||
They work also for AMD CPU, selecting the appropriate machine-optimized
|
||||
libraries, but with reduced performances.
|
||||
|
||||
\configure\ should recognize properly installed MKL libraries.
|
||||
By default the non-threaded version of MKL is linked, unless option
|
||||
|
@ -1181,8 +1134,6 @@ By default the non-threaded version of MKL is linked, unless option
|
|||
refer to the following web page to find the correct way to link MKL:\\
|
||||
\texttt{http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/}.
|
||||
|
||||
Recent MKL versions also contain optimized FFT routines and a FFTW interface.
|
||||
|
||||
For parallel (MPI) execution on multiprocessor (SMP) machines, set the
|
||||
environmental variable OMP\_NUM\_THREADS to 1 unless you know what you
|
||||
are doing. See Sec.\ref{Sec:para} for more info on this
|
||||
|
|
Loading…
Reference in New Issue