From adbad08ae2966b3b4ed0fe0aa124c39ab398e9b8 Mon Sep 17 00:00:00 2001 From: Arity-T Date: Mon, 16 Mar 2026 16:47:43 +0300 Subject: [PATCH] init --- report/.gitignore | 7 ++ report/refs.bib | 77 +++++++++++++++++ report/report.tex | 209 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 293 insertions(+) create mode 100755 report/.gitignore create mode 100755 report/refs.bib create mode 100755 report/report.tex diff --git a/report/.gitignore b/report/.gitignore new file mode 100755 index 0000000..a389b6c --- /dev/null +++ b/report/.gitignore @@ -0,0 +1,7 @@ +* + +!**/ +!.gitignore +!report.tex +!img/*.png +!refs.bib \ No newline at end of file diff --git a/report/refs.bib b/report/refs.bib new file mode 100755 index 0000000..c13904e --- /dev/null +++ b/report/refs.bib @@ -0,0 +1,77 @@ +@book{saad2003iterative, + title={Iterative Methods for Sparse Linear Systems}, + author={Saad, Yousef}, + year={2003}, + publisher={SIAM} +} + +@book{golub2013matrix, + title={Matrix Computations}, + author={Golub, Gene H. and Van Loan, Charles F.}, + edition={4}, + year={2013}, + publisher={Johns Hopkins University Press} +} + +@article{dongarra2003linpack, + title={The LINPACK Benchmark: Past, Present and Future}, + author={Dongarra, Jack and Luszczek, Piotr and Petitet, Antoine}, + journal={Concurrency and Computation: Practice and Experience}, + year={2003}, + volume={15}, + number={9}, + pages={803--820} +} + +@misc{hpl2018netlib, + title={HPL: A Portable Implementation of the High Performance Linpack Benchmark}, + author={Dongarra, Jack and others}, + year={2018}, + howpublished={Netlib}, + url={https://netlib.org/benchmark/hpl/} +} + +@book{barrett1994templates, + title={Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods}, + author={Barrett, Richard and Berry, Michael and Chan, Tony and Demmel, James and Donato, June and Dongarra, Jack and Eijkhout, Victor and Pozo, Roldan and Romine, Charles and Van der Vorst, Henk}, + year={1994}, + publisher={SIAM} +} + +@misc{jacobiMathWorld, + title={Jacobi Method}, + author={Weisstein, Eric W.}, + year={2024}, + howpublished={Wolfram MathWorld}, + url={https://mathworld.wolfram.com/JacobiMethod.html} +} + +@book{pacheco2011mpi, + title={An Introduction to Parallel Programming}, + author={Pacheco, Peter}, + year={2011}, + publisher={Morgan Kaufmann} +} + +@book{gropp2014mpi, + title={Using MPI: Portable Parallel Programming with the Message-Passing Interface}, + author={Gropp, William and Lusk, Ewing and Skjellum, Anthony}, + edition={3}, + year={2014}, + publisher={MIT Press} +} + +@book{kirk2016cuda, + title={Programming Massively Parallel Processors: A Hands-on Approach}, + author={Kirk, David B. and Hwu, Wen-mei W.}, + edition={3}, + year={2016}, + publisher={Morgan Kaufmann} +} + +@article{chalmers2023rocHPL, + title={Optimizing High-Performance Linpack for Exascale Accelerated Architectures}, + author={Chalmers, Noel and Kurzak, Jakub and McDougall, Damon and Bauman, Paul}, + journal={arXiv preprint arXiv:2304.10397}, + year={2023} +} \ No newline at end of file diff --git a/report/report.tex b/report/report.tex new file mode 100755 index 0000000..622d096 --- /dev/null +++ b/report/report.tex @@ -0,0 +1,209 @@ +\documentclass[a4paper, final]{article} +%\usepackage{literat} % Нормальные шрифты +\usepackage[14pt]{extsizes} % для того чтобы задать нестандартный 14-ый размер шрифта +\usepackage{tabularx} +\usepackage{booktabs} +\usepackage[T2A]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[russian]{babel} +\usepackage{amsmath} +\usepackage[left=25mm, top=20mm, right=20mm, bottom=20mm, footskip=10mm]{geometry} +\usepackage{ragged2e} %для растягивания по ширине +\usepackage{setspace} %для межстрочного интервала +\usepackage{moreverb} %для работы с листингами +\usepackage{indentfirst} % для абзацного отступа +\usepackage{moreverb} %для печати в листинге исходного кода программ +\usepackage{pdfpages} %для вставки других pdf файлов +\usepackage{tikz} +\usepackage{graphicx} +\usepackage{afterpage} +\usepackage{longtable} +\usepackage{float} + +% Рекомендуется для biblatex (кавычки/локализация цитат и т.п.) +\usepackage{csquotes} + +% ГОСТ-стили для biblatex +\usepackage[ + backend=biber, + bibstyle=gost-numeric, % ссылки вида: [1] + citestyle=gost-numeric, + sorting=none % порядок в списке = по первому цитированию +]{biblatex} + +% Все источники хранятся в отдельном файле +\addbibresource{refs.bib} + +\renewcommand*{\bibfont}{\small} + +% \usepackage[paper=A4,DIV=12]{typearea} +\usepackage{pdflscape} +% \usepackage{lscape} + +\usepackage{array} +\usepackage{multirow} + +\renewcommand\verbatimtabsize{4\relax} +\renewcommand\listingoffset{0.2em} %отступ от номеров строк в листинге +\renewcommand{\arraystretch}{1.4} % изменяю высоту строки в таблице +\usepackage[font=small, singlelinecheck=false, justification=centering, format=plain, labelsep=period]{caption} %для настройки заголовка таблицы +\usepackage{listings} %листинги +\usepackage{xcolor} % цвета +% \usepackage{hyperref}% для гиперссылок +\usepackage{enumitem} %для перечислений + +\newcommand{\specialcell}[2][l]{\begin{tabular}[#1]{@{}l@{}}#2\end{tabular}} + + +\setlist[enumerate,itemize]{leftmargin=1.2cm} %отступ в перечислениях + +% \hypersetup{colorlinks, + % allcolors=[RGB]{010 090 200}} %красивые гиперссылки (не красные) + +% подгружаемые языки — подробнее в документации listings (это всё для листингов) +\lstloadlanguages{ SQL} +% включаем кириллицу и добавляем кое−какие опции +\lstset{tabsize=2, + breaklines, + basicstyle=\footnotesize, + columns=fullflexible, + flexiblecolumns, + numbers=left, + numberstyle={\footnotesize}, + keywordstyle=\color{blue}, + inputencoding=cp1251, + extendedchars=true +} +\lstdefinelanguage{MyC}{ + language=SQL, +% ndkeywordstyle=\color{darkgray}\bfseries, +% identifierstyle=\color{black}, +% morecomment=[n]{/**}{*/}, +% commentstyle=\color{blue}\ttfamily, +% stringstyle=\color{red}\ttfamily, +% morestring=[b]", +% showstringspaces=false, +% morecomment=[l][\color{gray}]{//}, + keepspaces=true, + escapechar=\%, + texcl=true +} + +\textheight=24cm % высота текста +\textwidth=16cm % ширина текста +\oddsidemargin=0pt % отступ от левого края +\topmargin=-1.5cm % отступ от верхнего края +\parindent=24pt % абзацный отступ +\parskip=5pt % интервал между абзацами +\tolerance=2000 % терпимость к "жидким" строкам +\flushbottom % выравнивание высоты страниц + + +% Настройка листингов +\lstset{ + language=python, + extendedchars=\true, + inputencoding=utf8, + keepspaces=true, + % captionpos=b, % подписи листингов снизу +} + +% Настройка содержания +\usepackage{tocloft} +\usepackage[hidelinks]{hyperref} + +% section в содержании НЕ жирным +\renewcommand{\cftsecfont}{\normalfont} +\renewcommand{\cftsecpagefont}{\normalfont} + +% убрать отступ у subsection +\setlength{\cftsubsecindent}{0pt} + +% subsubsection курсивом +\usepackage{titlesec} + +\titleformat{\subsubsection} + {\normalfont\large\itshape} % стиль: обычный + курсив + {\thesubsubsection} % номер (убери если не нужен) + {1em} + {} + + +\begin{document} +% ТИТУЛЬНЫЙ ЛИСТ +\begin{center} + \hfill \break + \hfill \break + \normalsize{МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ\\ + федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого»\\[10pt]} + \normalsize{Институт компьютерных наук и кибербезопасности}\\[10pt] + \normalsize{Высшая школа технологий искусственного интеллекта}\\[10pt] + \normalsize{Направление: 02.03.01 <<Математика и компьютерные науки>>}\\ + + \hfill \break + \hfill \break + \hfill \break + \large{Отчёт по практическим заданиям по дисциплине}\\ + \large{<<Высокоскоростные сетевые технологии суперкомпьютеров>>}\\ + + \hfill \break + \hfill \break + \hfill \break +\end{center} + +\small{ + \begin{tabular}{lrrl} + \!\!\!Студент, & \hspace{2cm} & & \\ + \!\!\!группы 5130201/20101 & \hspace{2cm} & \underline{\hspace{3cm}} & Тищенко А. А. \\\\ + \!\!\!Руководитель, & \hspace{2cm} & & \\ + \!\!\!профессор, д.т.н. & \hspace{2cm} & \underline{\hspace{3cm}} & Курочкин М. А. \\\\ + &&\hspace{4cm} + \end{tabular} + \begin{flushright} + <<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2026г. + \end{flushright} +} + +\hfill \break +\begin{center} \small{Санкт-Петербург, 2026} \end{center} +\thispagestyle{empty} % выключаем отображение номера для этой страницы + + +\newpage +\section*{Введение} +\addcontentsline{toc}{section}{Введение} + +Современные вычислительные задачи во многих областях науки и техники требуют обработки больших объёмов данных и выполнения ресурсоёмких численных расчётов. В связи с этим особую роль играют высокопроизводительные вычислительные системы (High Performance Computing, HPC), позволяющие значительно ускорить решение сложных задач за счёт параллельной обработки данных и использования специализированных архитектур. + +Одной из ключевых задач при работе с вычислительными системами является исследование их производительности. Для этого применяются специальные тесты и бенчмарки, позволяющие оценить эффективность вычислений при различных алгоритмах и конфигурациях оборудования. Одним из наиболее известных тестов является LINPACK, который используется для измерения производительности вычислительных систем при решении систем линейных алгебраических уравнений \cite{dongarra2003linpack}. Данный тест лежит в основе рейтинга суперкомпьютеров TOP500 и широко применяется для оценки производительности высокопроизводительных вычислительных систем. + +Первая лабораторная работа посвящена исследованию производительности вычислительных систем на основе решения систем линейных алгебраических уравнений. В рамках работы изучаются численные методы решения СЛАУ, включая прямые и итерационные методы, а также реализуется собственная версия теста LINPACK с использованием параллельных вычислений. Особое внимание уделяется сравнению производительности стандартной реализации Intel High Performance Linpack и собственной реализации алгоритма. + +Вторая лабораторная работа направлена на изучение технологий параллельного программирования и межпроцессного взаимодействия. В рамках данной работы рассматривается технология MPI (Message Passing Interface), широко используемая для разработки масштабируемых параллельных приложений \cite{gropp2014mpi}. Разработанный алгоритм реализуется с использованием MPI и исследуется его производительность при запуске на различном количестве вычислительных узлов. Полученные результаты сравниваются с реализацией вычислений с использованием технологии CUDA, предназначенной для выполнения параллельных вычислений на графических процессорах \cite{kirk2016cuda}. + +Все вычислительные эксперименты проводились на вычислительном кластере Суперкомпьютерного центра Политехнического университета (СКЦ Политехнический). Доступ к вычислительным ресурсам осуществлялся через удалённое подключение по протоколу SSH. Для выполнения экспериментов использовалась учётная запись \texttt{tm3u21}, вход на кластер производился через узел доступа \texttt{login1.hpc.spbstu.ru}. + +Полученные в ходе работы результаты позволяют оценить влияние различных технологий параллельных вычислений на производительность алгоритмов решения вычислительных задач и сравнить эффективность использования различных вычислительных архитектур. + + +\section{Задача 1} + +\subsection{Постановка задачи} + + +\subsection{Выводы} + + +\section{Задача 2} + +\subsection{Постановка задачи} + +\newpage +\section*{Заключение} +\addcontentsline{toc}{section}{Заключение} + +\newpage +\printbibliography[heading=bibintoc] + + +\end{document} \ No newline at end of file