From 7d0c1ddc09f5975212a4300b6aa94460a838cf66 Mon Sep 17 00:00:00 2001 From: GorrieXIV Date: Thu, 14 Apr 2016 18:51:40 +0000 Subject: [PATCH 1/2] presentation edits -gxiv --- .../FinalPresentation/Presentation.tex | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Documentation/FinalPresentation/Presentation.tex b/Documentation/FinalPresentation/Presentation.tex index 3ed0f604..21d3c8e5 100644 --- a/Documentation/FinalPresentation/Presentation.tex +++ b/Documentation/FinalPresentation/Presentation.tex @@ -90,6 +90,32 @@ \subsection{Scope} \end{itemize} \end{frame} +\begin{frame} +\frametitle{Possible Implementations} +There were initially five possible implementations to reach +a solution: +\begin{itemize} +\item Port Geant4 to the GPU such that each particle runs in parallel +\item Port all the functions of some class(es) to the GPU, with those functions privatized to the GPU +\item Port some functions of some class(es) to the GPU, memory stored on host, passing mem to device as necessary +\item Port some functions of some class(es) to the GPU, memory stored and updated on host and device +\item Port some functions of some class(es) to the GPU, data divided between host and device, passing mem as necessary +\end{itemize} +\end{frame} + +\begin{frame} +\frametitle{Solution Choice} +\begin{itemize} +\item Implementation 1 was believed to be unreasonable given schedule/resource limitations +\item Implementation 5 was found to be most suitable +\begin{itemize} +\item Easy to switch between CPU & GPU versions +\item Less memory usage than other implementations +\item Least redundancy in computation +\end{itemize} +\end{itemize} +\end{frame} + \subsection{Purpose} \begin{frame} \begin{itemize} @@ -431,6 +457,14 @@ \subsection{Summary of Results} \subsection{Recommendations} \begin{frame} \frametitle{Recommendations} +For further work with regards to NeutronHPVector: +\begin{itemize} +\item +\end{itemize} +For further work with regards to parallelizing Geant4: +\begin{itemize} +\item +\end{itemize} \end{frame} \end{document} From d90a1d8addcb9f07cdbaca1c673ecea7049f6e3b Mon Sep 17 00:00:00 2001 From: GorrieXIV Date: Thu, 14 Apr 2016 19:14:46 +0000 Subject: [PATCH 2/2] more edits -gxiv --- .../FinalPresentation/Presentation.tex | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Documentation/FinalPresentation/Presentation.tex b/Documentation/FinalPresentation/Presentation.tex index 5dda9695..87801e2f 100644 --- a/Documentation/FinalPresentation/Presentation.tex +++ b/Documentation/FinalPresentation/Presentation.tex @@ -532,7 +532,7 @@ \subsection{Accuracy / Testing} \frametitle{Accuracy} \begin{itemize} \item All modified functions except SampleLin and Sample -yield results that precisely match +yield results that precisely match original implementations \end{itemize} \begin{itemize} \item Some functions fell extremely close in accuracy to @@ -631,13 +631,24 @@ \subsection{Summary of Results} \subsection{Recommendations} \begin{frame} \frametitle{Recommendations} -For further work with regards to NeutronHPVector: +For further work with regards to ParticleHPVector: \begin{itemize} -\item +\item Abstact further up the Geant4 system, parallelizing +components that make reference to NeutronHPVector +\item This will decrease the frequency of data transfer +between the host and device +\item Up-to-date work can be found on out github, along +with instructions for installing and testing \end{itemize} For further work with regards to parallelizing Geant4: \begin{itemize} -\item +\item Try parallelizing other commonly use components in similar style +\begin{itemize} +\item Look for classes manipulating list-style data structures +\item Classes with functions that have nested loops or are heavy in computation are prime candidates +\item Probabilistic functions and getter/setter functions won't benefit greatly +\item Functions with conditional branching may cause bottlenecks in parallelization +\end{itemize} \end{itemize} \end{frame}