CourseWare Wiki
Switch Term
Summer 2023 / 2024
Summer 2022 / 2023
Summer 2021 / 2022
Summer 2020 / 2021
Summer 2019 / 2020
Summer 2018 / 2019
Summer 2017 / 2018
Search
Log In
b232
courses
b4b36pdv
tutorials
Differences
This shows you the differences between two versions of the page.
View differences:
Side by Side
Inline
Go
Link to this comparison view
Both sides previous revision
Previous revision
2024/03/21 02:41 kafkamat [Rozvrh cvičení]
2024/03/20 14:23 macejp1
2024/03/20 14:10 macejp1
2024/03/20 14:08 macejp1
2024/03/13 16:16 macejp1
2024/03/13 14:13 macejp1
2024/03/12 14:49 kafkamat [Rozvrh cvičení]
2024/03/12 13:40 kafkamat [Rozvrh cvičení]
2024/03/12 13:31 kafkamat [Rozvrh cvičení]
2024/03/09 14:54 kafkamat [Rozvrh cvičení]
2024/03/07 00:05 kafkamat [Rozvrh cvičení]
2024/03/06 16:21 macejp1
2024/03/06 15:38 macejp1
2024/03/06 14:02 macejp1
2024/02/29 23:02 kafkamat [Rozvrh cvičení]
2024/02/29 22:58 kafkamat ↷ Links adapted because of a move operation
2024/02/29 16:58 kafkamat [Rozvrh cvičení]
2024/02/28 13:33 macejp1
2024/02/20 18:08 kafkamat
2024/02/20 18:06 kafkamat
2024/02/20 11:22 macejp1 [Rozvrh cvičení]
2024/02/15 12:35 kafkamat [Rozvrh cvičení]
2024/02/15 11:50 kafkamat [Licence JetBrains]
2024/02/14 21:27 kafkamat [Rozvrh Cvičení]
2024/02/14 21:26 kafkamat [Vlastní počítače]
2023/05/26 00:48 external edit
Go
Previous revision
2024/05/02 07:48 macejp1
2024/05/02 01:09 macejp1
2024/05/02 00:59 macejp1
2024/04/24 14:50 macejp1
2024/04/24 14:40 kafkamat [Rozvrh cvičení]
2024/04/22 10:21 milecdav
2024/04/19 10:28 mrkosja1 [Rozvrh cvičení]
2024/04/16 09:03 milecdav
2024/04/15 10:34 mrkosja1 [Rozvrh cvičení]
2024/04/15 10:33 mrkosja1 [Rozvrh cvičení]
2024/04/11 10:42 kafkamat [Rozvrh cvičení]
2024/04/10 17:05 kafkamat
2024/04/10 15:31 macejp1 [Rozvrh cvičení]
2024/04/05 13:44 macejp1
2024/04/04 22:32 kafkamat [Linux / WSL]
2024/04/04 22:30 kafkamat [Vlastní počítače]
2024/04/04 22:26 kafkamat [Linux / WSL]
2024/04/04 22:26 kafkamat [Linux/WSL]
2024/04/04 22:20 kafkamat
2024/04/04 15:43 kafkamat [Rozvrh cvičení]
2024/04/03 13:14 macejp1
2024/03/28 19:50 sloukmic [Rozvrh cvičení]
2024/03/28 19:50 sloukmic [Rozvrh cvičení]
2024/03/27 15:12 macejp1
2024/03/21 02:41 kafkamat [Rozvrh cvičení]
2024/03/20 14:23 macejp1
2024/03/20 14:10 macejp1
2024/03/20 14:08 macejp1
2024/03/13 16:16 macejp1
2024/03/13 14:13 macejp1
2024/03/12 14:49 kafkamat [Rozvrh cvičení]
2024/03/12 13:40 kafkamat [Rozvrh cvičení]
2024/03/12 13:31 kafkamat [Rozvrh cvičení]
2024/03/09 14:54 kafkamat [Rozvrh cvičení]
2024/03/07 00:05 kafkamat [Rozvrh cvičení]
2024/03/06 16:21 macejp1
2024/03/06 15:38 macejp1
2024/03/06 14:02 macejp1
2024/02/29 23:02 kafkamat [Rozvrh cvičení]
2024/02/29 22:58 kafkamat ↷ Links adapted because of a move operation
2024/02/29 16:58 kafkamat [Rozvrh cvičení]
2024/02/28 13:33 macejp1
2024/02/20 18:08 kafkamat
2024/02/20 18:06 kafkamat
2024/02/20 11:22 macejp1 [Rozvrh cvičení]
2024/02/15 12:35 kafkamat [Rozvrh cvičení]
2024/02/15 11:50 kafkamat [Licence JetBrains]
2024/02/14 21:27 kafkamat [Rozvrh Cvičení]
2024/02/14 21:26 kafkamat [Vlastní počítače]
2023/05/26 00:48 external edit
Go
Next revision
Both sides next revision
courses:b4b36pdv:tutorials:start [2018/05/24 00:46]
courses:b4b36pdv:tutorials:start [2024/03/20 14:23]
macejp1
Line 1:
Line 1:
+
====== 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 [[https://www.jetbrains.com/help/clion/how-to-use-wsl-development-environment-in-clion.html | 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:
+
- Instalace package manageru ''brew'' pro MacOS: ''$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"''
+
- Instalace ''llvm'': ''$ brew install llvm''
+
- 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''.
+
- 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í: [[https://forms.gle/q6dTqGkjFfMdKMTr5|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í | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/01.pdf|01.pdf]] | [[https://pdv.pages.fel.cvut.cz/pdv-private/labs/01-intro.zip|01-intro.zip]] \\ [[https://pdv.pages.fel.cvut.cz/pdv-private/labs/01-intro-solution.zip|01-intro-solution.zip]] \\ {{courses:b4b36pdv:tutorials:decrypt_data.zip}} | |
+
| **2** | 28.-29.02.2024 | Vlákna a přístup ke sdílené paměti | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/02.pdf|02.pdf]] | {{courses:b4b36pdv:tutorials:tutorial_02.zip}} \\ {{courses:b4b36pdv:tutorials:tutorial_02solved.zip|tutorial_02.zip (řešené)}} \\ [[https://pdv.pages.fel.cvut.cz/pdv-private/labs/02-cpp-threads.zip|02-cpp-threads.zip]] \\ [[https://pdv.pages.fel.cvut.cz/pdv-private/labs/02-cpp-threads-solution.zip|02-cpp-threads-solution.zip]] | [[courses:b4b36pdv:tutorials:hw_01|1. domácí úloha]] |
+
| **3** | 06.-07.03.2024 | OpenMP | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/03.pdf|03.pdf]] | {{courses:b4b36pdv:tutorials:tutorial_03.zip}} \\ {{courses:b4b36pdv:tutorials:tutorial_03solved.zip|tutorial_03.zip (řešené)}} \\ [[https://pdv.pages.fel.cvut.cz/pdv-private/labs/03-openmp.zip|03-openmp.zip]] \\ [[https://pdv.pages.fel.cvut.cz/pdv-private/labs/03-openmp-solution.zip|03-openmp-solution.zip]] | [[courses:b4b36pdv:tutorials:hw_02|2. domácí úloha]] \\ [[https://forms.gle/faCt4aigFxp1RGDr9|quiz]] |
+
| **4** | 13.-14.03.2024 | Konkurentní datové struktury | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/04.pdf|04.pdf]] | {{courses:b4b36pdv:tutorials:tutorial_04.zip}} \\ {{courses:b4b36pdv:tutorials:tutorial_04solved.zip|tutorial_04.zip (řešené)}} | [[courses:b4b36pdv:tutorials:hw_03|3. domácí úloha]] \\ [[https://forms.gle/iWVGs7AkhXx1e8ceA|quiz]] |
+
| **5** | 20.-21.03.2024 | Dekompoziční techniky | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/05.pdf|05.pdf]] | {{courses:b4b36pdv:tutorials:tutorial_05.zip}} /* {{courses:b4b36pdv:tutorials:tutorial_05solved.zip|tutorial_05.zip (řešené)}} /* | [[courses:b4b36pdv:tutorials:hw_04|4. domácí úloha]] \\ [[https://forms.gle/z88aBU28zekVNXfv6|quiz]] |
+
| **6** | 27.-28.03.2024 | Řadící algoritmy | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/06.pdf|06.pdf]] | /* {{courses:b4b36pdv:tutorials:tutorial_06.zip}} /* /* {{courses:b4b36pdv:tutorials:tutorial_06solved.zip|tutorial_06.zip (řešené)}} /* | [[courses:b4b36pdv:tutorials:hw_05|5. domácí úloha]] |
+
| **7** | 03.-04.04.2024 | Vektorizace | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/07.pdf|07.pdf]] | /* {{courses:b4b36pdv:tutorials:tutorial_07.zip}} /* /* {{courses:b4b36pdv:tutorials:tutorial_07solved.zip|tutorial_07.zip (řešené)}} /* | |
+
| **8** | 10.-11.04.2024 | Prohledávání stavového prostoru. Paralelní maticové operace | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/08.pdf|08.pdf]] | /* {{courses:b4b36pdv:tutorials:tutorial_08.zip}} /* /* {{courses:b4b36pdv:tutorials:tutorial_08solved.zip|tutorial_08.zip (řešené)}} /* | [[courses:b4b36pdv:tutorials:sem1|1. semestrální práce]] |
+
| **9** | 17.-18.04.2024 | Úvod do distribuovaných výpočtů | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/09.pdf|09.pdf]] | /* {{courses:b4b36pdv:tutorials:tutorial_09.zip}} /* /* {{courses:b4b36pdv:tutorials:tutorial_09solved.zip|tutorial_09.zip (řešené)}} /* | |
+
| **10** | 24.-25.04.2024 | Detekce selhání v DS. Skalární logické hodiny | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/10.pdf|10.pdf]] | /* {{courses:b4b36pdv:tutorials:tutorial_10.zip}} /* /* {{courses:b4b36pdv:tutorials:tutorial_10solved.zip|tutorial_10.zip (řešené)}} /* | [[courses:b4b36pdv:tutorials:hw_06|6. domácí úloha]] |
+
| **11-12** | 02.-09.05.2024 | Vektorové logické hodiny. Vzájemné vyloučení v DS | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/11.pdf|11.pdf]] | /* {{courses:b4b36pdv:tutorials:tutorial_11.zip}} /* /* {{courses:b4b36pdv:tutorials:tutorial_11solved.zip|tutorial_11.zip (řešené)}} /* | [[courses:b4b36pdv:tutorials:hw_07|7. domácí úloha]] |
+
| **13** | 15.-16.05.2024 | Konsenzus v DS. Algoritmus RAFT | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/12.pdf|12.pdf]] | | [[courses:b4b36pdv:tutorials:sem2|2. semestrální práce]] |
+
| **14** | 22.-23.05.2024 | Globální stav distribuovaného systému | [[https://github.com/aicenter/PDV-tutorials/releases/download/v0.0.1/13.pdf|13.pdf]] | /* {{courses:b4b36pdv:tutorials:tutorial_13.zip}} /* /* {{courses:b4b36pdv:tutorials:tutorial_13solved.zip|tutorial_13.zip (řešené)}} /* | |
courses/b4b36pdv/tutorials/start.txt
· Last modified: 2024/05/02 07:48 by
macejp1