]> AND Private Git Repository - book_gpu.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new
authorRaphael Couturier <raphael.couturier@univ-fcomte.fr>
Wed, 17 Apr 2013 09:53:40 +0000 (11:53 +0200)
committerRaphael Couturier <raphael.couturier@univ-fcomte.fr>
Wed, 17 Apr 2013 09:53:40 +0000 (11:53 +0200)
BookGPU/BookGPU.tex
BookGPU/Chapters/chapter17/ch17.aux
BookGPU/Chapters/chapter17/ch17.tex
BookGPU/Chapters/chapter18/ch18.aux
BookGPU/sunil.cls

index 3cea1e7666082a3a90850385b514b115c095e168..95ea162d536abfb8013066597d4c40bac722d5cd 100755 (executable)
 
 
 \makeindex
 
 
 \makeindex
+%\includeonly{Chapters/chapter17/ch17}
 
 \begin{document}
 
 
 \begin{document}
 
index f23e54680b733bda6c050da350d99bdea7fb9933..c515b8cdc17dabf07dfb163beab66dbe0c8e885f 100644 (file)
@@ -1 +1,121 @@
 \relax 
 \relax 
+\@writefile{toc}{\author{Guillaume Laville}{}}
+\@writefile{toc}{\author{Christophe Lang}{}}
+\@writefile{toc}{\author{Kamel Mazouzi}{}}
+\@writefile{toc}{\author{Nicolas Marilleau}{}}
+\@writefile{toc}{\author{B\IeC {\'e}n\IeC {\'e}dicte Herrmann}{}}
+\@writefile{toc}{\author{Laurent Philippe}{}}
+\@writefile{loa}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {chapter}{\numberline {16}Implementing MAS on GPU}{363}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{chapter17}{{16}{364}}
+\@writefile{toc}{\contentsline {section}{\numberline {16.1}Introduction}{364}}
+\newlabel{ch17:intro}{{16.1}{364}}
+\@writefile{toc}{\contentsline {section}{\numberline {16.2}Running Agent-Based Simulations}{365}}
+\newlabel{ch17:ABM}{{16.2}{365}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.1}Multi-agent systems and parallelism}{365}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.2}MAS Implementation on GPU}{367}}
+\newlabel{ch17:subsec:gpu}{{16.2.2}{367}}
+\@writefile{toc}{\contentsline {section}{\numberline {16.3}A first practical example}{368}}
+\newlabel{ch17:sec:1stmodel}{{16.3}{368}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.1}The Collembola model}{368}}
+\newlabel{ch17:subsec:collembolamodel}{{16.3.1}{368}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.1}{\ignorespaces Evolution algorithm of Collembola model\relax }}{369}}
+\newlabel{ch17:fig:collem_algorithm}{{16.1}{369}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.2}Collembola Implementation}{369}}
+\newlabel{ch17:listing:collembola-diffuse}{{16.1}{370}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.1}Collembola OpenCL Diffusion kernel}{370}}
+\newlabel{ch17:listing:collembola-reduc}{{16.2}{370}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.2}Collembola OpenCL reduction kernel}{370}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.3}Collembola performance}{371}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.2}{\ignorespaces Performance of the Collembola model on CPU and GPU\relax }}{372}}
+\newlabel{ch17:fig:mior_perfs_collem}{{16.2}{372}}
+\@writefile{toc}{\contentsline {section}{\numberline {16.4}Second example}{372}}
+\newlabel{ch17:sec:2ndmodel}{{16.4}{372}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.4.1}The MIOR model}{372}}
+\newlabel{ch17:subsec:miormodel}{{16.4.1}{372}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {16}{\ignorespaces Evolution step of each Meta-Mior (microbial colony) agent\relax }}{373}}
+\newlabel{ch17:seqalgo}{{16}{373}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.4.2}MIOR Implementation}{373}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.3}{\ignorespaces Execution distribution retained on GPU\relax }}{374}}
+\newlabel{ch17:fig:gpu_distribution}{{16.3}{374}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.1}Execution mapping on GPU}{374}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.2}Data structures translation}{375}}
+\newlabel{ch17:subsec:datastructures}{{16.4.2.2}{375}}
+\newlabel{ch17:listing:mior_data_structures}{{16.3}{375}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.3}Main data structures used in a MIOR simulation}{375}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.4}{\ignorespaces Compact representation of the topology of a MIOR simulation\relax }}{376}}
+\newlabel{ch17:fig:csr_representation}{{16.4}{376}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.3}Critical resources access management}{376}}
+\newlabel{ch17:subsec:concurrency}{{16.4.2.3}{376}}
+\newlabel{ch17:listing:mior_kernels}{{16.4}{377}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.4}Main MIOR kernel}{377}}
+\newlabel{ch17:fig:mior_launcher}{{16.5}{378}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.5}MIOR simulation launcher}{378}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.4}Termination detection}{378}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.4.3}Performance of MIOR implementations}{379}}
+\newlabel{ch17:subsec:miorexperiments}{{16.4.3}{379}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.5}{\ignorespaces CPU and GPU performance on a Tesla C1060 node\relax }}{380}}
+\newlabel{ch17:fig:mior_perfs_tesla}{{16.5}{380}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.6}{\ignorespaces CPU and GPU performance on a personal computer with a Geforce 8800GT\relax }}{381}}
+\newlabel{ch17:fig:mior_perfs_8800gt}{{16.6}{381}}
+\@writefile{toc}{\contentsline {section}{\numberline {16.5}Analysis and recommendations}{381}}
+\newlabel{ch17:analysis}{{16.5}{381}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.7}{\ignorespaces Execution time of one multi-simulation kernel on the Tesla platform\relax }}{382}}
+\newlabel{ch17:fig:monokernel_graph}{{16.7}{382}}
+\@writefile{lof}{\contentsline {figure}{\numberline {16.8}{\ignorespaces Total execution time for 1000 simulations on the Tesla platform, while varying the number of simulations for each kernel\relax }}{382}}
+\newlabel{ch17:fig:multikernel_graph}{{16.8}{382}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.1}Analysis}{382}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.2}MAS execution workflow}{383}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.3}Implementation challenges}{384}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.4}MCSMA}{384}}
+\newlabel{ch17:Mcsma}{{16.5.4}{384}}
+\@writefile{toc}{\contentsline {section}{\numberline {16.6}Conclusion}{385}}
+\newlabel{ch17:conclusion}{{16.6}{385}}
+\@writefile{toc}{\contentsline {section}{Bibliography}{386}}
+\@setckpt{Chapters/chapter17/ch17}{
+\setcounter{page}{390}
+\setcounter{equation}{0}
+\setcounter{enumi}{3}
+\setcounter{enumii}{0}
+\setcounter{enumiii}{0}
+\setcounter{enumiv}{25}
+\setcounter{footnote}{1}
+\setcounter{mpfootnote}{0}
+\setcounter{part}{6}
+\setcounter{chapter}{16}
+\setcounter{section}{6}
+\setcounter{subsection}{0}
+\setcounter{subsubsection}{0}
+\setcounter{paragraph}{0}
+\setcounter{subparagraph}{0}
+\setcounter{figure}{8}
+\setcounter{table}{0}
+\setcounter{numauthors}{0}
+\setcounter{parentequation}{4}
+\setcounter{subfigure}{0}
+\setcounter{lofdepth}{1}
+\setcounter{subtable}{0}
+\setcounter{lotdepth}{1}
+\setcounter{lstnumber}{21}
+\setcounter{ContinuedFloat}{0}
+\setcounter{AlgoLine}{17}
+\setcounter{algocfline}{16}
+\setcounter{algocfproc}{16}
+\setcounter{algocf}{16}
+\setcounter{nprt@mantissa@digitsbefore}{0}
+\setcounter{nprt@mantissa@digitsafter}{0}
+\setcounter{nprt@exponent@digitsbefore}{0}
+\setcounter{nprt@exponent@digitsafter}{0}
+\setcounter{nprt@digitsfirstblock}{0}
+\setcounter{nprt@blockcnt}{0}
+\setcounter{nprt@cntprint}{0}
+\setcounter{proposition}{1}
+\setcounter{theorem}{0}
+\setcounter{exercise}{0}
+\setcounter{example}{0}
+\setcounter{definition}{0}
+\setcounter{proof}{1}
+\setcounter{lstlisting}{5}
+}
index 9b1c611f814b9dd1d3f667842ad18d687d6e7ab5..6ad3a8c663019c9d14f1caf79642264ae2d7c1c7 100755 (executable)
@@ -3,7 +3,7 @@
 \chapterauthor{Kamel Mazouzi}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Nicolas Marilleau}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Bénédicte Herrmann}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Kamel Mazouzi}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Nicolas Marilleau}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Bénédicte Herrmann}{Femto-ST Institute, University of Franche-Comte, France}
