Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Conflicts:
	Documentation/FinalPresentation/Presentation.pdf
	Documentation/FinalPresentation/Presentation.tex
  • Loading branch information
fythal committed Apr 8, 2016
2 parents 44a1f51 + d8c461f commit c59b9b7
Show file tree
Hide file tree
Showing 19 changed files with 589 additions and 417 deletions.
Binary file modified Documentation/FinalPresentation/Presentation.pdf
Binary file not shown.
55 changes: 41 additions & 14 deletions Documentation/FinalPresentation/Presentation.tex
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
\documentclass{beamer}

\usepackage[utf8]{inputenc}
\setbeamertemplate{navigation symbols}{}

% 8/10
% \usetheme{Antibes}

% 8.1
% \usetheme{Copenhagen}
\usepackage{graphicx}
\usepackage{textcomp}
\newcommand{\textapprox}{\raisebox{0.5ex}{\texttildelow}}

\setbeamertemplate{navigation symbols}{}
\usetheme{Luebeck}

\newcommand\pro{\item[$+$]}
Expand All @@ -19,10 +16,10 @@
\title[GEANT4-GPU (McMaster University)]{Running GEANT4 Functions on a GPU}
\subtitle{Discussion of Results}
\institute{McMaster University}
\author[S. Douglas, M .Pagnan, R. Gorrie, V. Reginato]{
\author[S. Douglas, R. Gorrie, M .Pagnan, V. Reginato]{
Stuart Douglas -- dougls2
\\Matthew Pagnan -- pagnanmm
\\Rob Gorrie -- gorrierw
\\Matthew Pagnan -- pagnanmm
\\Victor Reginato -- reginavp
}

Expand All @@ -40,19 +37,34 @@ \section{Introduction}
\subsection{Brief Project Overview}
\begin{frame}
\frametitle{Brief Project Overview}
Take an existing particle simulation toolkit - GEANT4 - and have some functions run on a GPU device to improve performance.
\begin{block}{Definition: GEANT4}
GEANT4 is
\end{block}
\end{frame}

\begin{frame}
\frametitle{Stakeholders}
\end{frame}

\subsection{Explanation of Terms}
%Victor
\begin{frame}
\frametitle{What is GEANT4}
\begin{itemize}
\item Geant4 is a toolkit that is meant to simulate the passage of particles through matter.
\item It has been developed over the years through collaborative effort of many different institutions and individuals.
\item Geant4 has many different applications, including applications in high energy physics, space and radiation, medical.
\end{itemize}
\end{frame}

\begin{frame}
\begin{itemize}
\frametitle{What is GP-GPU}
\item General purpose graphic processing unit computing is a re-purposing of graphics hardware
\item Allows GPUs to perform computations that would typically be computed on the CPU
\item If problems are suitable to mass parallelization
\end{itemize}
\end{frame}

\subsection{Scope}
Expand Down Expand Up @@ -80,7 +92,7 @@ \section{Discussion}
\end{itemize}
\end{frame}

\subsection{Completely on GPU}
\subsection{Entire G4ParticleHPVector Object on GPU}
\begin{frame}
\frametitle{Completely on GPU}
\begin{itemize}
Expand Down Expand Up @@ -127,14 +139,29 @@ \subsection{Implementation 2}
\end{itemize}
\end{frame}

\subsubsection{Intensive Functions on GPU}
\subsubsection{Performance}
\begin{frame}
\frametitle{Intensive Functions on GPU}
\frametitle{Performance Summary}
\begin{itemize}
\item Most functions slower on GPU until \textapprox 10,000 entries
\item Most \emph{commonly-used} functions significantly slower on GPU
\begin{itemize}
\item Lots of data accesses
\end{itemize}
\item Many problems in vector class not well-suited to parallelism
\end{itemize}
\end{frame}

\subsubsection{Performance}
\begin{frame}
\frametitle{Performance Results}
\frametitle{Performance Results - \texttt{Times}}
\begin{itemize}
\item Multiplies each point in vector by factor
\end{itemize}
\begin{figure}
\centering
\includegraphics[width=0.9\textwidth]{images/times_line.png}
\caption{Runtime vs. Number of Data Points -- \texttt{Times}}
\end{figure}
\end{frame}

\begin{frame}
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 18 additions & 18 deletions Examples/Hadr04-Uranium/src/src/DetectorConstruction.cc
Original file line number Diff line number Diff line change
Expand Up @@ -86,24 +86,24 @@ G4NistManager* man = G4NistManager::Instance();

// specific element name for thermal neutronHP
// (see G4NeutronHPThermalScatteringNames.cc)
G4Element* H = new G4Element("TS_H_of_Water" ,"H" , 1., 1.0079*g/mole);
G4Element* O = new G4Element("Oxygen" ,"O" , 8., 16.00*g/mole);

G4Material* H2O =
new G4Material("Water_ts", 1.000*g/cm3, ncomponents=2,
kStateLiquid, 593*kelvin, 150*bar);
H2O->AddElement(H, natoms=2);
H2O->AddElement(O, natoms=1);
H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV);

// graphite
G4Isotope* C12 = new G4Isotope("C12", 6, 12);
G4Element* elC = new G4Element("TS_C_of_Graphite","C", ncomponents=1);
elC->AddIsotope(C12, 100.*perCent);
G4Material* graphite =
new G4Material("graphite", 2.27*g/cm3, ncomponents=1,
kStateSolid, 293*kelvin, 1*atmosphere);
graphite->AddElement(elC, natoms=1);
// G4Element* H = new G4Element("TS_H_of_Water" ,"H" , 1., 1.0079*g/mole);
// G4Element* O = new G4Element("Oxygen" ,"O" , 8., 16.00*g/mole);

// G4Material* H2O =
// new G4Material("Water_ts", 1.000*g/cm3, ncomponents=2,
// kStateLiquid, 593*kelvin, 150*bar);
// H2O->AddElement(H, natoms=2);
// H2O->AddElement(O, natoms=1);
// H2O->GetIonisation()->SetMeanExcitationEnergy(78.0*eV);

// // graphite
// G4Isotope* C12 = new G4Isotope("C12", 6, 12);
// G4Element* elC = new G4Element("TS_C_of_Graphite","C", ncomponents=1);
// elC->AddIsotope(C12, 100.*perCent);
// G4Material* graphite =
// new G4Material("graphite", 2.27*g/cm3, ncomponents=1,
// kStateSolid, 293*kelvin, 1*atmosphere);
// graphite->AddElement(elC, natoms=1);

///G4cout << *(G4Material::GetMaterialTable()) << G4endl;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ class G4ParticleHPVector

G4ParticleHPVector & operator = (const G4ParticleHPVector & right);
G4double GetXsec(G4double e);
void GetXsecBuffer(G4double * queryList, G4int length);
void GetXsecList(G4double * queryList, G4int length);
void Dump();
void ThinOut(G4double precision);
void Merge(G4InterpolationScheme aScheme, G4double aValue, G4ParticleHPVector * active, G4ParticleHPVector * passive);
Expand Down
Loading

0 comments on commit c59b9b7

Please sign in to comment.