-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path02-repo-structure.tex
More file actions
139 lines (122 loc) · 5.66 KB
/
Copy path02-repo-structure.tex
File metadata and controls
139 lines (122 loc) · 5.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
\documentclass{beamer}
% Theme choice
\usetheme{Madrid}
% Optional packages
\usepackage{graphicx} % For including images
\usepackage{amsmath} % For math symbols and formulas
\usepackage{hyperref} % For hyperlinks
\usepackage{listings}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage[T1]{fontenc}
\lstdefinestyle{CStyle}{
language=C, % Set the language to C
basicstyle=\ttfamily\footnotesize\linespread{0.9}\tiny, % Set font style and size
keywordstyle=\color{blue}, % Color of keywords
commentstyle=\color{gray}, % Color of comments
stringstyle=\color{red}, % Color of strings
showstringspaces=false, % Do not mark spaces in strings
breaklines=true, % Enable line breaks at appropriate places
breakatwhitespace=false, % Break lines at any character, not just whitespace
numbers=left, % Show line numbers on the left
numberstyle=\tiny\color{gray}, % Style for line numbers
tabsize=4, % Set tab width
keepspaces=true, % Keep indentation spaces
frame=single, % Add a border around the code
aboveskip=0pt, % Reduce space above the code block
belowskip=0pt, % Reduce space below the code block
xleftmargin=7.5pt, % Add left padding (approx. 2.8mm or 10px)
xrightmargin=15pt, % Add left padding (approx. 2.8mm or 10px)
}
\AtBeginSection[]{
\begin{frame}
\centering
\Huge\insertsection
\end{frame}
}
% Title, author, date, and institute (optional)
\title[Parallel Programming. Repository structure]{Parallel Programming course. Repository structure}
\author{Obolenskiy Arseniy, Nesterov Alexander}
\institute{Nizhny Novgorod State University}
\date{\today} % or \date{Month Day, Year}
% Redefine the footline to display both the short title and the university name
\setbeamertemplate{footline}{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.45\paperwidth,ht=2.5ex,dp=1ex,leftskip=1em,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshortinstitute % Displays the university name
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.45\paperwidth,ht=2.5ex,dp=1ex,leftskip=1em,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertshorttitle % Displays the short title
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.1\paperwidth,ht=2.5ex,dp=1ex,rightskip=1em,center]{author in head/foot}%
\usebeamerfont{author in head/foot}\insertframenumber{} / \inserttotalframenumber
\end{beamercolorbox}}%
\vskip0pt%
}
\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}{Contents}
\tableofcontents
\end{frame}
\section{The introduction to the repository}
\begin{frame}[fragile]{Parallel programming technologies}
\begin{itemize}
\item \textbf{MPI}
\item OpenMP
\item TBB
\item std::thread
\end{itemize}
\end{frame}
\begin{frame}{Documentation}
Follow the documentation for detailed instructions and examples:
\begin{itemize}
\item EN: \href{https://learning-process.github.io/parallel\_programming\_course/en/}{https://learning-process.github.io/parallel\_programming\_course/en/}
\item RU: \href{https://learning-process.github.io/parallel\_programming\_course/ru/}{https://learning-process.github.io/parallel\_programming\_course/ru/}
\end{itemize}
\end{frame}
\begin{frame}[fragile]{Local Setup and Build}
\begin{itemize}
\item Dev Container (recommended): VS Code + Docker + Dev Containers extension
\item Manual prerequisites: Install CMake; install MPI/OpenMP per OS (see docs)
\item Download submodules: \\
\verb|git submodule update --init --recursive --depth=1|
\item Configure build: \\
\verb|mkdir build && cd build| \\[-2pt]
\verb|cmake -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON -D CMAKE_BUILD_TYPE=Release ..|
\item Build: \\
\verb|cmake --build . --config Release --parallel|
\end{itemize}
\end{frame}
\begin{frame}[fragile]{Docker and Dev Container}
You may use Docker container for the convenience of development.
\begin{itemize}
\item VS Code flow (recommended):
\begin{itemize}
\item Open the repo in VS Code, install Dev Containers extension
\item Use: \verb|Dev Containers: Reopen in Container|
\item VS Code builds a container with GCC, CMake, MPI, OpenMP, tools
\end{itemize}
\item Prebuilt image (in case you do not use dev container or VS Code):
\begin{itemize}
\item Pull: \verb|docker pull ghcr.io/learning-process/ppc-ubuntu:1.1|
\item Run: \verb|docker run -it ghcr.io/learning-process/ppc-ubuntu:1.1|
\end{itemize}
\item Build locally (Dockerfile: \texttt{docker/ubuntu.Dockerfile}):
\begin{itemize}
\item Build: \verb|docker build -f docker/ubuntu.Dockerfile -t ppc-dev .|
\item Run: \verb|docker run -it ppc-dev|
\item Mount repo (optional): \verb|-v "$(pwd)":/work -w /work|
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}{References}
\begin{itemize}
\item PPC Repository \href{https://github.com/learning-process/parallel\_programming\_course}{https://github.com/learning-process/parallel\_programming\_course}
\item PPC Docker image \href{https://github.com/orgs/learning-process/packages/container/package/ppc-ubuntu}{https://github.com/orgs/learning-process/packages/container/package/ppc-ubuntu}
\item VS Code Dev Containers Extension \href{https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers}{https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers}
\end{itemize}
\end{frame}
\end{document}