Skip to content

Commit

Permalink
Update for SC24 requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
ocaisa committed Apr 11, 2024
1 parent 924fda5 commit 34ea0d5
Show file tree
Hide file tree
Showing 9 changed files with 134 additions and 360 deletions.
2 changes: 2 additions & 0 deletions sc24/EESSI/attendance.tex
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
\subsection*{Expected attendance}

Based on attendance at previous EESSI and EasyBuild events, including the yearly EasyBuild User Meetings (over 30
attendees in the last physical edition in 2023, close to 100 in 2021 and 2022 in an online setting) and previous
related tutorials (PRACE-VI-SEEM 2017 Spring School with 25-30 attendees, a free online EasyBuild tutorial in June'20
Expand Down
12 changes: 0 additions & 12 deletions sc24/EESSI/audience.tex

This file was deleted.

7 changes: 4 additions & 3 deletions sc24/EESSI/cvs.tex
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
\input{cv-sebastian.tex}\newpage
\input{cv-alan.tex}\newpage
\input{cv-kenneth.tex}\newpage
\section{CVs}
% \include{cv-sebastian.tex}
\include{cv-alan.tex}
\include{cv-kenneth.tex}
252 changes: 91 additions & 161 deletions sc24/EESSI/description.tex

Large diffs are not rendered by default.

15 changes: 3 additions & 12 deletions sc24/EESSI/handson.tex
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
\subsection*{Hands-on feasibility analysis}
A significant portion of the tutorial time is used for guided examples and hands-on,
as they are fundamental to exposing the benefits of EESSI.
This highlights the practical nature of the tutorial.
Expand All @@ -9,18 +10,8 @@
containers, the use cases of EESSI, adding support for new software to EESSI, troubleshooting, GPU support, selected
advanced features, and how to contribute to EESSI.
% Each example builds on the previous one and hence also showcases a typical workflow.
The guided examples will happen mostly in the proximity of a coffee break allowing the attendees to continue
a bit during the coffee break should they want to and ensuring the maximum benefit from the tutorial.

The tutorial is based on previous tutorials archived at
\url{https://github.com/EESSI/docs/tree/main/talks/20231205-Introduction-to-EESSI-CASTIEL2},
but will be updated with new developments in EESSI and EasyBuild.
This tutorial will also be made available on that site, and will also refer to the EESSI documentation on
\url{https://www.eessi.io/docs}.
It should be noted that even though this tutorial has never been presented at ISC, all the authors have extensive
experience in other tutorials and workshops, both inside and outside the ISC and SC conference series. Additionally,
they engaged in other collaborative efforts within the EESSI and EasyBuild community. Providing coherent and streamlined
tutorial is well within the authors' experience.
% The guided examples will happen mostly in the proximity of a coffee break allowing the attendees to continue
% a bit during the coffee break should they want to and ensuring the maximum benefit from the tutorial.

% This tutorial was presented in the half-day format at ISC'22
% see \url{https://easybuilders.github.io/easybuild-tutorial/2022-isc22}.
Expand Down
101 changes: 10 additions & 91 deletions sc24/EESSI/main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@

\title{
\textbf{\LARGE Streaming Optimised Scientific Software: an Introduction to EESSI}\\
\vspace{2mm}{\Large \emph{ISC'24 tutorial proposal}}
\vspace{2mm}{\Large \emph{SC'24 tutorial proposal}}
}

\date{}
Expand Down Expand Up @@ -84,100 +84,19 @@ \section*{Abstract}

%===============================================================================

\newpage

%===============================================================================
\include{description.tex} % 2 pages max
\input{handson.tex} % an additional 0.5 page

%\section*{Scope and Tools}
%
%\subsection*{Scope}
%
%Building (scientific) software from source code is preferred in an HPC setting
%where performance is critical. Due to increasing diversity of HPC users, the adoption of community codes and the expansion of the typical application software stack (e.g., libraries for MPI, linear algebra functions, solvers, I/O libraries, hardware abstraction layers, accelerator frameworks,\ldots) delivering a reliable, optimised build becomes increasingly complex. Further complicating matters is that application users often require reproducibility of this same software stack between architectures since they may be using a number of different HPC sites at once.
%
%Ensuring an optimally performing build of an application across architectures places an enormous burden firstly on the development team of the application itself and then on HPC user support teams to reproduce this build in their own unique environments. Application users and developers also frequently have customisations of applications for their own use case, requiring them to also shoulder this burden across multiple sites.
%
%In addition, an HPC workflow or set of HPC tools can easily rely on conflicting versions or configurations of the same libraries. An adequate solution for this (in common use in HPC environments) is the concept of module files. However, most tools available for consuming these module files and setting up the user environment based on them have their shortcomings and problems, and are frequently no longer actively maintained or developed for increasingly complex hardware environments.
%
%This tutorial covers two open-source tools that aim to tackle these issues: \textbf{EasyBuild}, a software build and installation framework that can address the needs of the developer, the user and the user support teams; and \textbf{Lmod}, a modern and
%feature-rich modules tool.
%
%\subsection*{EasyBuild (\url{http://hpcugent.github.io/easybuild})}
%
%\textit{EasyBuild} eases the often difficult task of building and installing (scientific)
%software, by providing a framework with which this task can be automated with a limited
%amount of work. It also serves as a platform for collaboration, enabling a community
%that works together by sharing implementations of build-and-install procedures and
%specifications. It can be used to install multiple versions of applications and
%libraries side-by-side, by installing them to a dedicated installation prefix and generating
%corresponding module files. EasyBuild features a plug-in architecture w.r.t.\
%support for software packages, compilers, and libraries (MPI, BLAS, LAPACK, etc).
%
%The EasyBuild framework is written in Python, and provides functionality commonly
%required when building and installing software. Generic or application-specific
%build-and-install procedures can be implemented in a concise way, and can be easily shared with
%others. As such, it is a very powerful and valuable tool for both user support teams
%and end users of HPC infrastructure, to efficiently deal with the often error-prone
%and time-consuming task of getting scientific software installed (correctly).
%
%\subsection*{Lmod (\url{https://www.tacc.utexas.edu/research-development/tacc-projects/lmod})}
%
%\textit{Lmod} is a modern replacement for the well-established (Tcl-based) Environment
%Modules system. Its main goal is to provide users easy access
%to their (scientific) software stack, without hindering experts. Lmod
%implements the system admins (or in our case the EasyBuild) point of view about how the software
%stack and its components relate to each other. It is the handshake
%between the software stack installers and end users, and delivers to the users
%the ability to configure and manage their working software stack
%while benefiting from the hard work and disciplined building of the
%system. Lmod is feature-rich, well supported, continuously enhanced,
%mostly compatible with the traditional Tcl-based environment modules tool, and is backed
%by a vibrant community.
%
%Lmod like other user environment management systems allows users to
%``load'' modules of their choosing to access compilers, MPI stacks,
%applications and libraries and also unload/reload as necessary to
%meet their software needs, next to other more advanced features that make
%it a powerful and flexible alternative to other established module tools.
%
%
%\newpage
%\setcounter{section}{1}
\section{Detailed Description of the Tutorial}
\input{description.tex}

\subsection*{Target audience}
\input{audience.tex}
%\newpage

\input{outline.tex}
%\newpage

\subsection*{Hands-on and presentation materials}
\input{handson.tex}

\section{Logistics}

\subsection*{Content level}
60\% beginner, 40\% intermediate

\subsection*{Prerequisites}
\input{prerequisites.tex}

\subsection*{Expected attendance}
\input{attendance.tex}

\subsection*{Travel support}
\input{travelsupport.tex}
\include{outline.tex}
% \input{attendance.tex} % Not requested for SC24

\include{cvs.tex}
\newpage

\section{CVs}
\input{cvs.tex}
%\newpage
\subsection*{Release Statement}

%\section{Release Statement}
%\input{release.tex}
%\newpage
The presenters agree to release the notes and relevant training material for the SC24 tutorial digital copy.

\input{travelsupport.tex}

\end{document}
93 changes: 20 additions & 73 deletions sc24/EESSI/outline.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3,83 +3,30 @@ \subsection*{Outline}
We believe that a half-day format would be most appropriate for this tutorial, as it would allow ample time for guided
examples and hands-on practice, in addition to providing a comprehensive overview of EESSI. The tutorial outline for the half-day format is included below.

% We prefer a full-day format for this tutorial, since this allows for spending sufficient time
% on guided examples and hands-on, as well as an in-depth look in EESSI. If necessary we can also
% present a condensed version in a half-day format.
%
% The tutorial outline for both the full-day and half-day formats is included below.

% \subsubsection*{Full-day format (7 hours of tutorial content)}
%
% \begin{itemize}[style=standard, labelwidth=1.9cm]
% \item [09:00-10:00] \emph{(60min)} Introduction to EESSI
% \begin{itemize}
% \item Motivation + goals (15min)
% \item High-level design + inspiration (15min)
% \item Using EESSI (15min)
% \item MultiXscale (funding) (5min)
% \item EESSI community (10min)
% \end{itemize}
% \item [10:00-11:00] \emph{(60min)} Hands-on: Using EESSI
% \item [11:00-11:30] \emph{(30min coffee break)}
% \item [11:30-13:00] \emph{(90min)} Getting access to EESSI, incl. hands-on
% \begin{itemize}
% \item native installation (20min)
% \item production setup in HPC: proxy + mirror server (30min)
% \begin{itemize}
% \item Stratum-1 setup + init sync
% \item setup proxy + use
% \item show impact on start-up performance
% \end{itemize}
% \item alternative access mechanisms (without administrator rights): containers, cvmfsexec (20min)
% \item use private mirror server (20min)
% \end{itemize}
% \item [13:00-14:00] \emph{(60min lunch break)}
% \item [14:00-15:00] Use cases, incl. hands-on (60min)
% \begin{itemize}
% \item Uniform software env
% \item Portable workflows
% \item EESSI in CI env
% \item Facilitate training
% \item Collab with dev
% \end{itemize}
% \item [15:00-16:00] Adding software to EESSI, incl. hands-on (60min)
% \item [16:00-16:30] \emph{(30min coffee break)}
% \item [16:30-16:50] Troubleshooting access to EESSI, incl. hands-on (20min)
% \item [16:50-16:10] Testing software in EESSI, test suite (20min)
% \item [17:10-17:30] Performance evaluation of EESSI (20min)
% \item [17:30-17:50] Configure GPU support (20min)
% \item [17:50-18:00] \emph{(10min)} Q\&A + closing remarks
%
% \end{itemize}

%===============================================================================

\subsubsection*{Half-day format, 3.5 hours of tutorial content}
\subsubsection*{Half-day format, 3 hours of tutorial content}

\begin{itemize}[style=standard, labelwidth=1.9cm]


\item [09:00-09:30] \emph{(30min)} Introduction to EESSI: Motivation + goals (10min), High-level design + inspiration (15min), EuroHPC MultiXscale CoE (funding) (5min)
% \begin{itemize}
% \item Motivation + goals (10min)
% \item High-level design + inspiration (15min)
% \item EuroHPC MultiXscale CoE (funding) (5min)
% \end{itemize}
\item [09:30-10:15] \emph{(45min)} Using EESSI, incl. hands-on: Using a native installation (10min), Hands-on (20min), Alternative access mechanisms: containers, cvmfsexec (15min)
% \begin{itemize}
% \item Using a native installation (10min)
% \item Hands-on (20min)
% \item Alternative access mechanisms: containers, cvmfsexec (15min)
% \end{itemize}
\item [10:15-10:45] \emph{(30min)} Use cases (workflow, CI), incl. hands-on
\item [10:45-11:00] \emph{(15min)} Testing software in EESSI
\item [11:00-11:30] \emph{(30min coffee break)}
\item [11:30-12:10] \emph{(40min)} Adding software to EESSI, incl. hands-on
\item [12:10-12:40] \emph{(30min)} GPU support, incl. hands-on
\item [12:40-12:50] \emph{(10min)} EESSI community
\item [12:50-13:00] \emph{(10min)} Q\&A + closing remarks
\item [00:00-00:30] \emph{(30min)} Introduction to EESSI
\begin{itemize}
\item Motivation + goals (10min)
\item High-level design + inspiration (15min)
\item EuroHPC MultiXscale CoE (funding) (5min)
\end{itemize}
\item [00:30-01:00] \emph{(45min)} Using EESSI, incl. hands-on
\begin{itemize}
\item Using a native installation (10min)
\item Hands-on (15min)
\item Alternative access mechanisms: containers, cvmfsexec (5min)
\end{itemize}
\item [01:00-01:30] \emph{(30min)} Use cases (workflows, CI), incl. hands-on
\item [01:30-02:00] \emph{(30min coffee break)}
\item [02:00-02:15] \emph{(15min)} Testing software in EESSI % AOC: Drop this to recover time?
\item [02:15-02:45] \emph{(30min)} Adding software to EESSI, incl. hands-on
\item [02:45-03:10] \emph{(25min)} GPU support, incl. hands-on
\item [03:10-03:20] \emph{(10min)} EESSI community
\item [03:20-03:30] \emph{(10min)} Q\&A + closing remarks

\end{itemize}

%\newpage
6 changes: 0 additions & 6 deletions sc24/EESSI/prerequisites.tex

This file was deleted.

6 changes: 4 additions & 2 deletions sc24/EESSI/travelsupport.tex
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
The tutorial presenters request free passes for their tutorial,
as well as travel support for two presenters, one from Spain, one from Belgium.
\subsection*{Travel support}
The tutorial presenters request travel support for two presenters from Europe

The tutorial presenters, and assistants if possible, also request free passes for their tutorial.

0 comments on commit 34ea0d5

Please sign in to comment.