Skip to content

Commit

Permalink
made minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
fythal committed Apr 23, 2016
1 parent e684bbd commit bada340
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 3 deletions.
Binary file modified Documentation/DesignDoc/DetailedDesign.pdf
Binary file not shown.
8 changes: 5 additions & 3 deletions Documentation/DesignDoc/DetailedDesign.tex
Original file line number Diff line number Diff line change
Expand Up @@ -411,21 +411,23 @@ \subsubsection{Access Program Syntax}% ================ Victor
\arrayrulecolor{lightgray}
SetInterpolationManager & const G4InterpolationManager \& & & \\\hline
SetInterpolationManager & G4InterpolationManager \& & & \\\hline
GetXsecList & G4double, G4int, G4ParticleHPDataPoint*, G4int & &\\
GetXsecList & G4double, G4int, G4ParticleHPDataPoint*, G4int & &\\\hline
GetMinIndices\_CUDA & G4ParticleHPDataPoint* , int, double* , int, int* & &\\
\arrayrulecolor{black}
\bottomrule
\end{longtable}

\subsubsection{Access Program Semantics}% ============ Rob
Note that hyphens in routine names and inputs are just for linebreaks due to the table size. The actual routine names and inputs do not have hyphens.

\begin{longtable}{p{0.25\textwidth}p{0.25\textwidth}p{0.5\textwidth}}
\begin{longtable}{p{0.25\textwidth}p{0.3\textwidth}p{0.45\textwidth}}
\caption{G4ParticleVector -- access program semantics}\label{Table_NeutronHPVectorSemantics}\\
\toprule
\bf Routine Name & \bf Input & \bf Description \\\midrule
\arrayrulecolor{lightgray}
SetInterpolation-Manager & G4Interpolation-Manager\& & sets \texttt{theManager} to the input \\\hline
GetXsecList & G4double, G4int, G4ParticleHPDataPoint*, G4int & Takes a list of energies and finds their corresponding xSecs\\\hline
GetMinIndices\_CUDA & G4ParticleHPDataPoint* , int, double* , int, int* & device function used to find the indexes for the query values given\\\hline
\arrayrulecolor{black}
\bottomrule
\end{longtable}
Expand Down Expand Up @@ -501,7 +503,7 @@ \subsection{Error Handling}
If user the tries to enable CUDA without compatible hardware, CMake will detect this and output a fatal error message. The user will not be able to enable CUDA unless they have compatible hardware. If the user is using an older version of CMake (before 2.8) that does not support CUDA compilation, a fatal error message will be outputted.

\subsection{Key Algorithms}
CMake is the existing build system for generating make files for the project. As such, there are no key algorithms to document.
When GEANT4\_Enable\_CUDA is set to true CMake will configure a header file which will indicate if Geant4 needs to include the CUDA files or not. This file then gets moved to the include directory where G4ParticleHPVector.hh can see it and include it.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ---- Cmake Files

Expand Down
Binary file modified Documentation/DesignDoc/SystemArchitecture.pdf
Binary file not shown.
1 change: 1 addition & 0 deletions Documentation/DesignDoc/SystemArchitecture.tex
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ \subsection{GPU Integration Approach}\label{Sec_IntegrationApproach}
In all options except 1 and 2, a function call to one of the functions of a ported class will be received by the existing C++ class, which will then either execute the existing code if that function has not been ported or if GPU computation is disabled, or will call the corresponding function from the CUDA file.

Option 5 was chosen due to its ability to divide work easily, its compatibility with the current codebase, and the memory advantages over option 4.

Option 3 was also implemented after performance testing showed that option 5 did not provide any significant speed ups.

\subsection{G4ParticleVector}\label{subsec_G4ParticleVector} % rob
Expand Down

0 comments on commit bada340

Please sign in to comment.