hw1: done 1.1
This commit is contained in:
parent
6a756894be
commit
497ded0368
8 changed files with 489 additions and 0 deletions
302
.gitignore
vendored
Normal file
302
.gitignore
vendored
Normal file
|
@ -0,0 +1,302 @@
|
||||||
|
## Core latex/pdflatex auxiliary files:
|
||||||
|
*.aux
|
||||||
|
*.lof
|
||||||
|
*.log
|
||||||
|
*.lot
|
||||||
|
*.fls
|
||||||
|
*.out
|
||||||
|
*.toc
|
||||||
|
*.fmt
|
||||||
|
*.fot
|
||||||
|
*.cb
|
||||||
|
*.cb2
|
||||||
|
.*.lb
|
||||||
|
|
||||||
|
## Intermediate documents:
|
||||||
|
*.dvi
|
||||||
|
*.xdv
|
||||||
|
*-converted-to.*
|
||||||
|
# these rules might exclude image files for figures etc.
|
||||||
|
# *.ps
|
||||||
|
# *.eps
|
||||||
|
# *.pdf
|
||||||
|
|
||||||
|
## Generated if empty string is given at "Please type another file name for output:"
|
||||||
|
.pdf
|
||||||
|
|
||||||
|
## Bibliography auxiliary files (bibtex/biblatex/biber):
|
||||||
|
*.bbl
|
||||||
|
*.bcf
|
||||||
|
*.blg
|
||||||
|
*-blx.aux
|
||||||
|
*-blx.bib
|
||||||
|
*.run.xml
|
||||||
|
|
||||||
|
## Build tool auxiliary files:
|
||||||
|
*.fdb_latexmk
|
||||||
|
*.synctex
|
||||||
|
*.synctex(busy)
|
||||||
|
*.synctex.gz
|
||||||
|
*.synctex.gz(busy)
|
||||||
|
*.pdfsync
|
||||||
|
|
||||||
|
## Build tool directories for auxiliary files
|
||||||
|
# latexrun
|
||||||
|
latex.out/
|
||||||
|
|
||||||
|
## Auxiliary and intermediate files from other packages:
|
||||||
|
# algorithms
|
||||||
|
*.alg
|
||||||
|
*.loa
|
||||||
|
|
||||||
|
# achemso
|
||||||
|
acs-*.bib
|
||||||
|
|
||||||
|
# amsthm
|
||||||
|
*.thm
|
||||||
|
|
||||||
|
# beamer
|
||||||
|
*.nav
|
||||||
|
*.pre
|
||||||
|
*.snm
|
||||||
|
*.vrb
|
||||||
|
|
||||||
|
# changes
|
||||||
|
*.soc
|
||||||
|
|
||||||
|
# comment
|
||||||
|
*.cut
|
||||||
|
|
||||||
|
# cprotect
|
||||||
|
*.cpt
|
||||||
|
|
||||||
|
# elsarticle (documentclass of Elsevier journals)
|
||||||
|
*.spl
|
||||||
|
|
||||||
|
# endnotes
|
||||||
|
*.ent
|
||||||
|
|
||||||
|
# fixme
|
||||||
|
*.lox
|
||||||
|
|
||||||
|
# feynmf/feynmp
|
||||||
|
*.mf
|
||||||
|
*.mp
|
||||||
|
*.t[1-9]
|
||||||
|
*.t[1-9][0-9]
|
||||||
|
*.tfm
|
||||||
|
|
||||||
|
#(r)(e)ledmac/(r)(e)ledpar
|
||||||
|
*.end
|
||||||
|
*.?end
|
||||||
|
*.[1-9]
|
||||||
|
*.[1-9][0-9]
|
||||||
|
*.[1-9][0-9][0-9]
|
||||||
|
*.[1-9]R
|
||||||
|
*.[1-9][0-9]R
|
||||||
|
*.[1-9][0-9][0-9]R
|
||||||
|
*.eledsec[1-9]
|
||||||
|
*.eledsec[1-9]R
|
||||||
|
*.eledsec[1-9][0-9]
|
||||||
|
*.eledsec[1-9][0-9]R
|
||||||
|
*.eledsec[1-9][0-9][0-9]
|
||||||
|
*.eledsec[1-9][0-9][0-9]R
|
||||||
|
|
||||||
|
# glossaries
|
||||||
|
*.acn
|
||||||
|
*.acr
|
||||||
|
*.glg
|
||||||
|
*.glo
|
||||||
|
*.gls
|
||||||
|
*.glsdefs
|
||||||
|
*.lzo
|
||||||
|
*.lzs
|
||||||
|
*.slg
|
||||||
|
*.slo
|
||||||
|
*.sls
|
||||||
|
|
||||||
|
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
|
||||||
|
# *.ist
|
||||||
|
|
||||||
|
# gnuplot
|
||||||
|
*.gnuplot
|
||||||
|
*.table
|
||||||
|
|
||||||
|
# gnuplottex
|
||||||
|
*-gnuplottex-*
|
||||||
|
|
||||||
|
# gregoriotex
|
||||||
|
*.gaux
|
||||||
|
*.glog
|
||||||
|
*.gtex
|
||||||
|
|
||||||
|
# htlatex
|
||||||
|
*.4ct
|
||||||
|
*.4tc
|
||||||
|
*.idv
|
||||||
|
*.lg
|
||||||
|
*.trc
|
||||||
|
*.xref
|
||||||
|
|
||||||
|
# hyperref
|
||||||
|
*.brf
|
||||||
|
|
||||||
|
# knitr
|
||||||
|
*-concordance.tex
|
||||||
|
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
|
||||||
|
# *.tikz
|
||||||
|
*-tikzDictionary
|
||||||
|
|
||||||
|
# listings
|
||||||
|
*.lol
|
||||||
|
|
||||||
|
# luatexja-ruby
|
||||||
|
*.ltjruby
|
||||||
|
|
||||||
|
# makeidx
|
||||||
|
*.idx
|
||||||
|
*.ilg
|
||||||
|
*.ind
|
||||||
|
|
||||||
|
# minitoc
|
||||||
|
*.maf
|
||||||
|
*.mlf
|
||||||
|
*.mlt
|
||||||
|
*.mtc[0-9]*
|
||||||
|
*.slf[0-9]*
|
||||||
|
*.slt[0-9]*
|
||||||
|
*.stc[0-9]*
|
||||||
|
|
||||||
|
# minted
|
||||||
|
_minted*
|
||||||
|
*.pyg
|
||||||
|
|
||||||
|
# morewrites
|
||||||
|
*.mw
|
||||||
|
|
||||||
|
# newpax
|
||||||
|
*.newpax
|
||||||
|
|
||||||
|
# nomencl
|
||||||
|
*.nlg
|
||||||
|
*.nlo
|
||||||
|
*.nls
|
||||||
|
|
||||||
|
# pax
|
||||||
|
*.pax
|
||||||
|
|
||||||
|
# pdfpcnotes
|
||||||
|
*.pdfpc
|
||||||
|
|
||||||
|
# sagetex
|
||||||
|
*.sagetex.sage
|
||||||
|
*.sagetex.py
|
||||||
|
*.sagetex.scmd
|
||||||
|
|
||||||
|
# scrwfile
|
||||||
|
*.wrt
|
||||||
|
|
||||||
|
# svg
|
||||||
|
svg-inkscape/
|
||||||
|
|
||||||
|
# sympy
|
||||||
|
*.sout
|
||||||
|
*.sympy
|
||||||
|
sympy-plots-for-*.tex/
|
||||||
|
|
||||||
|
# pdfcomment
|
||||||
|
*.upa
|
||||||
|
*.upb
|
||||||
|
|
||||||
|
# pythontex
|
||||||
|
*.pytxcode
|
||||||
|
pythontex-files-*/
|
||||||
|
|
||||||
|
# tcolorbox
|
||||||
|
*.listing
|
||||||
|
|
||||||
|
# thmtools
|
||||||
|
*.loe
|
||||||
|
|
||||||
|
# TikZ & PGF
|
||||||
|
*.dpth
|
||||||
|
*.md5
|
||||||
|
*.auxlock
|
||||||
|
|
||||||
|
# titletoc
|
||||||
|
*.ptc
|
||||||
|
|
||||||
|
# todonotes
|
||||||
|
*.tdo
|
||||||
|
|
||||||
|
# vhistory
|
||||||
|
*.hst
|
||||||
|
*.ver
|
||||||
|
|
||||||
|
# easy-todo
|
||||||
|
*.lod
|
||||||
|
|
||||||
|
# xcolor
|
||||||
|
*.xcp
|
||||||
|
|
||||||
|
# xmpincl
|
||||||
|
*.xmpi
|
||||||
|
|
||||||
|
# xindy
|
||||||
|
*.xdy
|
||||||
|
|
||||||
|
# xypic precompiled matrices and outlines
|
||||||
|
*.xyc
|
||||||
|
*.xyd
|
||||||
|
|
||||||
|
# endfloat
|
||||||
|
*.ttt
|
||||||
|
*.fff
|
||||||
|
|
||||||
|
# Latexian
|
||||||
|
TSWLatexianTemp*
|
||||||
|
|
||||||
|
## Editors:
|
||||||
|
# WinEdt
|
||||||
|
*.bak
|
||||||
|
*.sav
|
||||||
|
|
||||||
|
# Texpad
|
||||||
|
.texpadtmp
|
||||||
|
|
||||||
|
# LyX
|
||||||
|
*.lyx~
|
||||||
|
|
||||||
|
# Kile
|
||||||
|
*.backup
|
||||||
|
|
||||||
|
# gummi
|
||||||
|
.*.swp
|
||||||
|
|
||||||
|
# KBibTeX
|
||||||
|
*~[0-9]*
|
||||||
|
|
||||||
|
# TeXnicCenter
|
||||||
|
*.tps
|
||||||
|
|
||||||
|
# auto folder when using emacs and auctex
|
||||||
|
./auto/*
|
||||||
|
*.el
|
||||||
|
|
||||||
|
# expex forward references with \gathertags
|
||||||
|
*-tags.tex
|
||||||
|
|
||||||
|
# standalone packages
|
||||||
|
*.sta
|
||||||
|
|
||||||
|
# Makeindex log files
|
||||||
|
*.lpz
|
||||||
|
|
||||||
|
# xwatermark package
|
||||||
|
*.xwm
|
||||||
|
|
||||||
|
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
|
||||||
|
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
|
||||||
|
# Uncomment the next line to have this generated file ignored.
|
||||||
|
#*Notes.bib
|
||||||
|
|
BIN
Project0/project0.pdf
Normal file
BIN
Project0/project0.pdf
Normal file
Binary file not shown.
13
Project1/Makefile
Normal file
13
Project1/Makefile
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
filename=project_1_maggioni_claudio
|
||||||
|
|
||||||
|
pdf:
|
||||||
|
pdflatex ${filename}
|
||||||
|
pdflatex ${filename}
|
||||||
|
make clean
|
||||||
|
|
||||||
|
read:
|
||||||
|
evince ${filename}.pdf &
|
||||||
|
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f ${filename}.out ${filename}.log ${filename}.bbl ${filename}.blg ${filename}.au ${filename}.log ${filename}.ps ${filename}.aux ${filename}.out ${filename}.dvi ${filename}.bbl ${filename}.blg ${filename}.toc ${filename}.nav ${filename}.vrb ${filename}.snm
|
95
Project1/assignment.sty
Normal file
95
Project1/assignment.sty
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
\usepackage{ifthen}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage{graphics}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
|
||||||
|
\pagestyle{plain}
|
||||||
|
\voffset -5mm
|
||||||
|
\oddsidemargin 0mm
|
||||||
|
\evensidemargin -11mm
|
||||||
|
\marginparwidth 2cm
|
||||||
|
\marginparsep 0pt
|
||||||
|
\topmargin 0mm
|
||||||
|
\headheight 0pt
|
||||||
|
\headsep 0pt
|
||||||
|
\topskip 0pt
|
||||||
|
\textheight 255mm
|
||||||
|
\textwidth 165mm
|
||||||
|
|
||||||
|
\newcommand{\duedate} {}
|
||||||
|
\newcommand{\setduedate}[1]{%
|
||||||
|
\renewcommand\duedate {Due date:~ #1}}
|
||||||
|
\newcommand\isassignment {false}
|
||||||
|
\newcommand{\setassignment}{\renewcommand\isassignment {true}}
|
||||||
|
\newcommand{\ifassignment}[1]{\ifthenelse{\boolean{\isassignment}}{#1}{}}
|
||||||
|
\newcommand{\ifnotassignment}[1]{\ifthenelse{\boolean{\isassignment}}{}{#1}}
|
||||||
|
|
||||||
|
\newcommand{\assignmentpolicy}{
|
||||||
|
\begin{table}[h]
|
||||||
|
\begin{center}
|
||||||
|
\scalebox{0.8} {%
|
||||||
|
\begin{tabular}{|p{0.02cm}p{16cm}|}
|
||||||
|
\hline
|
||||||
|
&\\
|
||||||
|
\multicolumn{2}{|c|}{\Large\textbf{HPC 2022 --- Submission Instructions}}\\
|
||||||
|
\multicolumn{2}{|c|}{\large\textbf{(Please, notice that following instructions are mandatory: }}\\
|
||||||
|
\multicolumn{2}{|c|}{\large\textbf{submissions that don't comply with, won't be considered)}}\\
|
||||||
|
&\\
|
||||||
|
\textbullet & Assignments must be submitted to \href{https://www.icorsi.ch/course/view.php?id=14652}{iCorsi} (i.e. in electronic format).\\
|
||||||
|
\textbullet & Provide both executable package and sources (e.g. C/C++ files, Matlab).
|
||||||
|
If you are using libraries, please add them in the file. Sources must be organized in directories called:\\
|
||||||
|
\multicolumn{2}{|c|}{\textit{Project\_number\_lastname\_firstname}}\\
|
||||||
|
& and the file must be called:\\
|
||||||
|
\multicolumn{2}{|c|}{\textit{project\_number\_lastname\_firstname.zip}}\\
|
||||||
|
\multicolumn{2}{|c|}{\textit{project\_number\_lastname\_firstname.pdf}}\\
|
||||||
|
\textbullet & The TAs will grade your project by reviewing your project write-up, and looking at the implementation
|
||||||
|
you attempted, and benchmarking your code's performance.\\
|
||||||
|
|
||||||
|
\textbullet & You are allowed to discuss all questions with anyone you like; however: (i) your submission must list anyone you discussed problems with and (ii) you must write up your submission independently.\\
|
||||||
|
\hline
|
||||||
|
\end{tabular}
|
||||||
|
}
|
||||||
|
\end{center}
|
||||||
|
\end{table}
|
||||||
|
}
|
||||||
|
\newcommand{\punkte}[1]{\hspace{1ex}\emph{\mdseries\hfill(#1~\ifcase#1{Points}\or{Points}\else{Points}\fi)}}
|
||||||
|
|
||||||
|
|
||||||
|
\newcommand\serieheader[6]{
|
||||||
|
\thispagestyle{empty}%
|
||||||
|
\begin{flushleft}
|
||||||
|
\includegraphics[width=0.4\textwidth]{usi_inf.png}
|
||||||
|
\end{flushleft}
|
||||||
|
\noindent%
|
||||||
|
{\large\ignorespaces{\textbf{#1}}\hspace{\fill}\ignorespaces{ \textbf{#2}}}\\ \\%
|
||||||
|
{\large\ignorespaces #3 \hspace{\fill}\ignorespaces #4}\\
|
||||||
|
\noindent%
|
||||||
|
\bigskip
|
||||||
|
\hrule\par\bigskip\noindent%
|
||||||
|
\bigskip {\ignorespaces {\Large{\textbf{#5}}}
|
||||||
|
\hspace{\fill}\ignorespaces \large \ifthenelse{\boolean{\isassignment}}{\duedate}{#6}}
|
||||||
|
\hrule\par\bigskip\noindent% \linebreak
|
||||||
|
}
|
||||||
|
|
||||||
|
\makeatletter
|
||||||
|
\def\enumerateMod{\ifnum \@enumdepth >3 \@toodeep\else
|
||||||
|
\advance\@enumdepth \@ne
|
||||||
|
\edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
|
||||||
|
{\csname label\@enumctr\endcsname}{\usecounter
|
||||||
|
{\@enumctr}%%%? the following differs from "enumerate"
|
||||||
|
\topsep0pt%
|
||||||
|
\partopsep0pt%
|
||||||
|
\itemsep0pt%
|
||||||
|
\def\makelabel##1{\hss\llap{##1}}}\fi}
|
||||||
|
\let\endenumerateMod =\endlist
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\usepackage{textcomp}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
Project1/project1.pdf
Normal file
BIN
Project1/project1.pdf
Normal file
Binary file not shown.
BIN
Project1/project_1_maggioni_claudio.pdf
Normal file
BIN
Project1/project_1_maggioni_claudio.pdf
Normal file
Binary file not shown.
79
Project1/project_1_maggioni_claudio.tex
Normal file
79
Project1/project_1_maggioni_claudio.tex
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
\documentclass[unicode,11pt,a4paper,oneside,numbers=endperiod,openany]{scrartcl}
|
||||||
|
|
||||||
|
\input{assignment.sty}
|
||||||
|
\usepackage{fancyvrb}
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
|
||||||
|
\setassignment
|
||||||
|
\setduedate{12.10.2022 (midnight)}
|
||||||
|
|
||||||
|
\serieheader{High-Performance Computing Lab}{2022}{Student: Claudio
|
||||||
|
Maggioni}{Discussed with: ---}{Solution for Project 1}{}
|
||||||
|
\newline
|
||||||
|
|
||||||
|
\assignmentpolicy
|
||||||
|
In this project you will practice memory access optimization, performance-oriented programming, and OpenMP parallelizaton
|
||||||
|
on the ICS Cluster .
|
||||||
|
|
||||||
|
\section{Explaining Memory Hierarchies \punkte{25}}
|
||||||
|
|
||||||
|
By identifying the memory hierarchy parameters through \texttt{likwid-topology}
|
||||||
|
for the cache topology and \texttt{free -g} for the amount of primary memory I
|
||||||
|
find the following values:
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\begin{tabular}{llll}
|
||||||
|
Main memory & 62 GB \\
|
||||||
|
L3 cache & 25 MB per socket \\
|
||||||
|
L2 cache & 256 kB per core \\
|
||||||
|
L1 cache & 32 kB per core
|
||||||
|
\end{tabular}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
All values are reported using base 2 IEC byte units. The cluster has 2 sockets
|
||||||
|
and a total of 20 cores (10 per socket). The cache topology diagram reported by
|
||||||
|
\texttt{likwid-topology -g} is the following:
|
||||||
|
|
||||||
|
\pagebreak[4]
|
||||||
|
% https://tex.stackexchange.com/a/171818
|
||||||
|
\begin{Verbatim}[fontsize=\tiny]
|
||||||
|
Socket 0:
|
||||||
|
+---------------------------------------------------------------------------------------------------------------+
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| | 0 | | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| +-----------------------------------------------------------------------------------------------------------+ |
|
||||||
|
| | 25 MB | |
|
||||||
|
| +-----------------------------------------------------------------------------------------------------------+ |
|
||||||
|
+---------------------------------------------------------------------------------------------------------------+
|
||||||
|
Socket 1:
|
||||||
|
+---------------------------------------------------------------------------------------------------------------+
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| | 10 | | 11 | | 12 | | 13 | | 14 | | 15 | | 16 | | 17 | | 18 | | 19 | |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | | 32 kB | |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | | 256 kB | |
|
||||||
|
| +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ |
|
||||||
|
| +-----------------------------------------------------------------------------------------------------------+ |
|
||||||
|
| | 25 MB | |
|
||||||
|
| +-----------------------------------------------------------------------------------------------------------+ |
|
||||||
|
+---------------------------------------------------------------------------------------------------------------+
|
||||||
|
\end{Verbatim}
|
||||||
|
|
||||||
|
\section{Optimize Square Matrix-Matrix Multiplication \punkte{60}}
|
||||||
|
|
||||||
|
|
||||||
|
\section{Quality of the Report \punkte{15}}
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
BIN
Project1/usi_inf.png
Normal file
BIN
Project1/usi_inf.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 97 KiB |
Reference in a new issue