]> AND Private Git Repository - book_gpu.git/blobdiff - BookGPU/Chapters/chapter3/ch3.aux
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ch18
[book_gpu.git] / BookGPU / Chapters / chapter3 / ch3.aux
index a5fefc897af3e320d114b269d7be98abc091e675..69d76c60f7f693b25427bf2b6e07e4c61fb2b744 100644 (file)
 \@writefile{toc}{\contentsline {section}{\numberline {3.2}Performance measurements}{28}}
 \newlabel{lst:chronos}{{3.4}{28}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.4}Time measurement technique using cutil functions}{28}}
 \@writefile{toc}{\contentsline {section}{\numberline {3.2}Performance measurements}{28}}
 \newlabel{lst:chronos}{{3.4}{28}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.4}Time measurement technique using cutil functions}{28}}
+\@writefile{toc}{\author{Gilles Perrot}{}}
 \@writefile{loa}{\addvspace {10\p@ }}
 \@writefile{toc}{\contentsline {chapter}{\numberline {4}Implementing a fast median filter}{31}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
 \@writefile{loa}{\addvspace {10\p@ }}
 \@writefile{toc}{\contentsline {chapter}{\numberline {4}Implementing a fast median filter}{31}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\author{Gilles Perrot}{}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.1}Introduction}{31}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.2}Median filtering}{32}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Basic principles}{32}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.1}Introduction}{31}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.2}Median filtering}{32}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Basic principles}{32}}
@@ -36,7 +36,7 @@
 \newlabel{sub@img:sap_example_med5}{{(c)}{33}}
 \newlabel{img:sap_example_med3_it2}{{4.1(d)}{33}}
 \newlabel{sub@img:sap_example_med3_it2}{{(d)}{33}}
 \newlabel{sub@img:sap_example_med5}{{(c)}{33}}
 \newlabel{img:sap_example_med3_it2}{{4.1(d)}{33}}
 \newlabel{sub@img:sap_example_med3_it2}{{(d)}{33}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Exemple of median filtering, applied to salt \& pepper noise reduction.\relax }}{33}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Example of median filtering, applied to salt \& pepper noise reduction.\relax }}{33}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Airplane image, corrupted by salt and pepper noise of density 0.25}}}{33}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image denoised by a $3\times 3$ median filter}}}{33}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image denoised by a $5\times 5$ median filter}}}{33}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Airplane image, corrupted by salt and pepper noise of density 0.25}}}{33}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image denoised by a $3\times 3$ median filter}}}{33}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image denoised by a $5\times 5$ median filter}}}{33}}
@@ -44,6 +44,8 @@
 \newlabel{fig:sap_examples}{{4.1}{33}}
 \newlabel{lst:medianGeneric}{{4.1}{34}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.1}Generic CUDA kernel achieving median filtering}{34}}
 \newlabel{fig:sap_examples}{{4.1}{33}}
 \newlabel{lst:medianGeneric}{{4.1}{34}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.1}Generic CUDA kernel achieving median filtering}{34}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Example of 5x5 median filtering\relax }}{35}}
+\newlabel{fig:median_1}{{4.2}{35}}
 \newlabel{algoMedianGeneric}{{2}{35}}
 \newlabel{algoMedianGeneric:memcpyH2D}{{1}{35}}
 \newlabel{algoMedianGeneric:cptstart}{{3}{35}}
 \newlabel{algoMedianGeneric}{{2}{35}}
 \newlabel{algoMedianGeneric:memcpyH2D}{{1}{35}}
 \newlabel{algoMedianGeneric:cptstart}{{3}{35}}
@@ -51,8 +53,6 @@
 \newlabel{algoMedianGeneric:memcpyD2H}{{7}{35}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {2}{\ignorespaces generic n$\times $n median filter\relax }}{35}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.3}NVidia GPU tuning recipes}{35}}
 \newlabel{algoMedianGeneric:memcpyD2H}{{7}{35}}
 \@writefile{loa}{\contentsline {algocf}{\numberline {2}{\ignorespaces generic n$\times $n median filter\relax }}{35}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.3}NVidia GPU tuning recipes}{35}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Exemple of 5x5 median filtering\relax }}{35}}
