

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% ADVANCED       %%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{center}
  {\LARGE \textsc{PaStiX} launching scripts}
\end{center}

%\begin{multicols}{2}

\Sect{Introduction}

A set of perl scripts allow you to compile and execute \textsc{PaStiX}.\\
Those scripts are used for our tests on our machines but it can be
adapted to other machines.\\

\Sect{How to use it}

First edit \texttt{Scripts/Modules/Common.pm} and copy the text in top
between ``\texttt{\#\# Options Par defaut si Conf.pm n'existe pas}'' and
``\texttt{\#\# Options Communes}'' to a new file : ``\texttt{Scripts/Modules/Conf.pm}''.\\
In \texttt{Conf.pm} change the options as you want.\\

\Sectii{Compilation}

The strings of the array \texttt{liste\_executables} will determine
the compilation options.\\


\begin{tabIV}
  \hline
  Option                               & Tag\\
  \hline
  \texttt{-DFORCE\_LONG}               & \texttt{\_long}\\
  \texttt{-DFORCE\_DOUBLE}             & \texttt{\_double}\\
  \texttt{-DFORCE\_COMPLEX}            & \texttt{\_complex}\\
  \texttt{-DFORCE\_NOMPI}              & \texttt{\_nompi}\\
  \texttt{-DFORCE\_NOSMP}              & \texttt{\_nosmp}\\
  \hline
  \texttt{-DMETIS}                     & \texttt{\_metis}\\
  \hline
  \texttt{-DNUMA\_ALLOC}               & \texttt{\_Numa}\\
  \texttt{-DNO\_MPI\_TYPE}             & \texttt{\_notypes}\\
  \texttt{-DTEST\_IRECV}               & \texttt{\_IRecv}\\
  \texttt{-DTHREAD\_COMM}              & \texttt{\_ThComm}\\
  \texttt{-DPASTIX\_FUNNELED}          & \texttt{\_Funneled}\\
  \hline
  Marcel Usage                         & \texttt{\_Marcel or \_UseBubble}\\
  Marcel Flavor                        & \texttt{\_FL\textit{flavorname}FL}\\
  \texttt{-DPASTIX\_BUBBLE}            & \texttt{Bubble}\\
  \texttt{-DPASTIX\_USE\_BUBBLE}       & \texttt{\_UseBubble}\\
  \hline
  \texttt{-DMEMORY\_USAGE}             & \texttt{\_mem}\\
  \texttt{-DSTATS\_SOPALIN}            & \texttt{\_ovh}\\
  \texttt{-DTRACE\_SOPALIN}            & \texttt{\_trace}\\
  \hline
  \texttt{-DONLY\_LOAD\_SYMBMTX}       & \texttt{\_symbmtx}\\
  \texttt{-DNOSMP\_RAFF}               & \texttt{\_noSMPRaff}\\
  \texttt{-DCOMPACT\_SMX}              & \texttt{\_compact}\\
  \hline
\end{tabIV}

Using the executable name, the config.in will be created from
\texttt{/template/config.tpl}.\\
All \texttt{\_KEYWORD\_} in file config.tpl will be replaced by the
value of \texttt{\$param\_exec\{\_KEYWORD\_\}} defined in
\texttt{Scripts/Modules/Compilation.pl}. 

Then you can run the script \texttt{Pastix.pl} to compile
(\texttt{-c}).\\
If you have issues compiling you can edit the
\texttt{Modules/Compilation.pl} file.\\
There you can add specific compilation options for your machine after
the line : \\
``\texttt{\# Adaptation des options de compilation à chaque machine}''.
 
\Sectii{Creation of the directories for the execution}

Before the execution, you have to run \texttt{Pastix -f}.\\
All files will be created into the results path specified in
\texttt{Conf.pm}\\
The file tree follows this model : \\
\texttt{/executableName/MatriceName/AAP\_BBT\_levelCC\_amalgEE/YYYYMMDD-HHMM/},
where \texttt{AA} is the number of MPI process, \texttt{BB} the number
of thread, \texttt{CC} the level of fill, \texttt{EE} the level of
amalgamation, and \texttt{YYYYMMDD-HHMM} the date and hour.

\Sectii{Execution}

For execution, you have to run \texttt{Pastix -e}.\\
You may have to modify the function ExecuteJobs from
\texttt{Pastix.pl}, probably after the line
``\texttt{\# Execution du job}'' .\\
You may to have to add your machine to one of the curent \texttt{if}
or \texttt{elif} or to had your proper one and maybe a new tpl to
execute your job if your batch scheduler command is different from
llsubmit, bsub or oarsub.

\Sectii{Browse results}

To see your results, just run \texttt{GetAllRes.pl} (use \texttt{-h}
to get available options).\\ 
If you have a mysql Database, you can also add results to the Database
using \texttt{fillDB.pl}, for this ask for our DB.sql file and our
(under developpement) results browsing website.\\




%\end{multicols}
