# "Getting Scientific Software Installed" BoF @ ISC'23
https://docs.google.com/document/d/1Q3tC9RK1tbXCtkki-eSqjNfH_mfo-A5NIGL-43u2hwg
- submission deadline: 25 Jan 2023 - see https://www.isc-hpc.com/submissions-bof-sessions-2023.html
- Kenneth: will ask Davide if he still has the SC19 submission, would be better to start from that
## Submission for ISC'15 (LaTeX)
see also https://github.com/easybuilders/easybuild/wiki#conferences-and-meetings
```
\documentclass[a4paper,11pt]{article}
\usepackage{hyperref}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{8.6in}
\setlength{\topmargin}{0.0in}
\setlength{\headheight}{0.0in}
\setlength{\oddsidemargin}{0.0in}
\setlength{\evensidemargin}{0.0in}
\newcommand{\ignore}[1]{}
\newif\ifremark
\long\def\remark#1{
\ifremark%
\begingroup%
\dimen0=\columnwidth
\advance\dimen0 by -1in%
\setbox0=\hbox{\parbox[b]{\dimen0}{\protect\em #1}}
\dimen1=\ht0\advance\dimen1 by 2pt%
\dimen2=\dp0\advance\dimen2 by 2pt%
\vskip 0.25pt%
\hbox to \columnwidth{%
\vrule height\dimen1 width 3pt depth\dimen2%
\hss\copy0\hss%
\vrule height\dimen1 width 3pt depth\dimen2%
}%
\endgroup%
\fi}
\remarktrue
%%\remarkfalse
\newenvironment{myenumerate}
{ \begin{enumerate}
\setlength{\itemsep}{0pt}
\setlength{\parskip}{0pt}
\setlength{\parsep}{0pt} }
{ \end{enumerate} }
\begin{document}
\begin{center}
\Large{ISC'15 BoF session proposal}\\
\Large{\textbf{Getting Scientific Software Installed: Tools \& Best Practices}}\\~\\
\large{Kenneth Hoste, Andy Georges, Stijn De Weirdt}\\
\end{center}
\section*{Abstract}
\label{sec:abstract}
We intend to provide a platform for presenting and discussing tools to deal
with the ubiquitous problems that come forward when building and installing
scientific software, which is known to be a tedious and time consuming task.
Several user support tools for allowing scientific software to be installed
and used will briefly be presented, for example (but not limited to) EasyBuild
(UGent), Lmod (TACC), iBS (iVec Build System) and Nix.
We would like to bring various experienced members of HPC user support teams
and system administrators as well as users together for an open discussion on
tools and best practices.
\section{Long Description}\label{sec:description}
Providing scientists with the scientific software they require is a crucial
aspect of supercomputer systems. However, it is well known that building and
installing scientific software, and implementing user-friendly access to it
for end-users can be a tedious and time consuming task.
Compilation from source is preferred in an HPC setting where performance is
critical, because it allows using compilers, libraries and compilation options
best suited for the hardware platform and architecture of the targeted system.
Scientists tend to focus on the functional aspect of the software they write,
and typically spend little time in making sure their tools are simple to get
built and installed. Examples of common scientific software packages that are
notoriously challenging to get built include NWChem, OpenFOAM, QuantumESPRESSO,
VASP, WRF, etc.
Consequently, expert knowledge with regard to both building and installing
software from source is indispensable when deploying a collection of scientific
software. Likewise, keeping the deployment up to date can be a tedious process
as new versions of compilers, libraries and the software itself are being
released. These tasks are known to consume significant amounts of time from
user support teams for various reasons, e.g., manually stepping through
documentation, platform/compiler/library dependent compilation issues, linking
issues with well established libraries, runtime problems because of dynamic
resolving of libraries, sub-optimal application performance due to poor choice
of build parameters, etc.
Moreover, these efforts to obtain correct and (near) optimal builds of
scientific software packages and provide them to end users are duplicated all
over the world by numerous HPC teams. Several sites and consortia publicly
document their `best practices', but documentation is often outdated, effort
duplication remains, manually performing installation procedures is still
error-prone, etc. Although most sites suffer from the same problems, there is
little collaboration among them.
Once installed, the software packages must be provided to the users. A common
and adequate solution for this is providing environment modules, but many open
problems remain to be dealt with, e.g., module files are usually (still)
constructed manually -- making it difficult to keep them consistent.
Additionally, various design choices further impact the user experience, e.g.,
module naming schemes, structure of the module files tree, tools for consuming
modules, etc.
This Birds-of-a-Feather session is a follow-up to earlier BoF sessions held at
ISC'13, SC13, ISC'14 and SC14 with three main goals. First, we will bring
various experienced members of HPC user support teams, system administrators
and end users together for an open discussion on how to (further) improve the
current situation. For this, we provide a platform for presenting tools and
best practices that help alleviate or resolve current problems. Second, we want
to continue building a community, collaborate and streamline the work that is
being done. Finally, we will compare the results from this session with the
information we gathered during the former BoF sessions. This will allow us to
evaluate the evolution of the state with respect to getting scientific
software installed.
\section{Session outline}\label{sec:outline}
These goals will be achieved using the following session outline. We will
start with a several lightning talks (7 minutes at most) on tools and
practices related to building and installing scientific software (e.g.\
iBS, EasyBuild, Lmod, etc.), followed by a show-of-hands poll on
a various topics (use of tools, common practices, etc.). For the latter, we
will use the poll service provided by Socrative (\url{http://socrative.com}),
because this enables collecting anonymous (no registration required)
responses. Basically, attendees can participate from their laptop, smartphone
or tablet. Previously, we found this allows for immediate feedback to the
attendees and spurs discussion on the topic at hand, rather than postponing
sharing of experiences until the end of the session. This results in high
participation rates -- typically over 60\% and a lively on-topic discussion. Similarly to
previous instalments of this BoF at SC13, ISC'14, and SC14 we will share the
collected poll results afterwards, see for example
\url{http://hpcugent.github.io/easybuild/files/SC14_BoF_socrative.pdf}.
\paragraph{Keywords:} scientific software, installation, community, EasyBuild,
Lmod, Spack
\paragraph*{Target audience:} During this Birds-of-a-Feather session, we would
like to bring system administrators, members of HPC user support teams and
experienced end users together.
\paragraph*{Estimated attendance:} At ISC'13, we hosted a similar BoF session
entitled ``Best Practices in Building \& Installing Scientific Software'' that
received 25-30 active attendees. At the SC13, we hosted a BoF session just
like the one being proposed, which was well attended as well with about 70
attendees varying from 55 to 74 throughout the session. During ISC'14, we
hosted a session with about 40 attendees. At SC14, we had a full room, with
over 100 attendees. Based on this, we hope to see at least 40-60 attendees at ISC'15.
\end{document}
```