-\newlabel{fig:median_1}{{4.2}{35}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Illustration of window overlapping in 5x5 median filtering\relax }}{36}}
 \newlabel{fig:median_overlap}{{4.3}{36}}
 \@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Performance results of \texttt  {kernel medianR}. \relax }}{36}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Illustration of window overlapping in 5x5 median filtering\relax }}{36}}
 \newlabel{fig:median_overlap}{{4.3}{36}}
 \@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Performance results of \texttt  {kernel medianR}. \relax }}{36}}
@@ -64,9 +64,9 @@
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}Further optimization}{38}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Comparison of pixel throughputs on GPU C2070 and CPU for generic median, 3$\times $3 median register-only and \textit  {libJacket}.\relax }}{39}}
 \newlabel{fig:compMedians1}{{4.4}{39}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}Further optimization}{38}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Comparison of pixel throughputs on GPU C2070 and CPU for generic median, 3$\times $3 median register-only and \textit  {libJacket}.\relax }}{39}}
 \newlabel{fig:compMedians1}{{4.4}{39}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces Forgetful selection with the minimal element register count. Illustration for 3$\times $3 pixel window represented in a row and supposed sorted.\relax }}{39}}
-\newlabel{fig:forgetful_selection}{{4.5}{39}}
 \@writefile{toc}{\contentsline {subsubsection}{\numberline {4.4.2.1}Reducing register count }{39}}
 \@writefile{toc}{\contentsline {subsubsection}{\numberline {4.4.2.1}Reducing register count }{39}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces Forgetful selection with the minimal element register count. Illustration for 3$\times $3 pixel window represented in a row and supposed sorted.\relax }}{40}}
+\newlabel{fig:forgetful_selection}{{4.5}{40}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces Determination of the Median value by the forgetful selection process, applied to a $3\times 3$ neighborhood window.\relax }}{41}}
 \newlabel{fig:forgetful3}{{4.6}{41}}
 \newlabel{lst:medianForget1pix3}{{4.3}{41}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces Determination of the Median value by the forgetful selection process, applied to a $3\times 3$ neighborhood window.\relax }}{41}}
 \newlabel{fig:forgetful3}{{4.6}{41}}
 \newlabel{lst:medianForget1pix3}{{4.3}{41}}
 \newlabel{fig:compMedians2}{{4.8}{44}}
 \newlabel{sec:median5}{{4.5.1}{44}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}A register-only 5$\times $5 median filter }{44}}
 \newlabel{fig:compMedians2}{{4.8}{44}}
 \newlabel{sec:median5}{{4.5.1}{44}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}A register-only 5$\times $5 median filter }{44}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.9}{\ignorespaces Reducing register count in a 5$\times $5 register-only median kernel outputting 2 pixels simultaneously. The first 7 forgetful selection stages are common to both processed center pixels. Only the last 5 selections have to be done separately.\relax }}{45}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.9}{\ignorespaces Reducing register count in a 5$\times $5 register-only median kernel outputting 2 pixels simultaneously.}}{45}}
 \newlabel{fig:median5overlap}{{4.9}{45}}
 \newlabel{fig:median5overlap}{{4.9}{45}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.10}{\ignorespaces First iteration of the $5\times 5$ selection process, with $k_{25}=14$, which shows how Instruction Level Parallelism is maximized by the use of an incomplete sorting network. Arrows represent the result of the swapping function, with the lowest value at the starting point and the highest value at the end point.\relax }}{45}}
