%%% Partnership for Advanced Computing in Europe 
%%%   www.prace-ri.eu
%%%
%%% LaTeX template for a PRACE Project Access Applications
%%%
%%% (c) PRACE aisbl - Partnership for Advanced Computing in Europe
%%%     authors: Dirk Brömmel - Forschungszentrum Jülich GmbH
%%%              Florian Berberich - PRACE aisbl
%%%
%%% Generic instructions:
%%%   - follow the point-by-point instructions
%%%   - fill in the required (Co)PI information
%%%   - write your application using the general format outlined below
%%%   - do NOT touch the generic layout between the following tags: 
%%%       %%% PRACE GENERIC LAYOUT; DO NOT CHANGE %%%
%%%       %%% END OF PRACE GENERIC LAYOUT %%%
%%%   - check any guidelines/hints for the expected length of the document
%%%   - for the final version, remove the option [hints] from the class
%%%
%%% PRACE GENERIC LAYOUT; DO NOT CHANGE %%%
\documentclass[]{prace}
% In order to remove the hints from the document, please remove [hints] option
% from the document class.
%%% END OF PRACE GENERIC LAYOUT %%%

% These 4 packages are particularly used for the example, they may not be
% required if you choose to add plots/tables differently
\usepackage{lipsum}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{caption}

%%% PRACE GENERIC LAYOUT; DO NOT CHANGE %%%
\begin{document}

\begin{cover}
%%% END OF PRACE GENERIC LAYOUT %%%

% PLEASE SPECIFY PROJECT DETAILS
\project
{The first algorithm}%
{Computer Science}

% PLEASE SPECIFY PI INFORMATION
\PI
{The countess of Lovelace}%
{King}%
{Augusta Ada}%
{}%
{Department of Mathematics}%
{}%
{United Kingdom}%

% PLEASE SPECIFY Co-PI INFORMATION (can be multiple)
\CoPI
{Prof.}%
{Babbage}%
{Charles}%
{University of Cambridge}%
{Department of Mathematics}%
{}%
{United Kingdom}%

\begin{hint}
\vspace*{1cm}
\textbf{Co-PIs (same information)}\\[2ex]
Provide the details of any Co-PIs in the project, including Title, Last name,
First name, Organisation, Department, Group and Country.

{\color{prace-orange}\textbf{It is mandatory to include all team members in the
online form.}}
\end{hint}



%%% PRACE GENERIC LAYOUT; DO NOT CHANGE %%%
\end{cover}
%%% END OF PRACE GENERIC LAYOUT %%%



\begin{hint}
  \textbf{IMPORTANT NOTICE}\\[2ex]
  All of the sections and subsections below \textbf{MUST BE COMPLETED} (unless
  stated otherwise). In case you wish to leave a section empty, please provide a
  reason. The Access Committee (AC) will not be able to process proposals that
  neither provide the requested information nor a justification for the lack of
  such information for each section.

  Applicants are strongly encouraged to \textbf{base their proposal on reliable
  benchmark data obtained on the target machine(s)} from previous calls order
  access programmes. Such data and support to properly collect these can be
  obtained from the PRACE Preparatory Access. If needed, please contact the peer
  review office of PRACE at \textcolor{prace-orange}{peer-review@prace-ri.eu}
  in order to request such access and support, \textbf{at least 1 month before
  the submission deadline}.

  \textbf{The structure and formatting settings of this template must be
  preserved and respected} (change in font size or margin and spacing settings
  are not allowed). The maximum number of pages allowed is 20 pages, including
  graphs, tables and references, but not counting the cover page and the
  appendix. Reviewers will be instructed not to consider any pages out of the
  limit. Applicants are requested to include information about their track
  record in Appendix 1 at the end of the document (not counted in the page
  limit). \textbf{Instruction paragraphs can be removed from the proposal text
  by disabling the 'hints' option to the class}.

  \textbf{Upload a \underline{single} document}, based on the present template,
  in PDF format \textbf{without exceeding \SI{8}{\mega\byte}}.

  \textbf{Proposals that do not follow the template or that are incomplete will
  be administratively rejected and will not be further evaluated.}
\end{hint}

\section{Key scientific/societal/technological contribution of the proposal
  \titlehint{200 words max.}}

\begin{hint}
  Outline the scientific/societal/technological importance of your project, how
  High Performance Computing (HPC) will help you achieve your goals and what the
  major expected outcomes are.
\end{hint}

% Enter your text here
\lipsum[1]

