From cafed2018c1d03097e30d758ab77c20101e34632 Mon Sep 17 00:00:00 2001 From: knarf Date: Tue, 19 Apr 2011 16:20:07 +0000 Subject: Jian Tao: describe the flags to support CUDA programming in Cactus. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4698 17b73243-c579-4c4c-a9d2-2d5706c11dac --- doc/UsersGuide/Appendices.tex | 2 +- doc/UsersGuide/ApplicationThorns.tex | 3 +++ doc/UsersGuide/Notes.tex | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/UsersGuide/Appendices.tex b/doc/UsersGuide/Appendices.tex index 623fd444..8399b6a0 100644 --- a/doc/UsersGuide/Appendices.tex +++ b/doc/UsersGuide/Appendices.tex @@ -60,7 +60,7 @@ http://en.wikipedia.org/wiki/Cactus \item[configuration] The combination of a set of thorns, and all the Cactus configure options which affect what binary will be produced when compiling - Cactus. For example, the choice of compilers (Cactus \verb|CC|, + Cactus. For example, the choice of compilers (Cactus \verb|CC|, \verb|CUCC|, \verb|CXX|, \verb|F77|, and \verb|F90| configure options) and the compiler optimization settings (\verb|OPTIMISE|/\verb|OPTIMIZE| and \verb|*_OPTIMISE_FLAGS| configure options) are part of a diff --git a/doc/UsersGuide/ApplicationThorns.tex b/doc/UsersGuide/ApplicationThorns.tex index f01b3307..447a1241 100644 --- a/doc/UsersGuide/ApplicationThorns.tex +++ b/doc/UsersGuide/ApplicationThorns.tex @@ -746,6 +746,7 @@ Extension & Language & Format & Preprocess \\ {\t .f77} & Fortran 77 & fixed & no \\ {\t .c} & C & - & yes \\ {\t .cc} or {\t .C} & C++ & - & yes \\ +{\t .cu} & CUDA & - & yes \\ \hline \end{tabular} \end{center} @@ -851,12 +852,14 @@ and has a working directory of \texttt{CC}, and to \texttt{CXX} \item \texttt{FPPFLAGS}: Flags which are passed to \texttt{FPP} \item \texttt{CC}: The C compiler +\item \texttt{CUDA}: The CUDA compiler \item \texttt{CXX}: The C++ compiler \item \texttt{F77}: The Fortran 77 compiler. This is only used if there is no Fortran 90 compiler \item \texttt{F90}: The Fortran 90 compiler. If this variable is set, it is also used to compile Fortran 77 files \item \texttt{CFLAGS}: Flags which are passed to \texttt{CC} +\item \texttt{CUDAFLAGS}: Flags which are passed to \texttt{CUDA} \item \texttt{CXXFLAGS}: Flags which are passed to \texttt{CXX} \item \texttt{F77FLAGS}: Flags which are passed to \texttt{F77} \item \texttt{F90FLAGS}: Flags which are passed to \texttt{F90} diff --git a/doc/UsersGuide/Notes.tex b/doc/UsersGuide/Notes.tex index 62038ca3..29081ec8 100644 --- a/doc/UsersGuide/Notes.tex +++ b/doc/UsersGuide/Notes.tex @@ -75,6 +75,17 @@ written in C++ you also need class initialisations. \end{Lentry} +\noindent +If you are using any thorns containing routines +written in CUDA (Compute Unified Device Architecture), a parallel +computing architecture developed by NVIDIA, you also need +\begin{Lentry} +\item[CUCC] CUDA compiler. For example, the NVIDIA C compiler. In many +cases, you can compile your C and C++ code with a CUDA compiler without +encountering any problems, but you are advised to use a CUDA compiler exclusively +for CUDA code. +\end{Lentry} + \noindent If you are using any thorns containing routines written in Fortran you also need @@ -270,6 +281,7 @@ by * may be specified on the command line. \begin{Lentry} \item [\texttt{CC}] * The C compiler. +\item [\texttt{CUCC}] * The CUDA compiler. \item [\texttt{CXX}] The C++ compiler. \item [\texttt{F90}] * The Fortran 90 compiler. \item [\texttt{F77}] * The Fortran 77 compiler. @@ -292,6 +304,9 @@ Flags which are passed to the compilers and the tools. \item [\texttt{CFLAGS}] Flags for the C compiler. +\item [\texttt{CUCCFLAGS}] +Flags for the CUDA compiler. + \item [\texttt{CXXFLAGS}] Flags for the C++ compiler. @@ -358,6 +373,10 @@ employs memory tracing (Section \ref{sec:metr}). Debug flags for the C compiler, their use depends on the type of debugging being used. +\item [\texttt{CUCC\_DEBUG\_FLAGS}] +Debug flags for the CUDA compiler, their use depends on the type of +debugging being used. + \item [\texttt{CXX\_DEBUG\_FLAGS}] Debug flags for the C++ compiler, their use depends on the type of debugging being used. @@ -380,6 +399,10 @@ will override any setting of the American-spelled \texttt{OPTIMIZE}. Optimisation flags for the C compiler, their use depends on the type of optimisation being used. +\item [\texttt{CUCC\_OPTIMISE\_FLAGS}] +Optimisation flags for the C compiler, their use depends on the type of +optimisation being used. + \item [\texttt{CXX\_OPTIMISE\_FLAGS}] Optimisation flags for the C++ compiler, their use depends on the type of optimisation being used. @@ -394,6 +417,8 @@ type of optimisation being used. \item [\texttt{C\_NO\_OPTIMISE\_FLAGS}] +\item [\texttt{CUCC\_NO\_OPTIMISE\_FLAGS}] + \item [\texttt{CXX\_NO\_OPTIMISE\_FLAGS}] \item [\texttt{F90\_NO\_OPTIMISE\_FLAGS}] @@ -411,6 +436,10 @@ performed. These are invoked when OPTIMISE=no is used. Profile flags for the C compiler, their use depends on the type of profiling being used. +\item [\texttt{CUCC\_PROFILE\_FLAGS}] + Profile flags for the CUDA compiler, their use depends on the type of + profiling being used. + \item [\texttt{CXX\_PROFILE\_FLAGS}] Profile flags for the C++ compiler, their use depends on the type of profiling being used. @@ -432,6 +461,10 @@ performed. These are invoked when OPTIMISE=no is used. Warning flags for the C compiler, their use depends on the type of warnings used during compilation (Section \ref{sec:gmopfobuco}). +\item [\texttt{CUCC\_WARN\_FLAGS}] +Warning flags for the CUCC compiler, their use depends on the type of +warnings used during compilation (Section \ref{sec:gmopfobuco}). + \item [\texttt{CXX\_WARN\_FLAGS}] Warning flags for the C++ compiler, their use depends on the type of warnings used during compilation (Section \ref{sec:gmopfobuco}). -- cgit v1.2.3