Page MenuHomec4science

phys_743_parallel_programming.tex
No OneTemporary

File Metadata

Created
Wed, May 1, 05:28

phys_743_parallel_programming.tex

\documentclass[8pt,aspectratio=169,notes]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[most, minted]{tcolorbox}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{fancyvrb}
\usepackage{tikz}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage[super]{nth}
\usepackage{amssymb}
\usepackage{siunitx}
\usemintedstyle{emacs}
\makeatletter
% Define commands to select the folder where the Beamer theme lies in
\def\beamer@calltheme#1#2#3{%
\def\beamer@themelist{#2}
\@for\beamer@themename:=\beamer@themelist\do
{\usepackage[{#1}]{\beamer@themelocation/#3\beamer@themename}}}
\def\usefolder#1{
\def\beamer@themelocation{#1}
}
\def\beamer@themelocation{}
% Patch Table of Content to insert fixed spaces between items instead of vfills
\patchcmd{\beamer@sectionintoc}
{\vfill}
{\vskip\itemsep}
{}
{}
% New counter for line numbers
\newcounter{verbatim@cnt}
% This is for color band on the linenos in listings
\AtEndEnvironment{Verbatim}{%
\stepcounter{verbatim@cnt}%
\protected@write\@auxout{}{%
\global\protect\@namedef{verbatim@numwidth@\the\c@verbatim@cnt}{%
\ifnum\c@FancyVerbLine>999
7.5mm%
\else\ifnum\c@FancyVerbLine>99
6mm%
\else
4mm%
\fi\fi
}%
}%
}
\def\minted@auto@numwidth#1{%
\ifcsname verbatim@numwidth@\the\numexpr\c@verbatim@cnt#1\relax\endcsname
\csname verbatim@numwidth@\the\numexpr\c@verbatim@cnt#1\relax\endcsname
\else
4mm%
\fi
}
\tcbset{bashstyle/.style={
colframe=black!70,
listing engine=minted,
listing only,
minted style=colorful,
minted language=console,
size=fbox,
breakable,
enhanced,
minted options={
autogobble=true,
breaklines=true,
breakbefore=.,
numbersep=2mm,
},
}}
\tcbset{cxx/.style={
colframe=black!70,
listing engine=minted,
listing only,
minted style=emacs,
minted language=C++,
size=fbox,
breakable,
enhanced,
minted options={
autogobble=true,
linenos,
breaklines=true,
breakbefore=.,
numbersep=2mm,
escapeinside=||,
},
overlay={%
\begin{tcbclipinterior}
\fill[gray!25] (frame.south west) rectangle ([xshift=\dimexpr\minted@auto@numwidth{}\relax]frame.north west);
\end{tcbclipinterior}
},
% in "left", \c@verbatim@cnt is not stepped yet, hence the argument "+1"
left=\dimexpr\minted@auto@numwidth{+1}\relax,
}}
% \EscMintinline[options]{<language>}{<backslash-escaped text>}
\def\EscMintinline{%
\FVExtraRobustCommand
\RobustEscMintinline
\FVExtraUnexpandedReadOArgMArgEscVArg}
\NewExpandableDocumentCommand \FVExtraUnexpandedReadOArgMArgEscVArg { o m m } {%
\IfNoValueTF{#1}
{\FVExtraAlwaysUnexpanded
{\FVExtraUnexpandedReadOArgMArgEscVArg{#2}{#3}}}
{\FVExtraAlwaysUnexpanded
{\FVExtraUnexpandedReadOArgMArgEscVArg[#1]{#2}{#3}}}%
}
\newrobustcmd\RobustEscMintinline[2][]{%
% similar to \mintinline
\begingroup
\setboolean{minted@isinline}{true}%
\minted@configlang{#2}%
\setkeys{minted@opt@cmd}{#1}%
\minted@fvset
\begingroup
\@ifnextchar\bgroup
{\FVExtraDetokenizeREscVArg{\minted@inline@iii}}%
{\PackageError{minted}%
{\string\EscMintinline\space delimiters must be paired curly braces in this context}%
{Delimit argument with curly braces}}}
\makeatother
\newtcblisting{bashcode}{%
colframe=black!70,
width=\linewidth,
bashstyle,
}
\newtcblisting{consoleoutput}{%
colback=black,
colupper=gray!50,
colframe=black!70,
listing engine=minted,
listing only,
minted style=monokai,
minted language=console,
size=fbox,
breakable,
enhanced,
minted options={
autogobble=true,
breaklines=true,
breakbefore=.,
numbersep=2mm,
},
width=80ex,
}
\newtcblisting{cxxcode}[2][]{
cxx,
title={#2},
#1,
}
\newtcbinputlisting{cxxfile}[2][]{%
cxx,
minted options app={
fontsize=\small,
},
listing file={#2},
width=80ex,
#1
}
\newcommand{\cxxinline}[1]{\EscMintinline{C++}{#1}}
\newcommand{\cmd}[1]{\EscMintinline[style=colorful]{console}{#1}}
%newmintinline[cmd]{console}{style=colorful,autogobble}
\newcommand{\code}[1]{\texttt{\bf #1}}
\DeclareSIUnit\flop{FLOP}
\DeclareSIUnit\flops{\flop\per\second}
\sisetup{per-mode=symbol}
\sisetup{exponent-product = \cdot}
\definecolor{colShellBg}{HTML}{F5EDE4}
\definecolor{links}{HTML}{2A1B81}
\hypersetup{colorlinks,linkcolor=,urlcolor=links}
\usefolder{scitas_theme}
\usetheme{scitas}
\newcommand{\FIGREP}{figures}
\renewcommand{\arraystretch}{1.3}
% Remove numbering from the ToC when it's spread on multiple frames
\setbeamertemplate{frametitle continuation}{}
\title{{\huge Parallel Programming}\\Single-core optimization, MPI, OpenMP, and hybrid programming}
\author[N. Richart, E. Lanti]{Nicolas Richart \\ Emmanuel Lanti \\ {\scriptsize Course based
on V. Keller's lecture notes}}
\date{\nth{15} - \nth{19} of November 2021}
\begin{document}
\begin{frame}[plain]
\titlepage
\end{frame}
\section{Table of Contents}
\begin{frame}[allowframebreaks=0.8]
\frametitle{Table of Contents}
\tableofcontents%[hideallsubsections]
\end{frame}
% Administration
\input{src/admin/admin}
% Single-core optimization
\input{src/basic_concepts/basic_concepts}
\input{src/cluster_architecture/cluster_architecture}
\input{src/optimization/optimization}
\input{src/performance_measurement/performance_measurement}
% OpenMP
\input{src/openmp/openmp}
% MPI
\input{src/mpi/mpi}
% Hybrid programming
\input{src/hybrid/hybrid}
% Recapitulation of the course
\input{src/recap/recap}
% Project description
\input{src/projects/projects}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-command-extra-options: "-shell-escape"
%%% TeX-master: t
%%% End:

Event Timeline