This is an old revision of the document!


Cvičení

Na cvičeních opakujeme nejdůležitější věci z přednášek a především zkoušíme paralelní programování v praxi. K programování je možné využít buď počítače v učebnách, nebo svoje vlastní laptopy. V každém případě je potřeba se na to připravit již před prvním cvičením! Je potřeba mít připravený C++ toolchain, a nějaké vývojové prostředí.

Počítače v učebnách

Pro přihlášení na počítače v učebnách je nejprve (pokud jste tak již neučinili) nutné si vygenerovat heslo do učebny (viz https://www.felk.cvut.cz/). Následně se přihlásíte tímto heslem a ČVUT loginem bez domény.

C++ toochain je zde připraven. Jako vývojové prostředí je nainstalovaný CLion. Pro spuštění CLionu použijte:

/opt/clion-2021.2.1/bin/clion.sh

Vlastní počítače

Pro programování na cvičeních je také možné využít vlastní počítače. Tam si ale musíte toolchain i vývojové prostředí sami nainstalovat a před cičením otestovat, že vám všechno funguje.

Snažíme se o maximální podporu, ale bohužel nemůžeme zajistit kompatibilitu se všemi toolchainy. Z těch významných nefunguje pro některá cvičení toolchain MSVC (Visual Studio), a to kvůli příliš staré verzi OpenMP. Pokud používáte Windows, doporučujeme použít WSL (Windows Subsystem for Linux), pak vás může zajímat Návod na použití WSL v CLionu.

Na Linuxu by jak GCC tak CLang měly fungovat. Co se týče vývojových prostředí, testujeme příklady v Clionu, ale v principu by měly fungovat v libovolném IDE.

Pokud používáte MacOS (Apple silicon), pak můžete OpenMP nainstalovat takto:

  1. Instalace package manageru brew pro MacOS: $ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
  2. Instalace llvm: $ brew install llvm
  3. Nalezení cesty ke kompilátoru clang (clang je kompilátor využívaný llvm a defaultně obsahuje OpenMP https://llvm.org/): Potřebujeme najít clang, který si nainstaloval brew. Cesta by tedy měla vypadat nějak takto /opt/homebrew/Cellar/llvm/15.0.7_1/bin/clang.
  4. Cesty k clang zadáme do CLionu.

Hlavně si vše otestujte ještě před cvičením, z časových důvodů není možné na cvičeních řešit, proč se vám kód ke cvičením nezkompiluje, proč vám nejde spustit Clion, apod.

Licence JetBrains

Jako studenti máte nárok zdarma používat produkty JetBrains. s těmito prostředími (CLion, IDEA) můžete pracovat také na PDV, jsou nainstalované v učebnách, a budete na nich skládat praktickou zkoušku. Licenci je ale třeba aktivovat: https://download.cvut.cz/jetbrains/

Rozvrh cvičení

Formulář na zpětnou vazbu z jednotlivých cvičení: google form

Datum Téma cvičení Prezentace Materiály ke cvičení Zadání úloh
1 21.-22.02.2024 Organizace předmětu a seznámení se s paralelizací 01.pdf 01-intro.zip
01-intro-solution.zip
decrypt_data.zip
2 28.-29.02.2024 Vlákna a přístup ke sdílené paměti 02.pdf tutorial_02.zip
tutorial_02.zip (řešené)
02-cpp-threads.zip
02-cpp-threads-solution.zip
1. domácí úloha
3 06.-07.03.2024 OpenMP 03.pdf tutorial_03.zip
tutorial_03.zip (řešené)
03-openmp.zip
03-openmp-solution.zip
2. domácí úloha
quiz
4 13.-14.03.2024 Konkurentní datové struktury 04.pdf tutorial_04.zip
tutorial_04.zip (řešené)
3. domácí úloha
quiz
5 20.-21.03.2024 Dekompoziční techniky 05.pdf tutorial_05.zip 4. domácí úloha
quiz
6 27.-28.03.2024 Řadící algoritmy 06.pdf 5. domácí úloha
7 03.-04.04.2024 Vektorizace 07.pdf
8 10.-11.04.2024 Prohledávání stavového prostoru. Paralelní maticové operace 08.pdf 1. semestrální práce
9 17.-18.04.2024 Úvod do distribuovaných výpočtů 09.pdf
10 24.-25.04.2024 Detekce selhání v DS. Skalární logické hodiny 10.pdf 6. domácí úloha
11-12 02.-09.05.2024 Vektorové logické hodiny. Vzájemné vyloučení v DS 11.pdf 7. domácí úloha
13 15.-16.05.2024 Konsenzus v DS. Algoritmus RAFT 12.pdf 2. semestrální práce
14 22.-23.05.2024 Globální stav distribuovaného systému 13.pdf
courses/b4b36pdv/tutorials/start.1710941026.txt.gz · Last modified: 2024/03/20 14:23 by macejp1