Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
courses:b4b36pdv:tutorials:start [2024/03/20 14:23]
macejp1
courses:b4b36pdv:tutorials:start [2024/04/16 09:03]
milecdav
Line 12: Line 12:
  
 ===== Vlastní počítače ===== ===== 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 toolchainyZ těch významných nefunguje pro některá cvičení ​toolchain ​MSVC (Visual Studio), ​to kvůli ​í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 CLionu]].+Pro programování na cvičeních je také možné využít vlastní počítačeTam 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.
  
-Na Linuxu by jak GCC tak CLang měly fungovatCo se týče vývojových ​prostředí, ​testujeme příklady ​Clionu, ale v principu by měly fungovat ​v libovolném IDE.+**Oficiálně podporované compilery jsou GCC 11 a Clang 12 a novější** (je nutná podpora C++20, OpenMP 4 a ''​std::​experimental::​simd''​)MSVC a MinGW **nejsou** podporované,​ na Windows doporučujeme použít WSL2 (pak vás můž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]]). Jako vývojové ​prostředí ​doporučujeme CLionna kterém ​vše testujeme, ale v principu by měfungovat ​jakýkoliv editor, pokud podporuje CMake projekty.
  
 +==== Linux / WSL ====
 +
 +Pokud používáte Linux, at už nativně nebo ve WSL, ověřte si prosím před cvičením, že máte aktuální verzi distribuce i všech balíčků. Specificky na Ubuntu je potřeba alespoň Ubuntu 22.04 – pokud máte Ubuntu 20.04 (viz ''​lsb_release -a''​),​ je nutné před cvičením updatovat (buď v GUI, nebo zavoláním příkazu ''​sudo do-release-upgrade''​ a následně dvojice příkazů ''​sudo apt update && sudo apt dist-upgrade''​). Na WSL také updatujte samotné WSL pomocí příkazu ''​wsl --update''​ (je třeba volat z Windows, nikoliv z WSL).
 +==== MacOS ====
  
 Pokud používáte MacOS (Apple silicon), pak můžete OpenMP nainstalovat takto: Pokud používáte MacOS (Apple silicon), pak můžete OpenMP nainstalovat takto:
Line 32: Line 35:
  
 ===== Rozvrh cvičení ===== ===== Rozvrh cvičení =====
- 
 Formulář na zpětnou vazbu z jednotlivých cvičení: [[https://​forms.gle/​q6dTqGkjFfMdKMTr5|google form]] Formulář na zpětnou vazbu z jednotlivých cvičení: [[https://​forms.gle/​q6dTqGkjFfMdKMTr5|google form]]
 +
 +[[ https://​intranet.fel.cvut.cz/​cz/​education/​rozvrhy-ng.B232/​public/​html/​predmety/​47/​02/​p4702806.html | Rozvrh předmětu.]]
  
 ^ ^ Datum ^ Téma cvičení ^ Prezentace ^ Materiály ke cvičení ^ Zadání úloh ^ ^ ^ Datum ^ Téma cvičení ^ Prezentace ^ Materiály ke cvičení ^ Zadání úloh ^
Line 39: Line 43:
 | **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]] ​    | | **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]] | | **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]] ​  | +| **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]] ​    | +| **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é)}} ​\\ /* [[https://​pdv.pages.fel.cvut.cz/​pdv-private/​labs/​05-openmp2.zip|05-openmp2.zip]] /* /* \\ [[https://​pdv.pages.fel.cvut.cz/​pdv-private/​labs/​05-openmp2-solution.zip|05-openmp2-solution.zip]] ​/* | [[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]] ​    ​+| **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_06_solution2024.zip|tutorial_06_solution2024.zip (řešené)}}/* {{courses:​b4b36pdv:​tutorials:​tutorial_06solved.zip|tutorial_06.zip (řešené)}} /* | [[courses:​b4b36pdv:​tutorials:​hw_05|5. domácí úloha]] ​ ​\\ ​ [[https://​forms.gle/​YFFKYMnQhLQeEorD7|quiz]] ​  
-| **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é)}} /                                                         +| **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é)}} ​\\ [[https://​pdv.pages.fel.cvut.cz/​pdv-private/​labs/​07-simd.zip|07-simd.zip]] \\ [[https://​pdv.pages.fel.cvut.cz/​pdv-private/​labs/​07-simd-solution.zip|07-simd-solution.zip]] | [[https://​forms.gle/​YGT42SBWmYW4s87HA|quiz]]  ​
-| **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]] | +| **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é)}} ​/* \\ [[https://​pdv.pages.fel.cvut.cz/​pdv-private/​labs/​08-sparse-matrix.zip|08-sparse-matrix.zip]] /* \\ [[https://​pdv.pages.fel.cvut.cz/​pdv-private/​labs/​08-sparse-matrix-solution.zip|08-sparse-matrix-solution.zip]] ​/* | [[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é)}} /* |                                                          |+| **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]] ​    | | **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]] ​    |+| **11-12** | 02. 05. 2024 (Čt čtvrteční rozvrh), ​09.05.2024 ​([[ https://​intranet.fel.cvut.cz/​cz/​education/​harmonogram.html |Čt - středeční rozvrh]]) ​| 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]] | | **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é)}} /* |                                                          | | **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