Changeset 142 for liacs/SCA2010/nQueens
- Timestamp:
- Jul 1, 2010, 2:59:37 PM (14 years ago)
- Location:
- liacs/SCA2010/nQueens
- Files:
-
- 6 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
liacs/SCA2010/nQueens/latex.mk
r140 r142 56 56 $(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $< 57 57 58 .dvi.pdf: 59 $(DVIPDF) $? $@ 58 #.dvi.pdf: 59 # $(DVIPDF) $? $@ 60 61 .tex.pdf: 62 pdflatex -halt-on-error $? 60 63 61 64 .tex.dvi: -
liacs/SCA2010/nQueens/report.tex
r2 r142 8 8 \usepackage[english,dutch]{babel} 9 9 \selectlanguage{dutch} 10 \usepackage {graphicx}10 \usepackage[pdftex]{graphicx} 11 11 \usepackage{url} 12 \usepackage{multicol}13 \usepackage{fancybox}14 12 \usepackage{amssymb,amsmath} 13 \usepackage{wrapfig} 14 \usepackage{lipsum} 15 \usepackage{float} 15 16 16 \author{Rick van der Zwet, Universiteit Leiden} 17 \title{XXX \\ 18 \large{XXX}} 17 \floatstyle{ruled} 18 \newfloat{algoritm}{thp}{lop} 19 \floatname{algoritm}{Algoritm} 20 21 \title{\emph{n-Queens} minimale dominatie verzamelingen \\ 22 \large{Chessboard Domination on Programmable Graphics Hardware door Nathan Cournik}} 19 23 \author{Rick van der Zwet\\ 20 \texttt{<hvdzwet@liacs.nl>}\\ 21 \\ 22 LIACS\\ 23 Leiden University\\ 24 Niels Bohrweg 1\\ 25 2333 CA Leiden\\ 26 The Netherlands} 24 \texttt{<hvdzwet@liacs.nl>}} 27 25 \date{\today} 28 26 27 29 28 \begin{document} 30 31 29 \maketitle 30 \begin{abstract} 31 Dit schrijven zal het paper van Nathan Cournik \emph{Chessboard Domination on 32 Programmable Graphics Hardware}~\cite{CDGPU2006} ---en in het speciaal de 33 gepresenteerde n-Queens oplossing--- vrij samenvatten in het nederlands en zal 34 de mening van de ondergetekende op het geheel geven. 35 \end{abstract} 32 36 33 37 \section{Inleiding} 38 \begin{figure} 39 \begin{center} 40 \includegraphics[width=0.5\textwidth]{pasted1.pdf} 41 \end{center} 42 \caption{Links; koningin kan dit patroon slaan. Rechts; ongeldige \emph{n-Queens} oplossing, opdat de koninginnen rechtsonder elkaar kunnen slaan} 43 \label{fig:patroon} 44 \end{figure} 45 Vanwege het het feit dat \emph{n-Queens} een algemeen geaccepteerde termiologie 46 is, voor het plaatsen van $n$ koningen op een $n*n$ schaakbord zodanig dat de 47 koningen elkaar niet kunnen slaan, zal dit in het schrijven niet vertaald 48 worden. Verder zal in de tekst op diverse plekken de orginele engelse bewoordinging 49 staan om zo terugzoeken en refereren in het orginele paper~\cite{CDGPU2006} 50 makkelijker te maken. 51 52 53 \section{Minimale dominatie verzameling} 54 De minimale dominatie verzameling ({\emph{Minimum domination set}}) is 55 een setup waarbij elk vakje van het schaakbord door ten minste 1 koningin 56 geslagen kan worden of dat er een koningin op staat. Omdat een koningin een 57 karakteristiek patroon kan staan (zie Figuur~\ref{fig:patroon}) kan het 58 minimale aantal koninginnen wat nodig is ook bepaald worden dmv van 59 formule~\ref{eq:ondergrens}. 60 \begin{equation} 61 y(Q_{n})\geq\frac{n-1}{2}, n\geq1 62 \label{eq:ondergrens} 63 \end{equation} 64 65 66 \section{Grafische Verwerking Eenheid} 67 De Grafische Verwerking Eenheid (\emph{Graphics Processing Unit} ook bekend als 68 \emph{GPU}) heeft speciale electronica om ervoor te zorgen dat deze snel de 69 \emph{RGB} waardes van alle beeldpunten kan berekenen in complexe beeldsystemen 70 met bijvoorbeeld ingewikkende (lees: tijdrovende) berekeningen voor schaduw, 71 reflextie en intensiteit. Om deze grote hoeveelheid gegevens te verwerken maakt 72 de \emph{GPU} gebruik een grote hoeveelheid parralelle processoren, welke alle 73 individueel een deel van de berekeningen op zich nemen. 74 75 Recente (electronica) onwikkelingen zoals \emph{CUDA}\footnote{\url{http://en.wikipedia.org/wiki/CUDA}} en (meer generieke implementaties) 76 \emph{OpenCL}\footnote{\url{http://en.wikipedia.org/wiki/OpenCL}} hebben ertoe 77 geleid dat de GPU ook door de geprogrammeerd kan worden om specifieke 78 berekeningen uit te voeren. Figuur~\ref{fig:werking} laat de verschillende 79 stappen zien die uitgevoerd moeten worden om de \emph{GPU} aan te sturen. Het 80 is belangrijk om te beseffen dat de \emph{GPU} een heel simpele processor is en 81 (dus) zeer kleine buffers en instructie set heeft. Verder is het ook cruciaal 82 te weten dat de \emph{GPU} \textit{niet} direct gebruik gebruik kan maken van 83 het hoofdgeheugen van de \emph{CPU}, maak dat de invoer en uitvoer altijd eerst 84 naar/van de \emph{GPU} verplaatst zal moeten worden. 85 \begin{figure} 86 \begin{center} 87 \includegraphics[width=0.4\textwidth]{pasted1.png} 88 \end{center} 89 \caption{\emph{GPU} werking. De verschillende \emph{GPU} processorblokken 90 worden \emph{kernels} genoemd. De data wordt getransporteerd door verschillende 91 datakanalen (\emph{streams}) en heeft de vorm van een \emph{framebuffer}, welke 92 intern als $n * m$ array gezien kan worden. Een \emph{kernel} kan toegepast 93 worden om een (deel van de) \emph{framebuffer}} \label{fig:werking} 94 \end{figure} 95 96 \section{Algoritme} 97 Het zoeken van geldige minimale dominatie verzamelingen is een stevige klus, 98 welke we (in het optimale geval) $n$ koninginnen hebben die we op een $n * n$ 99 schaakbord kunnen plaatsen. Dat levert $(n * n)! - ((n * n)-n)!$ mogelijkheden op. 100 De \emph{GPU} zal gebruikt worden om oplossingen sneller te controlen en zal 101 niet gebruikt worden om effientere oplossingen te vinden. 102 103 \begin{algoritm} 104 \begin{verbatim} 105 01: klaar=nee 106 02: doe 107 03: ..bereken potentieel minimale dominatie verzameling 108 04: ..plaats in framebuffer 109 05: ..als (alle pixels zijn gemarkeerd) dan 110 06: ....klaar=ja 111 07: ..eindeals 112 08: totdat (klaar=ja) 113 \end{verbatim} 114 \caption{aanpak minimale dominatie set} 115 \end{algoritm} 116 \subsection{Computing the piece configuration} 117 \begin{itemize} 118 \item Exhaustive manner 119 \item Piece configuration stored on the CPU as linked links 120 \item Lower bound and Upper bound is respected 121 \end{itemize} 122 123 \subsection{Rendered in Framebuffer} 124 \begin{wrapfigure}{r}{0.4\textwidth} 125 \begin{center} 126 \includegraphics[width=0.4\textwidth]{pasted4.pdf} 127 \end{center} 128 \caption{The Toucan} 129 \end{wrapfigure} 130 \begin{itemize} 131 \item GPU supports textures, every piece is a texture 132 \item Render points on the CPU and offload to the GPU to map texture on 133 specific place 134 \end{itemize} 135 136 \subsection{Determine Domination (e.g. Mark solution)} 137 \begin{itemize} 138 \item Simple approch 139 \item Sum all pixels of $n*n$ board and match if $sum=n*n$ 140 \end{itemize} 141 142 \section{GPU Optimalizations} 143 \begin{wrapfigure}{r}{0.4\textwidth} 144 \begin{center} 145 \includegraphics[width=0.4\textwidth]{pasted5.pdf} 146 \end{center} 147 \caption{The Toucan} 148 \end{wrapfigure} 149 \begin{itemize} 150 \item GPU is able to process all colours at the times 151 Grid Framebuffer 152 \end{itemize} 153 \begin{itemize} 154 \item GPU has many CPU's called kernels 155 \item Each kernel can process it's own little block of information 156 \item Putting multiple possible solutions in one bloc 157 \end{itemize} 158 34 159 \section{Uitleg probleem} 35 160 \section{Theorie} … … 38 163 \section{Experimenten} 39 164 \section{Conclusie} 40 \begin{thebibliography}{10} 165 \begin{wrapfigure}{r}{0.4\textwidth} 166 \begin{center} 167 \includegraphics[width=0.4\textwidth]{pasted6.pdf} 168 \end{center} 169 \caption{ 170 Execution times (log scale) of CPU and GPU based minimum domination 171 implementations computing $y(Q_{n})$. As $n$ increases, the GPU's 172 speed advantage over the CPU become more evident.} 173 \end{wrapfigure} 174 175 \begin{itemize} 176 \item Domination texture good mapping between CPU world and GPU world 177 \item Flexible texture definition without any impact 178 \end{itemize} 179 180 \subsection{Discussion} 181 \begin{itemize} 182 \item No significant speedup, claim that $n\geq13$ GPU is \emph{'much'} faster 183 \item No scaleable 184 \end{itemize} 185 186 \begin{thebibliography}{2} 187 \bibitem[DM2003]{DM2003}E. J. Cockayne, emph{Chessboard domination 188 problems}, \emph{Discrete Math}, 86:1320, 1990. 189 190 \bibitem[CDGPU2006]{CDGPU2006}Nathan Cournik,\emph{Chessboard Domination 191 on Programmable Graphics Hardware}, \emph{ACM SE'06 March 192 10-Â12, 2006}. Melbourne, Florida, USA 41 193 \end{thebibliography} 42 194 \newpage 43 % \advance\textwidth by 8cm44 % \advance\oddsidemargin by -3cm45 % \advance\evensidemargin by -3cm46 % \advance\topmargin by -2cm47 % \advance\textheight by 4cm48 % \advance\footskip by -4cm49 % \marginparwidth 0cm50 % \twocolumn51 % \section*{Appendix}52 % De NN code en pre-parse.pl code zagen er als volgt uit:53 % \newline54 % \tiny55 % %preformatted with `source-highlight -n -f latex bridge.cc`56 % \input{nn.c}57 % \input{data/pre-parse.pl}58 % \onecolumn59 60 195 \end{document}
Note:
See TracChangeset
for help on using the changeset viewer.