-\newlabel{fig:median5overlap}{{4.10}{45}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.10}{\ignorespaces First iteration of the $5\times 5$ selection process, with $k_{25}=14$, which shows how Instruction Level Parallelism is maximized by the use of an incomplete sorting network.}}{45}}
+\newlabel{fig:bitonic}{{4.10}{45}}
 \newlabel{lst:medianForget2pix5}{{4.5}{46}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.5}kernel 5$\times $5 median filter processing 2 output pixel values per thread by a combined forgetfull selection.}{46}}
 \@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Performance of various 5$\times $5 median kernel implementations, applied on 4096$\times $4096 pixel image with C2070 GPU card.\relax }}{47}}
 \newlabel{lst:medianForget2pix5}{{4.5}{46}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.5}kernel 5$\times $5 median filter processing 2 output pixel values per thread by a combined forgetfull selection.}{46}}
 \@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Performance of various 5$\times $5 median kernel implementations, applied on 4096$\times $4096 pixel image with C2070 GPU card.\relax }}{47}}
 \newlabel{sub@img:sap_example_sep_med5}{{(c)}{49}}
 \newlabel{img:sap_example_sep_med3_it2}{{4.11(d)}{49}}
 \newlabel{sub@img:sap_example_sep_med3_it2}{{(d)}{49}}
 \newlabel{sub@img:sap_example_sep_med5}{{(c)}{49}}
 \newlabel{img:sap_example_sep_med3_it2}{{4.11(d)}{49}}
 \newlabel{sub@img:sap_example_sep_med3_it2}{{(d)}{49}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.11}{\ignorespaces Exemple of separable median filtering (smoother), applied to salt \& pepper noise reduction.\relax }}{49}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.11}{\ignorespaces Example of separable median filtering (smoother), applied to salt \& pepper noise reduction.\relax }}{49}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Airplane image, corrupted with by salt and pepper noise of density 0.25}}}{49}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image denoised by a $3\times 3$ separable smoother}}}{49}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image denoised by a $5\times 5$ separable smoother}}}{49}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Airplane image, corrupted with by salt and pepper noise of density 0.25}}}{49}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Image denoised by a $3\times 3$ separable smoother}}}{49}}
 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {Image denoised by a $5\times 5$ separable smoother}}}{49}}
 \newlabel{fig:sap_examples2}{{4.11}{49}}
 \newlabel{lst:medianSeparable}{{4.6}{50}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.6}generic pseudo median kernel.}{50}}
 \newlabel{fig:sap_examples2}{{4.11}{49}}
 \newlabel{lst:medianSeparable}{{4.6}{50}}
 \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.6}generic pseudo median kernel.}{50}}
-\@writefile{toc}{\contentsline {section}{Bibliography}{51}}
 \@setckpt{Chapters/chapter3/ch3}{
 \@setckpt{Chapters/chapter3/ch3}{
-\setcounter{page}{52}
+\setcounter{page}{53}
 \setcounter{equation}{0}
 \setcounter{enumi}{3}
 \setcounter{enumii}{0}
 \setcounter{enumiii}{0}
 \setcounter{equation}{0}
 \setcounter{enumi}{3}
 \setcounter{enumii}{0}
 \setcounter{enumiii}{0}
-\setcounter{enumiv}{10}
+\setcounter{enumiv}{11}
 \setcounter{footnote}{0}
 \setcounter{mpfootnote}{0}
 \setcounter{part}{2}
 \setcounter{footnote}{0}
 \setcounter{mpfootnote}{0}
 \setcounter{part}{2}
 \setcounter{subparagraph}{0}
 \setcounter{figure}{11}
 \setcounter{table}{3}
 \setcounter{subparagraph}{0}
 \setcounter{figure}{11}
 \setcounter{table}{3}
-\setcounter{numauthors}{1}
+\setcounter{numauthors}{0}
 \setcounter{parentequation}{0}
 \setcounter{subfigure}{0}
 \setcounter{lofdepth}{1}
 \setcounter{parentequation}{0}
 \setcounter{subfigure}{0}
 \setcounter{lofdepth}{1}