\section{Detailed proposal information
  \titlehint{maximum 14 pages, graphs and tables included}}

\begin{hint}
  The information should be suitable for expert peer review in your discipline.
  It must also have appropriate information for a broader audience as your
  proposal will be evaluated by a panel and in parallel with proposals in other
  disciplines.
\end{hint}

\subsection{Justification for the importance of the scientific problem and the
  requested resources
  \titlehint{$\sim$2 pages}}

\begin{hint}
  Describe the proposed research and the main scientific/technical advances you
  will achieve with the requested PRACE allocation. Industry organisations
  should also summarize the potential economic or strategic business impact.
  The justification of the requested resources must be clearly linked to the
  software performance evaluation (Section~\ref{sec:software:preformance}).
\end{hint}

% Enter your text here
\lipsum[1-6]

\subsection{Overview of the project
  \titlehint{$\sim$4 pages}}

\begin{hint}
  Describe the motivation, objectives and scientific challenges of the problem.
  Describe and justify the choice of computational methods. State the advances
  that will be enabled through the requested Tier-0 PRACE award (e.g.\ impact on
  community paradigms, valuable insights or solving a long-standing challenge,
  new technology/therapy, etc.). Provide a list of expected outcomes of your
  proposal and, if relevant, the interdisciplinary value of your proposal.
\end{hint}

% Enter your text here
\lipsum[1-3]

\subsection{Validation, verification, state of the art
  \titlehint{$\sim$2 pages}}

\begin{hint}
  Please describe the validity of the simulations and predictions made with this
  proposal. In case you provide references to relevant publications please
  include here also the key relevant results. Please address issues of
  reproducibility and highlight the predictive capabilities of your simulations.
\end{hint}

\subsubsection{Validation}

\begin{hint}
  Validate your model against experiments or other established reference data.
\end{hint}

% Enter your text here
\lipsum[1-3]

\subsubsection{Verification}

\begin{hint}
  Verify the numerical consistency of your method or provide evidence of
  existing verifications.
\end{hint}

% Enter your text here
\lipsum[1-3]

\subsubsection{Sensitivity analysis and uncertainty quantification}

\begin{hint}
  Provide sensitivity analysis of your method. Provide estimates of the
  uncertainty of your predictions. Data driven uncertainty quantification is
  encouraged. In case of multiphysics/multiscale problems, uncertainty of the
  full methods and software is desirable.
\end{hint}

% Enter your text here
\lipsum[1-3]

\subsubsection{Comparison with state of the art}

\begin{hint}
  Place the project in the context of competing work. Explain the relative
  advantages AND drawbacks of your approach.
\end{hint}

% Enter your text here
\lipsum[1-3]

\subsection{Software and Attributes
  \titlehint{$\sim$2 pages}}

\begin{hint}
  (Please see also \textbf{Examples of Performance Reporting} in
  Section~\ref{sec:preformance:report}). Describe the software that will be used
  including a discussion of the state of the art in the field. The description
  should mention:
\end{hint}

\subsubsection{Software}

\begin{hint}
  Please describe all codes you are using in the proposal. Justify your choices
  and describe alternatives (if any).
\end{hint}

% Enter your text here
\lipsum[1-4]

\subsubsection{Particular libraries}

\begin{hint}
  Describe particular libraries required by the production and analysis
  software, algorithms and numerical techniques employed (e.g.\ finite element,
  iterative solver), programming languages. Please specify requirements for
  compilation or build environment (build system (e.g.\ cmake, python version),
  version control system (e.g.\ git, subversion) etc.).
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsubsection{Parallel programming}

\begin{hint}
  Model(s) used (e.g.\ MPI, OpenMP/Pthreads, CUDA, OpenACC, etc.).
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsubsection{I/O requirements}

\begin{hint}
  I/O requirements (e.g.\ amount, size, bandwidth, etc.) for execution, input
  files, restart and other output. Describe I/O strategy (number of files,
  frequency, read/write size) and I/O behaviour of your code during the period
  of calculations. Please specify the restart overhead, not only for I/O; (e.g.\
  a code may have to perform a costly domain decomposition first).
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsection{Data: Management Plan, Storage, Analysis and Visualisation
  \titlehint{$\sim$1 page}}

\subsubsection{Data Management Plan covering}

\begin{hint}
  Data Management Plan covering both short-term and long-term aspects, including
  needs for I/O bandwidth, number of files and input/output data volumes.
  Specify for which system the data will be provided, how long the data must be
  stored at the computing centre after the termination of the project, how it
  will be moved from the centre, and how subsequent analysis will be performed.
  Specify the availability of both code and data to other researchers, and how
  this will be handled. PRACE should be given credit for all data produced
  through PRACE allocations when publishing, and described in the provenance
  when depositing to other infrastructures.
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsubsection{Project workflow}

