Update LAPACK to 3.9.0
This commit is contained in:
parent
e9b636e066
commit
60135f3bd3
|
@ -38,7 +38,7 @@ PROJECT_NAME = LAPACK
|
||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = 3.8.0
|
PROJECT_NUMBER = 3.9.0
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = LAPACK
|
||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = 3.8.0
|
PROJECT_NUMBER = 3.9.0
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||||
# for a project that appears at the top of each page and should give viewer a
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
|
|
@ -439,39 +439,39 @@ SHELL = /bin/sh
|
||||||
\end{quote}
|
\end{quote}
|
||||||
and it will need to be modified to \texttt{SHELL = /sbin/sh} if you are
|
and it will need to be modified to \texttt{SHELL = /sbin/sh} if you are
|
||||||
installing LAPACK on an SGI architecture.
|
installing LAPACK on an SGI architecture.
|
||||||
Second, you will
|
Next, you will need to modify \texttt{FC}, \texttt{FFLAGS},
|
||||||
need to modify the \texttt{PLAT} definition, which is appended to all
|
\texttt{FFLAGS\_DRV}, \texttt{FFLAGS\_NOOPT}, and \texttt{LDFLAGS} to specify
|
||||||
library names, to specify the architecture to which you are installing
|
|
||||||
LAPACK. This features avoids confusion in library names when you are
|
|
||||||
installing LAPACK on more than one architecture. Next, you will need
|
|
||||||
to modify \texttt{FORTRAN}, \texttt{OPTS}, \texttt{DRVOPTS}, \texttt{NOOPT}, \texttt{LOADER},
|
|
||||||
and \texttt{LOADOPTS} to specify
|
|
||||||
the compiler, compiler options, compiler options for the testing and
|
the compiler, compiler options, compiler options for the testing and
|
||||||
timing\footnotemark[\value{footnote}] main programs, loader, loader options.
|
timing\footnotemark[\value{footnote}] main programs, and linker options.
|
||||||
Next you will have to choose which function you will use to time in the \texttt{SECOND} and \texttt{DSECND} routines.
|
Next you will have to choose which function you will use to time in the
|
||||||
|
\texttt{SECOND} and \texttt{DSECND} routines.
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
#The Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME
|
# Default: SECOND and DSECND will use a call to the
|
||||||
TIMER = EXT_ETIME
|
# EXTERNAL FUNCTION ETIME
|
||||||
# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_
|
#TIMER = EXT_ETIME
|
||||||
# TIMER = EXT_ETIME_
|
# For RS6K: SECOND and DSECND will use a call to the
|
||||||
# For gfortran compiler: SECOND and DSECND will use the INTERNAL FUNCTION ETIME
|
# EXTERNAL FUNCTION ETIME_
|
||||||
# TIMER = INT_ETIME
|
#TIMER = EXT_ETIME_
|
||||||
# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...)
|
# For gfortran compiler: SECOND and DSECND will use a call to the
|
||||||
# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME
|
# INTERNAL FUNCTION ETIME
|
||||||
# TIMER = INT_CPU_TIME
|
TIMER = INT_ETIME
|
||||||
# If neither of this works...you can use the NONE value...
|
# If your Fortran compiler does not provide etime (like Nag Fortran
|
||||||
# In that case, SECOND and DSECND will always return 0
|
# Compiler, etc...) SECOND and DSECND will use a call to the
|
||||||
# TIMER = NONE
|
# INTERNAL FUNCTION CPU_TIME
|
||||||
|
#TIMER = INT_CPU_TIME
|
||||||
|
# If none of these work, you can use the NONE value.
|
||||||
|
# In that case, SECOND and DSECND will always return 0.
|
||||||
|
#TIMER = NONE
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
Refer to the section~\ref{second} to get more information.
|
Refer to the section~\ref{second} to get more information.
|
||||||
|
|
||||||
|
|
||||||
Next, you will need to modify \texttt{ARCH}, \texttt{ARCHFLAGS}, and \texttt{RANLIB} to specify archiver,
|
Next, you will need to modify \texttt{AR}, \texttt{ARFLAGS}, and \texttt{RANLIB} to specify archiver,
|
||||||
archiver options, and ranlib for your machine. If your architecture
|
archiver options, and ranlib for your machine. If your architecture
|
||||||
does not require \texttt{ranlib} to be run after each archive command (as
|
does not require \texttt{ranlib} to be run after each archive command (as
|
||||||
is the case with CRAY computers running UNICOS, Hewlett Packard
|
is the case with CRAY computers running UNICOS, Hewlett Packard
|
||||||
computers running HP-UX, or SUN SPARCstations running Solaris), set
|
computers running HP-UX, or SUN SPARCstations running Solaris), set
|
||||||
\texttt{ranlib=echo}. And finally, you must
|
\texttt{RANLIB = echo}. And finally, you must
|
||||||
modify the \texttt{BLASLIB} definition to specify the BLAS library to which
|
modify the \texttt{BLASLIB} definition to specify the BLAS library to which
|
||||||
you will be linking. If an optimized version of the BLAS is available
|
you will be linking. If an optimized version of the BLAS is available
|
||||||
on your machine, you are highly recommended to link to that library.
|
on your machine, you are highly recommended to link to that library.
|
||||||
|
@ -721,24 +721,24 @@ The version that will be used depends on the value of the TIMER variable in the
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item If ETIME is available as an external function, set the value of the TIMER variable in your
|
\item If ETIME is available as an external function, set the value of the TIMER variable in your
|
||||||
make.inc to \texttt{EXT\_ETIME}:\texttt{second\_EXT\_ETIME.f} and \texttt{dsecnd\_EXT\_ETIME.f} will be used.
|
make.inc to \texttt{EXT\_ETIME}: \texttt{second\_EXT\_ETIME.f} and \texttt{dsecnd\_EXT\_ETIME.f} will be used.
|
||||||
Usually on HPPA architectures,
|
Usually on HPPA architectures,
|
||||||
the compiler and loader flag \texttt{+U77} should be included to access
|
the compiler and linker flag \texttt{+U77} should be included to access
|
||||||
the function \texttt{ETIME}.
|
the function \texttt{ETIME}.
|
||||||
|
|
||||||
\item If ETIME\_ is available as an external function, set the value of the TIMER variable in your make.inc
|
\item If ETIME\_ is available as an external function, set the value of the TIMER variable in your make.inc
|
||||||
to \texttt{EXT\_ETIME\_}:\texttt{second\_EXT\_ETIME\_.f} and \texttt{dsecnd\_EXT\_ETIME\_.f} will be used.
|
to \texttt{EXT\_ETIME\_}: \texttt{second\_EXT\_ETIME\_.f} and \texttt{dsecnd\_EXT\_ETIME\_.f} will be used.
|
||||||
It is the case on some IBM architectures such as IBM RS/6000s.
|
It is the case on some IBM architectures such as IBM RS/6000s.
|
||||||
|
|
||||||
\item If ETIME is available as an internal function, set the value of the TIMER variable in your make.inc
|
\item If ETIME is available as an internal function, set the value of the TIMER variable in your make.inc
|
||||||
to \texttt{INT\_ETIME}:\texttt{second\_INT\_ETIME.f} and \texttt{dsecnd\_INT\_ETIME.f} will be used.
|
to \texttt{INT\_ETIME}: \texttt{second\_INT\_ETIME.f} and \texttt{dsecnd\_INT\_ETIME.f} will be used.
|
||||||
This is the case with gfortan.
|
This is the case with gfortan.
|
||||||
|
|
||||||
\item If CPU\_TIME is available as an internal function, set the value of the TIMER variable in your make.inc
|
\item If CPU\_TIME is available as an internal function, set the value of the TIMER variable in your make.inc
|
||||||
to \texttt{INT\_CPU\_TIME}:\texttt{second\_INT\_CPU\_TIME.f} and \texttt{dsecnd\_INT\_CPU\_TIME.f} will be used.
|
to \texttt{INT\_CPU\_TIME}: \texttt{second\_INT\_CPU\_TIME.f} and \texttt{dsecnd\_INT\_CPU\_TIME.f} will be used.
|
||||||
|
|
||||||
\item If none of these function is available, set the value of the TIMER variable in your make.inc
|
\item If none of these function is available, set the value of the TIMER variable in your make.inc
|
||||||
to \texttt{NONE:}\texttt{second\_NONE.f} and \texttt{dsecnd\_NONE.f} will be used.
|
to \texttt{NONE}: \texttt{second\_NONE.f} and \texttt{dsecnd\_NONE.f} will be used.
|
||||||
These routines will always return zero.
|
These routines will always return zero.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
@ -829,8 +829,8 @@ data type to the library if necessary.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\noindent
|
\noindent
|
||||||
The BLAS library is created in \texttt{LAPACK/blas\_PLAT.a}, where
|
The BLAS library is created in \texttt{LAPACK/librefblas.a},
|
||||||
\texttt{PLAT} is the user-defined architecture suffix specified in the file
|
or in the user-defined location specified by \texttt{BLASLIB} in the file
|
||||||
\texttt{LAPACK/make.inc}.
|
\texttt{LAPACK/make.inc}.
|
||||||
|
|
||||||
\subsection{Run the BLAS Test Programs}\label{testblas}
|
\subsection{Run the BLAS Test Programs}\label{testblas}
|
||||||
|
@ -882,8 +882,8 @@ data type to the library if necessary.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\noindent
|
\noindent
|
||||||
The LAPACK library is created in \texttt{LAPACK/lapack\_PLAT.a}, where
|
The LAPACK library is created in \texttt{LAPACK/liblapack.a},
|
||||||
\texttt{PLAT} is the user-defined architecture suffix specified in the file
|
or in the user-defined location specified by \texttt{LAPACKLIB} in the file
|
||||||
\texttt{LAPACK/make.inc}.
|
\texttt{LAPACK/make.inc}.
|
||||||
|
|
||||||
\subsection{Create the Test Matrix Generator Library}
|
\subsection{Create the Test Matrix Generator Library}
|
||||||
|
@ -902,9 +902,9 @@ data type to the library if necessary.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\noindent
|
\noindent
|
||||||
The test matrix generator library is created in \texttt{LAPACK/tmglib\_PLAT.a},
|
The test matrix generator library is created in \texttt{LAPACK/libtmglib.a},
|
||||||
where \texttt{PLAT} is the user-defined architecture suffix specified in the
|
or in the user-defined location specified by \texttt{TMGLIB} in the file
|
||||||
file \texttt{LAPACK/make.inc}.
|
\texttt{LAPACK/make.inc}.
|
||||||
|
|
||||||
\subsection{Run the LAPACK Test Programs}
|
\subsection{Run the LAPACK Test Programs}
|
||||||
|
|
||||||
|
@ -1114,9 +1114,7 @@ To make a library of the instrumented LAPACK routines, first
|
||||||
go to \texttt{LAPACK/TIMING/LIN/LINSRC} and type \texttt{make} followed
|
go to \texttt{LAPACK/TIMING/LIN/LINSRC} and type \texttt{make} followed
|
||||||
by the data types desired, as in the examples of Section~\ref{toplevelmakefile}.
|
by the data types desired, as in the examples of Section~\ref{toplevelmakefile}.
|
||||||
The library of instrumented code is created in
|
The library of instrumented code is created in
|
||||||
\texttt{LAPACK/TIMING/LIN/linsrc\_PLAT.a},
|
\texttt{LAPACK/TIMING/LIN/linsrc.a}.
|
||||||
where \texttt{PLAT} is the user-defined architecture suffix specified in the
|
|
||||||
file \texttt{LAPACK/make.inc}.
|
|
||||||
\end{sloppypar}
|
\end{sloppypar}
|
||||||
|
|
||||||
\item[b)]
|
\item[b)]
|
||||||
|
@ -1251,9 +1249,7 @@ To make a library of the instrumented LAPACK routines, first
|
||||||
go to \texttt{LAPACK/TIMING/EIG/EIGSRC} and type \texttt{make} followed
|
go to \texttt{LAPACK/TIMING/EIG/EIGSRC} and type \texttt{make} followed
|
||||||
by the data types desired, as in the examples of Section~\ref{toplevelmakefile}.
|
by the data types desired, as in the examples of Section~\ref{toplevelmakefile}.
|
||||||
The library of instrumented code is created in
|
The library of instrumented code is created in
|
||||||
\texttt{LAPACK/TIMING/EIG/eigsrc\_PLAT.a},
|
\texttt{LAPACK/TIMING/EIG/eigsrc.a}.
|
||||||
where \texttt{PLAT} is the user-defined architecture suffix specified in the
|
|
||||||
file \texttt{LAPACK/make.inc}.
|
|
||||||
\end{sloppypar}
|
\end{sloppypar}
|
||||||
|
|
||||||
\item[b)]
|
\item[b)]
|
||||||
|
@ -1389,7 +1385,7 @@ installing LAPACK on an SGI architecture.
|
||||||
\section{ETIME}
|
\section{ETIME}
|
||||||
|
|
||||||
On HPPA architectures,
|
On HPPA architectures,
|
||||||
the compiler and loader flag \texttt{+U77} should be included to access
|
the compiler and linker flag \texttt{+U77} should be included to access
|
||||||
the function \texttt{ETIME}.
|
the function \texttt{ETIME}.
|
||||||
|
|
||||||
\section{ILAENV and IEEE-754 compliance}
|
\section{ILAENV and IEEE-754 compliance}
|
||||||
|
@ -1494,13 +1490,13 @@ has two options: increase your stack size, or force all local variables
|
||||||
to be allocated statically.
|
to be allocated statically.
|
||||||
|
|
||||||
On HPPA architectures, the
|
On HPPA architectures, the
|
||||||
compiler and loader flag \texttt{-K} should be used when compiling these testing
|
compiler and linker flag \texttt{-K} should be used when compiling these testing
|
||||||
and timing main programs to avoid such a stack overflow. I.e., set
|
and timing main programs to avoid such a stack overflow. I.e., set
|
||||||
\texttt{DRVOPTS = -K} in the \texttt{LAPACK/make.inc} file.
|
\texttt{FFLAGS\_DRV = -K} in the \texttt{LAPACK/make.inc} file.
|
||||||
|
|
||||||
For similar reasons,
|
For similar reasons,
|
||||||
on SGI architectures, the compiler and loader flag \texttt{-static} should be
|
on SGI architectures, the compiler and linker flag \texttt{-static} should be
|
||||||
used. I.e., set \texttt{DRVOPTS = -static} in the \texttt{LAPACK/make.inc} file.
|
used. I.e., set \texttt{FFLAGS\_DRV = -static} in the \texttt{LAPACK/make.inc} file.
|
||||||
|
|
||||||
\section{IEEE arithmetic}
|
\section{IEEE arithmetic}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue