# "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} ```