\begin{hint}
  Project workflow including the role and timeline of data analysis and
  visualisation identify where the analysis will be done and any potential
  bottlenecks in the analysis process. Describe any analysis and/or data
  reduction tools used.
\end{hint}

% Enter your text here

\subsubsection{Software workflow solution}

\begin{hint}
  Software workflow solution (e.g.\ pre- and post-processing scripts that
  automate run management and analysis) to facilitate this volume of work.
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsubsection{I/O requirements}

\begin{hint}
  I/O requirements (e.g.\ amount, size, bandwidth, etc.) for data analysis and
  visualisation. Highlight any exceptional I/O needs. Please provide data for
  (one or several) precise systems that will be simulated.
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsection{Performance of Software
  \titlehint{Maximum 3 pages}
  \label{sec:software:preformance}}

\subsubsection{Testing of your code on the requested machine}

\begin{hint}
  It is strongly recommended that your production code is tested in the
  requested machine(s) (see also the text referring to Preparatory Access in the
  Important Notice at the top of Page 1). Please specify the PRACE Preparatory
  Access project (if any) or other projects (previous PRACE Calls, national
  calls, etc.) used to prepare the Tier-0 proposal. If the preparatory host
  machine is different from the target machine, specify why you think the data
  is relevant.  In the latter case, please report briefly the conversion factor
  (in terms of ratio of time to solution, flops or requested core hours) from
  the machine where the preparatory tests were performed to the requested
  system. Moreover your proposal must account for all technical constraints and
  requirements of the targeted machine(s) as documented in the separate
  Technical Guidelines for Applicants document; failing to do so will
  significantly increase the risk that your project will be technically
  rejected.
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsubsection{Quantify the HPC performance of your project}

\begin{hint}
  The presented data must be representative of the entire workflow of the
  project proposed and refer to the main application code you intend for the
  production work. The software scalability data (see \textbf{Examples of
  Performance Reporting} below) must be used to choose the most efficient job
  size(s) for the simulations planned in production: the corresponding software
  performance must be clearly linked to the justification of the computing
  resources requested.  The AC will not accept estimates based on related codes
  and/or data related to parts of your production. All data must refer to the
  targeted systems in your production runs or a system with comparable size,
  software stack and with the same architecture, and network (e.g.\ a project
  can be accepted on Marconi-KNL if it was benchmarked on another KNL machine
  with the same Omnipath network).  Please coordinate with the centres if in
  doubt about the portability of your code. Specify that performance results are
  reported on the basis of one of the following: whole application including
  I/O; whole application except I/O; kernel only; other (specify). More
  specifically you must include:
\end{hint}

\paragraph{Strong and weak scalability \label{sec:preformance:report}}

\begin{hint}
  Starting with the minimum size of the computer necessary to run the problem
  (usually 1 core or 1 node). Justify the minimum size for your scaling if it is
  larger than 1 core or 1 node (e.g.\ memory limitations). Please provide a
  justification in case that either the weak (e.g.\ study of one particular
  bio-molecule) or the strong (e.g.\ study of an ensemble) scalability metric is
  not considered relevant to your project. See \textbf{Examples of Performance
  Reporting} below for the requested format.
\end{hint}

% Enter your text here
\lipsum[1-2]

\begin{hint}
  \textbf{Examples of Performance Reporting}. For the weak and strong scaling
  please start with the minimum and finish with the maximum number of cores that
  are suitable for your application. Please mark the number of cores that you
  expect to perform the main load of your work. On the Y axis you may use time
  to solution (scaled or otherwise) or speedup with respect to the minimum
  number of cores. \textcolor{prace-orange}{The table with the timings is
  mandatory}. The table should include the speedup and the parallel efficiency.
  Log/log plots are useful to span many orders of magnitude.
\end{hint}

% Enter your text, tables and diagrams here