-%\chapterauthor{Laurent Philippe}{Femto-ST Institute, University of Franche-Comte, France}
+\chapterauthor{Laurent Philippe}{Femto-ST Institute, University of Franche-Comte, France}
 
 \newlength\mylen
 \newcommand\myinput[1]{%
 
 \newlength\mylen
 \newcommand\myinput[1]{%
index ab5fa848b9252df51d9d54c10c049a70d1de8b2c..230f20a556757a323760b3ab52694c37d229acf8 100644 (file)
@@ -2,45 +2,45 @@
 \@writefile{toc}{\author{Rapha\IeC {\"e}l Couturier}{}}
 \@writefile{toc}{\author{Christophe Guyeux}{}}
 \@writefile{loa}{\addvspace {10\p@ }}
 \@writefile{toc}{\author{Rapha\IeC {\"e}l Couturier}{}}
 \@writefile{toc}{\author{Christophe Guyeux}{}}
 \@writefile{loa}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {chapter}{\numberline {17}Pseudorandom Number Generator on GPU}{389}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {17}Pseudorandom Number Generator on GPU}{391}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
-\newlabel{chapter18}{{17}{389}}
-\@writefile{toc}{\contentsline {section}{\numberline {17.1}Introduction}{389}}
-\@writefile{toc}{\contentsline {section}{\numberline {17.2}Basic Remindees}{391}}
-\newlabel{section:BASIC RECALLS}{{17.2}{391}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.1}A Short Presentation of Chaos}{391}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.2}On Devaney's Definition of Chaos}{391}}
-\newlabel{sec:dev}{{17.2.2}{391}}
-\newlabel{Devaney}{{17.1}{391}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.3}Chaotic iterations}{392}}
-\newlabel{subsection:Chaotic iterations}{{17.2.3}{392}}
-\newlabel{Chaotic iterations}{{2}{392}}
-\newlabel{eq:generalIC}{{17.4}{393}}
-\newlabel{equation Oplus}{{17.5}{393}}
-\@writefile{toc}{\contentsline {section}{\numberline {17.3}Toward Efficiency and Improvement for CI PRNG}{393}}
-\newlabel{sec:efficient PRNG}{{17.3}{393}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.1}First Efficient Implementation of a PRNG based on Chaotic Iterations}{393}}
-\newlabel{algo:seqCIPRNG}{{17.1}{393}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {17.1}C code of the sequential PRNG based on chaotic iterations}{393}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.2}Efficient PRNGs based on Chaotic Iterations on GPU}{394}}
-\newlabel{sec:efficient PRNG gpu}{{17.3.2}{394}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.3}Naive Version for GPU}{394}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {17}{\ignorespaces Main kernel of the GPU ``naive'' version of the PRNG based on chaotic iterations\relax }}{395}}
-\newlabel{algo:gpu_kernel}{{17}{395}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.4}Improved Version for GPU}{395}}
-\newlabel{IR}{{18}{396}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {18}{\ignorespaces Main kernel for the chaotic iterations based PRNG GPU efficient version\relax }}{396}}
-\newlabel{algo:gpu_kernel2}{{18}{396}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.5}Chaos Evaluation of the Improved Version}{396}}
-\@writefile{toc}{\contentsline {section}{\numberline {17.4}Experiments}{397}}
-\newlabel{sec:experiments}{{17.4}{397}}
-\@writefile{toc}{\contentsline {section}{\numberline {17.5}Summary}{397}}
-\@writefile{lof}{\contentsline {figure}{\numberline {17.1}{\ignorespaces Quantity of pseudorandom numbers generated per second with the xorlike-based PRNG\relax }}{398}}
-\newlabel{fig:time_xorlike_gpu}{{17.1}{398}}
-\@writefile{toc}{\contentsline {section}{Bibliography}{399}}
+\newlabel{chapter18}{{17}{391}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.1}Introduction}{391}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.2}Basic Remindees}{393}}
+\newlabel{section:BASIC RECALLS}{{17.2}{393}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.1}A Short Presentation of Chaos}{393}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.2}On Devaney's Definition of Chaos}{393}}
+\newlabel{sec:dev}{{17.2.2}{393}}
+\newlabel{Devaney}{{17.1}{393}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.3}Chaotic iterations}{394}}
+\newlabel{subsection:Chaotic iterations}{{17.2.3}{394}}
+\newlabel{Chaotic iterations}{{2}{394}}
+\newlabel{eq:generalIC}{{17.4}{395}}
+\newlabel{equation Oplus}{{17.5}{395}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.3}Toward Efficiency and Improvement for CI PRNG}{395}}
+\newlabel{sec:efficient PRNG}{{17.3}{395}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.1}First Efficient Implementation of a PRNG based on Chaotic Iterations}{395}}
+\newlabel{algo:seqCIPRNG}{{17.1}{395}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {17.1}C code of the sequential PRNG based on chaotic iterations}{395}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.2}Efficient PRNGs based on Chaotic Iterations on GPU}{396}}
+\newlabel{sec:efficient PRNG gpu}{{17.3.2}{396}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.3}Naive Version for GPU}{396}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {17}{\ignorespaces Main kernel of the GPU ``naive'' version of the PRNG based on chaotic iterations\relax }}{397}}
+\newlabel{algo:gpu_kernel}{{17}{397}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.4}Improved Version for GPU}{397}}
+\newlabel{IR}{{18}{398}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {18}{\ignorespaces Main kernel for the chaotic iterations based PRNG GPU efficient version\relax }}{398}}
+\newlabel{algo:gpu_kernel2}{{18}{398}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.5}Chaos Evaluation of the Improved Version}{398}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.4}Experiments}{399}}
+\newlabel{sec:experiments}{{17.4}{399}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.5}Summary}{399}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.1}{\ignorespaces Quantity of pseudorandom numbers generated per second with the xorlike-based PRNG\relax }}{400}}
+\newlabel{fig:time_xorlike_gpu}{{17.1}{400}}
+\@writefile{toc}{\contentsline {section}{Bibliography}{401}}
 \@setckpt{Chapters/chapter18/ch18}{
 \@setckpt{Chapters/chapter18/ch18}{
-\setcounter{page}{401}
+\setcounter{page}{403}
 \setcounter{equation}{5}
 \setcounter{enumi}{3}
 \setcounter{enumii}{0}
 \setcounter{equation}{5}
 \setcounter{enumi}{3}
 \setcounter{enumii}{0}
index 44e5e668607e6917524cf29a7eca27c02bd49648..bc2fad682d0ef57c2e214b199ef5e9cb0ada105c 100755 (executable)
                                                                     \chapter@authorfour\vskip6\p@
         {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationfour}
                                                                         \fi
                                                                     \chapter@authorfour\vskip6\p@
         {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationfour}
                                                                         \fi
+ \ifnum\c@numauthors=5
+                                                        \chapter@authorone\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationone}\vskip12\p@
+                                                            \chapter@authortwo\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationtwo}\vskip12\p@
+                                                                \chapter@authorthree\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationthree}\vskip12\p@
+                                                                    \chapter@authorfour\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationfour}\vskip12\p@
+                                                                    \chapter@authorfive\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationfive}
+                                                                        \fi
+ \ifnum\c@numauthors=6
+                                                        \chapter@authorone\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationone}\vskip12\p@
+                                                            \chapter@authortwo\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationtwo}\vskip12\p@
+                                                                \chapter@authorthree\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationthree}\vskip12\p@
+                                                                    \chapter@authorfour\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationfour}\vskip12\p@
+                                                                    \chapter@authorfive\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationfive}\vskip12\p@
+                                                                    \chapter@authorsix\vskip6\p@
+        {\it\fontsize{10\p@}{10\p@}\selectfont\chapter@affiliationsix}
+                                                                        \fi
 }
  \gdef\chapter@authorone{}\gdef\chapter@affiliationone{}%
  \gdef\chapter@authortwo{}\gdef\chapter@affiliationtwo{}%
  \gdef\chapter@authorthree{}\gdef\chapter@affiliationthree{}%
  \gdef\chapter@authorfour{}\gdef\chapter@affiliationfour{}%
 }
  \gdef\chapter@authorone{}\gdef\chapter@affiliationone{}%
  \gdef\chapter@authortwo{}\gdef\chapter@affiliationtwo{}%
  \gdef\chapter@authorthree{}\gdef\chapter@affiliationthree{}%
  \gdef\chapter@authorfour{}\gdef\chapter@affiliationfour{}%
