3 \citation{ChesnaudRB99}
4 \citation{ChesnaudRB99}
6 \citation{ChesnaudRB99}
7 \citation{ChesnaudRB99}
8 \@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}}
9 \newlabel{secCPUalgooutlines}{{II}{1}}
10 \@writefile{toc}{\contentsline {section}{\numberline {II}Sequential algorithm : outlines}{1}}
11 \citation{ChesnaudRB99}
12 \citation{ChesnaudRB99}
13 \newlabel{cpualgosimple}{{1}{2}}
14 \@writefile{loa}{\contentsline {algocf}{\numberline {1}{\ignorespaces Sequential algorithm : outlines}}{2}}
15 \newlabel{fig:labelinit}{{1a}{2}}
16 \newlabel{sub@fig:labelinit}{{(a)}{a}}
17 \newlabel{fig:labelit1}{{1b}{2}}
18 \newlabel{sub@fig:labelit1}{{(b)}{b}}
19 \newlabel{fig:labelit2}{{1c}{2}}
20 \newlabel{sub@fig:labelit2}{{(c)}{c}}
21 \newlabel{fig:labelit4}{{1d}{2}}
22 \newlabel{sub@fig:labelit4}{{(d)}{d}}
23 \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces segmentation of a noisy image}}{2}}
24 \@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Initial contour}}}{2}}
25 \@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {End of first iteration (4 nodes) }}}{2}}
26 \@writefile{lof}{\contentsline {subfigure}{\numberline{(c)}{\ignorespaces {End of second iteration (8 nodes)}}}{2}}
27 \@writefile{lof}{\contentsline {subfigure}{\numberline{(d)}{\ignorespaces {End of fourth iteration (29 nodes)}}}{2}}
28 \newlabel{images_algo}{{1}{2}}
29 \newlabel{secCPUalgodetails}{{III}{2}}
30 \@writefile{toc}{\contentsline {section}{\numberline {III}Sequential algorithm : details}{2}}
31 \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-A}}Criterion}{2}}
32 \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {III-B}}CPU implementation}{2}}
37 \newlabel{CPUcontrib_segments}{{2}{3}}
38 \newlabel{CPUbresenham}{{2}{3}}
39 \newlabel{CPUcontrib_pixels}{{2}{3}}
40 \@writefile{loa}{\contentsline {algocf}{\numberline {2}{\ignorespaces Sequential simplified algorithm}}{3}}
41 \newlabel{cpualgo}{{2}{3}}
42 \newlabel{cumuls}{{2}{3}}
43 \newlabel{debinit}{{3}{3}}
44 \newlabel{fininit}{{9}{3}}
45 \newlabel{loopnewnodes}{{10}{3}}
46 \newlabel{loopmovenodes}{{11}{3}}
47 \newlabel{kernelGL}{{15}{3}}
48 \@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces the three most-consumming functions for various image sizes}}{3}}
49 \newlabel{CPUprofile}{{2}{3}}
50 \newlabel{GPUgeneralites}{{IV}{3}}
51 \@writefile{toc}{\contentsline {section}{\numberline {IV}NVidia's GPU architecture}{3}}
52 \citation{ChesnaudRB99}
55 \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces schematic diagram of GPU's internal architecture}}{4}}
56 \newlabel{GPUC1060}{{3}{4}}
57 \newlabel{GPUimplementation}{{V}{4}}
58 \@writefile{toc}{\contentsline {section}{\numberline {V}GPU implementation}{4}}
59 \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {V-A}}Pre-computations}{4}}
60 \@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces \texttt {compute\_blocks\_prefixes()} details.}}{5}}
61 \newlabel{GPUcumuls}{{4}{5}}
62 \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {V-B}}Segment contributions}{5}}
65 \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces \texttt {scan\_blocksums()} details.}}{6}}
66 \newlabel{GPUscansomblocs}{{5}{6}}
67 \@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces \texttt {add\_sums2prefixes()} details.}}{6}}
68 \newlabel{GPUaddsoms2cumuls}{{6}{6}}
69 \@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Optimization of node locations using 8 position tests around each node.}}{6}}
70 \newlabel{GPUtopo}{{7}{6}}
71 \@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces structure for segments contributions computation. Gray symbols help to locate inactive threads as opposed to black ones that figure active threads.}}{7}}
72 \newlabel{contribs_segments}{{8}{7}}
73 \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {V-C}}Segments with a slope $k$ such as $|k|\leq 1$}{7}}
74 \@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Zoom on part a of segment with $|k| < 1$, at pixel level.}}{7}}
75 \newlabel{tripix}{{9}{7}}
76 \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {V-D}}Parameters estimation}{7}}
77 \@writefile{toc}{\contentsline {subsection}{\numberline {\unhbox \voidb@x \hbox {V-E}}End of segmentation}{7}}
78 \newlabel{secSpeedups}{{VI}{7}}
79 \@writefile{toc}{\contentsline {section}{\numberline {VI}Speedups}{7}}
81 \bibdata{IEEEabrv,biblio}
83 \bibcite{ChesnaudRB99}{2}
89 \newlabel{gpualgosimple}{{3}{8}}
90 \@writefile{loa}{\contentsline {algocf}{\numberline {3}{\ignorespaces Parralel GPU algorithm : outlines. \texttt {<<<...>>>} indicates a GPU kernel parallel process.}}{8}}
91 \@writefile{lot}{\contentsline {table}{\numberline {I}{\ignorespaces GPU (C2050, sm20) vs CPU timings.}}{8}}
92 \newlabel{tabresults}{{I}{8}}
93 \newlabel{secConclusion}{{VII}{8}}
94 \@writefile{toc}{\contentsline {section}{\numberline {VII}Conclusion}{8}}
95 \@writefile{toc}{\contentsline {section}{References}{8}}