\begin{hint}
% This example makes use of pgfplots to generate a graph and table from data
% provided inline. You can choose whichever method suits you, just make sure
% to include a plot and table.
\pgfplotstableread{%
 cores time  ideal
  4800 10.50 10.50
  9600 10.55 10.50
 19200 10.58 10.50
 38400 10.60 10.50
 76800 10.57 10.50
153600 10.57 10.50
}\WeakData
\begin{minipage}{.49\linewidth}
  \begin{tikzpicture}
    \begin{axis}[
        xmode=log,
        %ymode=log,
        xlabel=Number of cores,
        ylabel=Time to solution (\SI{}{\second}), % \second requires SIunits
        %title={Weak scaling example},
        %grid=both,
        %minor grid style={gray!25},
        %major grid style={gray!25},
        width=\linewidth,
        mark=x]
      \addplot[line width=1pt,solid,color=prace-orange] %
         table[x=cores,y=time,col sep=&]{\WeakData};
      \addlegendentry{Actual};
      \addplot[line width=1pt,dashed,color=black] %
         table[x=cores,y=ideal,col sep=&]{\WeakData};
      \addlegendentry{Ideal};
    \end{axis}
  \end{tikzpicture}
  \captionof{figure}{Weak scaling example figure%
  \label{fig:scaling:weak}}
\end{minipage}%
\begin{minipage}{.49\linewidth}
  \captionof{table}{Weak scaling example data%
  \label{tab:scaling:weak}}%
  \centering
  \pgfplotstabletypeset[
    columns               ={cores,time,ideal},
    columns/cores/.style  ={column name=\bfseries{\shortstack{Number of\\cores}},fixed},
    columns/time/.style   ={column name=\bfseries{\shortstack{Time to\\solution (\SI{}{\second})}},fixed zerofill,precision=2},
    columns/ideal/.style  ={column name=\bfseries{\shortstack{Ideal time to\\ solution (\SI{}{\second})}},fixed zerofill,precision=2},
    every head row/.style ={before row=\toprule, after row=\midrule},
    every last row/.style ={after row=\bottomrule},
    col sep=&, dec sep align]{\WeakData}
\end{minipage}
\end{hint}

\pgfplotstableread{%
 cores time  ideal
  4800 5000.00 5000.00
  9600 2725.00 2500.00
 19200 1500.00 1250.00
 38400 1000.00  625.00
 76800  700.00  312.5 
153600  500.00  156.25
}\StrongData
\begin{minipage}{.49\linewidth}
\centering
\begin{tikzpicture}
  \begin{axis}[
      xmode=log,
      ymode=log,
      xlabel=Number of cores,
      ylabel=Time to solution (\SI{}{\second}),
      width=\linewidth,
      mark=x]
    \addplot[line width=1pt,solid,color=prace-orange] %
       table[x=cores,y=time,col sep=&]{\StrongData};
    \addlegendentry{Actual};
    \addplot[line width=1pt,dashed,color=black] %
       table[x=cores,y=ideal,col sep=&]{\StrongData};
    \addlegendentry{Ideal};
  \end{axis}
\end{tikzpicture}
\captionof{figure}{Strong scaling example figure%
\label{fig:scaling:strong}}
\end{minipage}%
\begin{minipage}{.49\linewidth}
  \captionof{table}{Strong scaling example data%
  \label{tab:scaling:strong}}
  \centering
  \pgfplotstabletypeset[
    columns               ={cores,time,ideal},
    columns/cores/.style  ={column name=\bfseries{\shortstack{Number of\\cores}},fixed},
    columns/time/.style   ={column name=\bfseries{\shortstack{Time to\\solution (\SI{}{\second})}},fixed zerofill,precision=2},
    columns/ideal/.style  ={column name=\bfseries{\shortstack{Ideal time to\\ solution (\SI{}{\second})}},fixed zerofill,precision=2},
    every head row/.style ={before row=\toprule, after row=\midrule},
    every last row/.style ={after row=\bottomrule},
    col sep=&, dec sep align]{\StrongData}
\end{minipage}

\paragraph{Precision reported}

\begin{hint}
  One of: single precision, double precision, mixed precision. Only the
  precision you use in the simulation is relevant.
\end{hint}

% Enter your text here
\lipsum[1-2]

\paragraph{Time-to-solution}

\begin{hint}
  Time-to-solution as normalized/averaged per iteration, number of cores and
  size of the problem: Ti* = time per iteration X number of cores/number of
  computational elements AND normalized as total time to solution, number of
  cores and size of the problem: Tf* = total time to solution X number of
  cores/number of computational elements. IMPORTANT: Justify the choice of your
  code (e.g.\ comparison with existing codes, methods or any other
  scientifically rigorous argumentation). See also the text referring to
  Preparatory Access in the Important Notice at the top of Page 1.
\end{hint}

% Enter your text here
\lipsum[1-2]

\paragraph{System scale}

