Current multi-compartment (MC) simulators don't target or effectively utilize key contemporary HPC architectures.
\section{Project Benefits}
HPC resources that are a key part of the HBP platform will be hetergoneous, and some key systems will be very different to the systems currently supported by simulation software
\item The main HBP system to be installed at \julich will be either Power8+GPU or KNL based system
\item The other HPC resources available include GPU clusters, BG/Q and Intel x86 multicore systems.
\end{itemize}
There is an effort to develop a HPC-specific version of the widely-used NEURON simulator that supports GPU and Intel Xeon Phi processors, however:
\begin{itemize}
\item NEURON is large, complicated and poorly engineered. There is a strong argument that it is not possible to refactor the code effectively to provide both support for new hardware and a good platform for developing new algorithms.
\item The developers are unwilling to share their work or progress, which makes it impossible to understand the risk of relying on their efforts.
\item Facilitate multicompartment simulation ``at scale'' on all HPC systems available to researchers in the HBP.
\item Performance portability: high performance of the delivered software on all target systems, and a forward-looking design that will be adaptable to future architectures.
\item Promote solutions for large scale detailed models on HBP compute resources.
\item Promote open source solution with close collaboration inside and outside the HBP (i.e. the broader community).
The key constraint for this project is \emph{scope}.
The project is well resourced in terms of hardware and software, however manpower is very limited and the two year time frame does not give us license to experiment with radical new solutions.
Given this, we aim to build a high-quality product with a modest feature set as the basis for future work.
\item\emph{A scientific collaborator will be found}.
A collaborator is essential to the project:
\begin{itemize}
\item To gain credibility of the product.
\item To provide motivation for continuing the development of the software after the initial 2 year project completion.
\item To give direct user input into the development and selection of features, so as to deliver a useful product.
\end{itemize}
However the project was started without one. Finding a collaborator inside HBP might be challenging politically, so we are also looking outside the HBP in the context of the Brain initiative.
\item\emph{The NEST Initiative will endorse NestMC}. This is not a given, particularly because the NEST Initiative was not consulted widely before starting the project. A key step will be communicating our intentions, and gaining the support of the NEST Initiative.
\item\emph{A user community capable of taking over development will be in place}.
Of the assumptions this is the weakest link.
It is possible to develop the software and a scientific use case with the given time and resources, however building a community that is capable and willing to carry on development is quite unlikely.
Plans should be made for evaluating the viability of the product toward the end of SGA1 to decide whether to continue funded development in subsequent phases of the HBP.