+ \gdef\chapter@authorfive{}\gdef\chapter@affiliationfive{}%
+ \gdef\chapter@authorsix{}\gdef\chapter@affiliationsix{}%
   \vskip 14.6\p@
 {\leftskip\secnumwidth\def\author##1##2{}\@input{\thechapter.toc}\par}%
   }
   \vskip 14.6\p@
 {\leftskip\secnumwidth\def\author##1##2{}\@input{\thechapter.toc}\par}%
   }
 %
 \newif\iffinishedfromfour
 \global\finishedfromfourfalse
 %
 \newif\iffinishedfromfour
 \global\finishedfromfourfalse
+%
+\newif\iffinishedfromfive
+\global\finishedfromfivefalse
+%
+\newif\iffinishedfromsix
+\global\finishedfromsixfalse
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 \newcommand\singleauthorchapter{\finishedfromonetrue}
 \newcommand\twoauthorchapter{\finishedfromtwotrue}
 \newcommand\threeauthorchapter{\finishedfromthreetrue}
 \newcommand\fourauthorchapter{\finishedfromfourtrue}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 \newcommand\singleauthorchapter{\finishedfromonetrue}
 \newcommand\twoauthorchapter{\finishedfromtwotrue}
 \newcommand\threeauthorchapter{\finishedfromthreetrue}
 \newcommand\fourauthorchapter{\finishedfromfourtrue}