\begin{hint}
  One of: results measured on full-scale system, projected from results of
  smaller system, other (specify).
\end{hint}

% Enter your text here
\lipsum[1-2]

\paragraph{Measurement mechanism}

\begin{hint}
  One of: timers, FLOP count, static analysis tool, performance modelling, other
  (specify).
\end{hint}

% Enter your text here
\lipsum[1-2]

\paragraph{Memory usage}

\begin{hint}
  Specify requirements per node or core depending on the size of the problem.
\end{hint}

% Enter your text here
\lipsum[1-2]

\paragraph{OPTIONAL: Percentage of available peak performance}

\begin{hint}
  Please collaborate with the Centres on obtaining this information (see also
  the text referring to Preparatory Access in the Important Notice at the top of
  Page 1). Alternatively provide code specific metrics for the requested machine
  (FLOPS, etc.).
\end{hint}

% Enter your text here
\lipsum[1-2]

\section{Milestones (quarterly basis)
  \titlehint{maximum 1 page}}

\begin{hint}
  Goals and milestones should articulate simulation and developmental objectives
  and be sufficiently detailed to assess the progress of the project for each
  year of any allocation granted. It is especially important that you provide
  clear connections between the project's overarching milestones, the planned
  production simulations, and the compute time expected to be required for these
  simulations.  Please clarify any dependencies of milestones on other
  milestones. Please ensure that the core hour consumption is regular throughout
  the allocation or provide a requested schedule after consultation with the
  centres.
\end{hint}

\subsection{Gantt Chart}

\begin{hint}
  Provide a Gantt Chart of the simulation plan in production indicating job
  sizes and scheduling of computing tasks.
\end{hint}

% Enter your text here
\lipsum[1-2]

\subsection{Communication plan}

\begin{hint}
  Provide a communication plan for the results, describing the strategy and
  timeline for scientific publication, conference presentation (e.g.\ given by
  the PI at PRACEdays), and other public outreach events.
\end{hint}

% Enter your text here
\lipsum[1-2]

\section{Personnel and Management Plan
  \titlehint{$\sim$1/2 page}}

\begin{hint}
  What personnel are already in place and what are their roles on the project?
  If applicable, describe (i) personnel that will be hired for the project in
  the future and their responsibilities and (ii) potential personnel turnover
  that may occur during the project and a strategy for replacing them. The PRACE
  program welcomes proposals from individual PIs or teams of collaborators.
  Outline the focus of each individual or subgroup and their interrelationships.

  {\color{prace-orange}It is mandatory to include all team members on the online
form.}
\end{hint}

% Enter your text here
\lipsum[1-3]

\section{Previous Allocations and Results 
  \titlehint{$\sim$1/2 page}}

\begin{hint}
  Please specify previous PRACE allocations and relevant results. Any results of
  relevance to the project need to be listed to demonstrate how the proposal
  contributes to the long-term goals of the proposer. Research publications and
  reports that resulted from previous allocations should be listed in the
  References below. Please specify in particular references to publications that
  acknowledge the use of PRACE resources.
\end{hint}

% Enter your text here
\lipsum[1-3]

%% PLEASE ADD YOUR REFERENCES
\begin{thebibliography}{9}
% Enter your text here
\bibitem{ada} Ada Lovelace, \textit{Sketch of the Analytical Engine}, 1st ed.,
  Lovelace, (1843)
\bibitem{babbage} Charles Babbage, \textit{On the Economy of Machinery and
  Manufactures}, 4th ed., (1835), London
\end{thebibliography}


%%% PRACE GENERIC LAYOUT; DO NOT CHANGE %%%
\appendix
\section{Track Record of the PI}
%%% END OF PRACE GENERIC LAYOUT %%%

\subsection{Curriculum vitae and list of publications of the Principal
  Investigator}

% Enter your text here
\lipsum[1]

\subsection{Granted patents and other measures for the relevance of the work}

% Enter your text here
\lipsum[1]

\subsection{Prior allocation history in PRACE, national calls, as well as
  international programs such as INCITE of the US DoE}

% Enter your text here
\lipsum[1]

\subsection{Participation by team members in other European Commission (EC)
  actions, such as ERC or Marie Skłodowska-Curie EC grants, etc.}

% Enter your text here
\lipsum[1]

\subsection{Previous presentations at PRACEdays}

% Enter your text here
\lipsum[1]


%%% PRACE GENERIC LAYOUT; DO NOT CHANGE %%%
\end{document}
%%% END OF PRACE GENERIC LAYOUT %%%
