Update LAPACK to 3.9.0

This commit is contained in:
Martin Kroeker 2019-12-29 18:44:55 +01:00 committed by GitHub
parent e9b636e066
commit 60135f3bd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 45 additions and 49 deletions

View File

@ -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

View File

@ -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

View File

@ -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
# For RS6K: SECOND and DSECND will use a call to the
# EXTERNAL FUNCTION ETIME_
#TIMER = EXT_ETIME_ #TIMER = EXT_ETIME_
# For gfortran compiler: SECOND and DSECND will use the INTERNAL FUNCTION ETIME # For gfortran compiler: SECOND and DSECND will use a call to the
# TIMER = INT_ETIME # INTERNAL FUNCTION ETIME
# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) TIMER = INT_ETIME
# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME # If your Fortran compiler does not provide etime (like Nag Fortran
# Compiler, etc...) SECOND and DSECND will use a call to the
# INTERNAL FUNCTION CPU_TIME
#TIMER = INT_CPU_TIME #TIMER = INT_CPU_TIME
# If neither of this works...you can use the NONE value... # If none of these work, you can use the NONE value.
# In that case, SECOND and DSECND will always return 0 # In that case, SECOND and DSECND will always return 0.
#TIMER = NONE #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.
@ -723,7 +723,7 @@ The version that will be used depends on the value of the TIMER variable in the
\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
@ -738,7 +738,7 @@ This is the case with gfortan.
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}