\documentclass[sunil1,ChapterTOCs]{sunil}
\usepackage[utf8]{inputenc}
%\usepackage{amssymb}
%usepackage{amsbsy}
\usepackage{amsfonts,amssymb}
\usepackage{amsmath}
\usepackage{amscd}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{makeidx}
\usepackage{listings}
\usepackage{caption}
\usepackage{courier}
\usepackage{color}
\usepackage[sectionbib]{bibunits}
\usepackage{multicol}
\usepackage{cite}
%\usepackage{algorithm}
%\usepackage{algorithmic}
\usepackage[ruled,lined,linesnumbered]{algorithm2e}
\usepackage{epstopdf}
\usepackage{url}
\usepackage{multirow}
%\usepackage{layouts}
\usepackage{comment}
\usepackage{xcolor}
\usepackage{upquote}
\usepackage{framed}
\usepackage{pgfplots}
\usepackage{pgf}
\usepackage{tikz}
\usepackage{url}
\usepackage{dsfont}
\usepackage{commath}
\usepackage{stmaryrd}
\usepackage{moreverb}
\usepackage{commath}
\usepackage{numprint}
\usepackage{placeins} 
%\usepackage{float}
%\usepackage{lmodern}
%% \usepackage{listings}
%% \usepackage{subfigure}

%% \usepackage{graphicx}

\frenchspacing
\tolerance=5000

%\include{Chapters/chapter1/preamble}
\include{Chapters/chapter5/preamble}

\newcommand{\scalprod}[2]%
{\ensuremath{\langle #1 \, , #2 \rangle}}

\makeatletter


\makeatother

\newtheorem{proposition}{Proposition}
\newtheorem{theorem}{Theorem}
\newtheorem{exercise}{Exercise}[chapter]
\newtheorem{example}{Example}
\newtheorem{definition}{Definition}
\newtheorem{proof}{Proof}

\newcommand{\mymat}[1]{\mathcal{#1}}
\newcommand{\myvec}[1]{\mathbf{#1}} 

\newcommand{\mbf}{\mathbf}
\newcommand{\mc}{\mathcal}
\newcommand{\N}{\mathcal{N}}
\newcommand{\B}{\mathcal{B}}
\newcommand{\bs}{\boldsymbol}



\let\OLDlstinputlisting\lstinputlisting
\renewcommand{\lstinputlisting}[2][]{\FloatBarrier\OLDlstinputlisting[#1]{#2}\FloatBarrier} 

\DeclareMathOperator*{\argmax}{arg\,max}


\lstset{morekeywords={HALF4,HALF3,float2,float3,float4,half,half2,half3,half4,tex2D,dim3,endif,threadIdx,blockIdx,blockDim,gridDim,Dim3,__host__,__global__,__shared__,float}}
\lstset{
  language=C,
  columns=fixed,
  basicstyle=\footnotesize\ttfamily,
  numbers=left,
  firstnumber=1,
  numberstyle=\tiny,
  stepnumber=5,             
  numbersep=5pt,              
  tabsize=3,                  
  extendedchars=true,         
  breaklines=true,       
  keywordstyle=\textbf,
  frame=single,         
  % keywordstyle=[1]\textbf,   
  %identifierstyle=\textbf,
  commentstyle=\color{white}\textbf,
  stringstyle=\color{white}\ttfamily,
  % xleftmargin=17pt,
  % framexleftmargin=17pt,
  % framexrightmargin=5pt,
  % framexbottommargin=4pt,
  backgroundcolor=\color{lightgray},
  basicstyle=\scriptsize
  }

 %% \lstset{
%%          basicstyle=\footnotesize\ttfamily, % Standardschrift
%%          %numbers=left,               % Ort der Zeilennummern
%%          numberstyle=\tiny,          % Stil der Zeilennummern
%%          %stepnumber=2,               % Abstand zwischen den Zeilennummern
%%          numbersep=5pt,              % Abstand der Nummern zum Text
%%          tabsize=2,                  % Groesse von Tabs
%%          extendedchars=true,         %
%%          breaklines=true,            % Zeilen werden Umgebrochen
%%          keywordstyle=\color{red},
%%     		frame=b,         
%%  %        keywordstyle=[1]\textbf,    % Stil der Keywords
%%  %        keywordstyle=[2]\textbf,    %
%%  %        keywordstyle=[3]\textbf,    %
%%  %        keywordstyle=[4]\textbf,   \sqrt{\sqrt{}} %
%%          stringstyle=\color{white}\ttfamily, % Farbe der String
%%          showspaces=false,           % Leerzeichen anzeigen ?
%%          showtabs=false,             % Tabs anzeigen ?
%%          xleftmargin=17pt,
%%          framexleftmargin=17pt,
%%          framexrightmargin=5pt,
%%          framexbottommargin=4pt,
%%          %backgroundcolor=\color{lightgray},
%%          showstringspaces=false      % Leerzeichen in Strings anzeigen ?        
%%  }
%%  \lstloadlanguages{% Check Dokumentation for further languages ...
%%          %[Visual]Basic
%%          %Pascal
%%          C
%%          %C++
%%          %XML
%%          %HTML
%%          %Java
%%  }
%%   %\DeclareCaptionFont{blue}{\color{blue}} 

%%   %\captionsetup[lstlisting]{singlelinecheck=false, labelfont={blue}, textfont={blue}}
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox[cmyk]{0.43, 0.35, 0.35,0.01}{\parbox{\textwidth}{\hspace{15pt}#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white, singlelinecheck=false, margin=0pt, font={bf,footnotesize}}




\makeindex
%\includeonly{Chapters/chapter10/ch10}
\DeclareCaptionLabelSeparator{colon}{. }
\begin{document}





%%bibliography style to adopt
\bibliographyunit[\chapter]
\defaultbibliographystyle{plain}



\title{Designing Scientific Applications on GPUs }

\author{Raphaël Couturier}

\maketitle
\cleardoublepage
\frontmatter
%\include{frontmatter/Foreword}

\tableofcontents
\listoffigures
\listoftables
\include{frontmatter/preface}

\mainmatter

\include{Chapters/symbollist}

\setcounter{page}{1}
\part{Presentation of GPUs}
\include{Chapters/chapter1/ch1}
\include{Chapters/chapter2/ch2}
\part{Image processing}
\include{Chapters/chapter3/ch3}
\include{Chapters/chapter4/ch4}
\part{Software development}
\include{Chapters/chapter5/ch5}  
\include{Chapters/chapter6/ch6}
\part{Optimization}
\include{Chapters/chapter8/ch8}
\include{Chapters/chapter9/ch9}
\include{Chapters/chapter10/ch10}  

\part{Numerical applications}
\include{Chapters/chapter7/ch7} 
\include{Chapters/chapter11/ch11}
\include{Chapters/chapter12/ch12}
\include{Chapters/chapter13/ch13}
\include{Chapters/chapter14/ch14}   
\include{Chapters/chapter15/ch15}
\include{Chapters/chapter16/ch16}
\part{Other}
\include{Chapters/chapter17/ch17}    
\include{Chapters/chapter18/ch18}
\include{Chapters/chapter19/ch19}

\bibliographystyle{hep}
%%%\bibliography{biblio}

\clearpage
\printindex

\end{document}