+\newcommand\fiveauthorchapter{\finishedfromfivetrue}
+\newcommand\sixauthorchapter{\finishedfromsixtrue}
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newif\iffinish
 %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \newif\iffinish
 \newsavebox\@AUtwobox
 \newsavebox\@AUthreebox
 \newsavebox\@AUfourbox
 \newsavebox\@AUtwobox
 \newsavebox\@AUthreebox
 \newsavebox\@AUfourbox
+\newsavebox\@AUfivebox
+\newsavebox\@AUsixbox
 %
 \newsavebox\@AUaffonebox
 \newsavebox\@AUafftwobox
 \newsavebox\@AUaffthreebox
 \newsavebox\@AUafffourbox
 %
 \newsavebox\@AUaffonebox
 \newsavebox\@AUafftwobox
 \newsavebox\@AUaffthreebox
 \newsavebox\@AUafffourbox
+\newsavebox\@AUafffivebox
+\newsavebox\@AUaffsixbox
 %
 \newsavebox\@finalAUboxfromone
 \newsavebox\@finalAUboxfromtwo
 \newsavebox\@finalAUboxfromthree
 \newsavebox\@finalAUboxfromfour
 %
 \newsavebox\@finalAUboxfromone
 \newsavebox\@finalAUboxfromtwo
 \newsavebox\@finalAUboxfromthree
 \newsavebox\@finalAUboxfromfour
