Unified Parallel C. - Unified Parallel C
tento článek příliš spoléhá na Reference na primární zdroje.Prosinec 2011) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Paradigma | paralelní, předávání zpráv, rozkazovací způsob (procesní ), strukturovaný |
---|---|
Navrhl | Konsorcium UPC |
Stabilní uvolnění | 1.3 / listopad 2013 |
Psací disciplína | statický, slabý, manifest |
OS | Cross-platform |
webová stránka | upc-lang |
Hlavní, důležitý implementace | |
Clang UPC, GNU UPC, Překladače IBM XL UPC, HP UPC, Berkeley UPC, Michigan Tech MuPC, Cray UPC | |
Ovlivněno | |
C, AC, Split-C, Paralelní C Preprocesor |
Unified Parallel C. (UPC) je rozšířením Programovací jazyk C. navržený pro vysoce výkonné výpočty ve velkém měřítku paralelní stroje, včetně těch se společným globálním adresní prostor (SMP a NUMA ) a ti s distribuovaná paměť (např. shluky ). The programátor je prezentován s jediným sdíleným rozděleným adresním prostorem, kde může proměnné číst a zapisovat libovolný přímo procesor, ale každá proměnná je fyzicky spojena s jediným procesorem. UPC používá a jediný program, více dat (SPMD ) model výpočtu, ve kterém je velikost paralelismu fixována v době spuštění programu, obvykle s jedinou vlákno provedení na procesor.
Za účelem vyjádření paralelismu se rozšiřuje UPC ISO C 99 s následujícími konstrukty:
- Explicitně paralelní model provedení
- Sdílený adresní prostor (
sdílené
kvalifikátor úložiště) s místními vlákny (normální proměnné) - Synchronizační primitiva a model konzistence paměti
- Explicitní komunikační primitiva, např. G. upc_memput
- Správa paměti primitiv
Jazyk UPC se vyvinul ze zkušeností s dalšími třemi staršími jazyky, které navrhovaly paralelní rozšíření ISO C 99: AC, Split-C a paralelní C preprocesor (PCP). UPC není nadmnožina těchto tří jazyků, ale spíše pokus destilovat nejlepší vlastnosti každého z nich. UPC kombinuje výhody programovatelnosti paradigmatu sdílené paměti s programováním a kontrolu nad rozložením dat a výkonem předávání zpráv paradigma programování.
Viz také
- Cilk
- Coarray Fortran
- Kaple
- X10
- Vysoce výkonný Fortran
- OpenMP
- Rozdělený globální adresní prostor
- Model paralelního programování
- Softwarová transakční paměť