https://github.com/josefdolezal/fit-mi-pdp
Repozitář k předmětu MI-PDP 2017/18
https://github.com/josefdolezal/fit-mi-pdp
Last synced: about 2 months ago
JSON representation
Repozitář k předmětu MI-PDP 2017/18
- Host: GitHub
- URL: https://github.com/josefdolezal/fit-mi-pdp
- Owner: josefdolezal
- License: mit
- Created: 2018-03-10T17:09:34.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-05-09T19:39:55.000Z (about 7 years ago)
- Last Synced: 2025-02-10T18:13:22.814Z (3 months ago)
- Language: C++
- Size: 96.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MI-PDP: Paralelní a distribuované programování
Repozitář věnovaný semestrální práci předmětu MI-PDP, vyučovaný na FIT ČVUT (@FIT_CTU).
Seznam materiálů k ostatním předmětům je v [samostatném repozitáři](https://github.com/josefdolezal/fit-cvut).| Přednášející | Cvičící | Běh předmětu |
|--------------|-------------|--------------|
| Pavel Tvrdík | Michal Šoch | ZS 2017/18 |Repozitář obsahuje zdrojové kódy k domácím úlohám a závěrečné semestrální práci.
Řešeným problémem je hledání minimálního počtu tahů královnou po šachovnici nutných k sebrání všech pěšců.
Implementace obsahuje:* Sekvenční řešení
* Paralelní řešení OpenMP (taskový paralelismus)
* Paralelní řešení OpenMP (datový paralelismus)
* Sekvenční řešení MPI### OpenMP v Xcode
Pro správné fungování je potřeba doinstalovat `clang` s knihovnou OpenMP. Podrobný návod [zde](http://antonmenshov.com/2017/09/09/clang-openmp-setup-in-xcode/). Projekt už správné nastavení pro linkování obsahuje, pro správné fungování by mělo stačit spustit:
```bash
$ brew install llvm
```### MPI v Xcode
Pro nalinkování OpenMPI je potřeba pomocí `brew` knihovnu doinstalovat. V nastavení projektu je potřeba přidat hlavičky a spouštět binárku pomocí `mpirun`, návod [zde](https://stackoverflow.com/a/31525928/9016753).
```bash
$ brew install open-mpi
```### Spouštění na Star klastru
```
grun job.sh
```| Parametr | Hodnota |
|----------|--------------------------------------------------|
| `mb` | Typ základní desky - využít 20c |
| `count` | Počet využitých desek (1, 2, 3) |
| `queue` | Priorita fronty (vysoká - méně času), `pdp_fast` |> Program by měl mít konfigurovatelný počet vláken parametrem z CLI
3 problémy, zhruba 5 až 15 minut při sekvenčním řešení.
Různý počet procesů MPI - 1 až 3.
Různý počet vláken OMP - 1 až 20.Zdroje: 6xMB (každá 2 CPU, každé CPU má 10 jader). Spuštění je omezeno na 60 jader.