+\newsavebox\@finalAUboxfromfive
+\newsavebox\@finalAUboxfromsix
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \def\@ca#1#2{%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \def\@ca#1#2{%
   \fi
 %%%%%%%%%%%%%%%
 
   \fi
 %%%%%%%%%%%%%%%
 
-\ifnum\c@numauthors>4
+\ifnum\c@numauthors>6
+    %\setcounter{numauthors}{0}
     \resetcounter{numauthors}
 \fi 
 \stepcounter{numauthors}
     \resetcounter{numauthors}
 \fi 
 \stepcounter{numauthors}
     \sbox\@finalAUboxfromfour{\copy\@AUfourbox}
     \def\chapter@authorfour{\copy\@finalAUboxfromfour}
     \def\chapter@affiliationfour{\copy\@AUafffourbox}
     \sbox\@finalAUboxfromfour{\copy\@AUfourbox}
     \def\chapter@authorfour{\copy\@finalAUboxfromfour}
     \def\chapter@affiliationfour{\copy\@AUafffourbox}
-\fi}
+\fi \ifnum\c@numauthors=5
+    \sbox\@AUfivebox{\CAPlusOneFont#1}
+    \sbox\@AUafffivebox{\vbox{\hsize\textwidth\CAAPlusOneFont\noindent #2\par}}
+    \sbox\@finalAUboxfromfive{\copy\@AUfivebox}
+    \def\chapter@authorfive{\copy\@finalAUboxfromfive}
+    \def\chapter@affiliationfive{\copy\@AUafffivebox}
+\fi \ifnum\c@numauthors=6
+    \sbox\@AUsixbox{\CAPlusOneFont#1}
+    \sbox\@AUaffsixbox{\vbox{\hsize\textwidth\CAAPlusOneFont\noindent #2\par}}
+    \sbox\@finalAUboxfromsix{\copy\@AUsixbox}
+    \def\chapter@authorsix{\copy\@finalAUboxfromsix}
+    \def\chapter@affiliationsix{\copy\@AUaffsixbox}
+\fi
+}
 
 
 \def\@caplusone{\@ifstar{\@scaplusone}{\@ifnextchar[{\@xcaplusone}{\@xcaplusone[]}}}
 
 
 \def\@caplusone{\@ifstar{\@scaplusone}{\@ifnextchar[{\@xcaplusone}{\@xcaplusone[]}}}
 \endinput
 %%
 %% End of file `sunil.cls'.
 \endinput
 %%
 %% End of file `sunil.cls'.
-\0\0\0\0\0\0\0\0\0
\ No newline at end of file
+\0\0\0\0\0\0\0\0\0