https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Single-Program_Multiple-Data Single-Program Multiple-Data - Versionsgeschichte 2025-06-07T02:31:42Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.4 https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=217612516&oldid=prev Ittoqqortoormiit am 26. November 2021 um 15:41 Uhr 2021-11-26T15:41:33Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 26. November 2021, 17:41 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege fehlen}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Belege fehlen}}</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'<del style="font-weight: bold; text-decoration: none;">''SPMD''' (</del>''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich und hardwareunspezifisch.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''Single-Program Multiple-Data''<ins style="font-weight: bold; text-decoration: none;">' (SPMD</ins>) ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich und hardwareunspezifisch.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, [[SIMD]] Breite, Prozessoranzahl) und Datensatzgröße, über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, [[SIMD]] Breite, Prozessoranzahl) und Datensatzgröße, über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> </tr> </table> Ittoqqortoormiit https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=206742026&oldid=prev Jbergner: /* Einleitung */ {{Belege fehlen}} 2020-12-20T22:52:40Z <p><span class="autocomment">Einleitung: </span> {{Belege fehlen}}</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2020, 00:52 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>{{Belege fehlen}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich und hardwareunspezifisch.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich und hardwareunspezifisch.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Jbergner https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=206742023&oldid=prev Jbergner: /* Siehe auch */ + 2020-12-20T22:52:05Z <p><span class="autocomment">Siehe auch: </span> +</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 21. Dezember 2020, 00:52 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 6:</td> <td colspan="2" class="diff-lineno">Zeile 6:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[Multiple-Program Multiple-Data]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Flynnsche Klassifikation]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[Flynnsche Klassifikation]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Jbergner https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=145965697&oldid=prev Rechnertasche: Linkfix nach Artikelverschiebung mit AWB 2015-09-12T11:47:30Z <p>Linkfix nach Artikelverschiebung mit <a href="/wiki/Wikipedia:AWB" class="mw-redirect" title="Wikipedia:AWB">AWB</a></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 12. September 2015, 13:47 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[<del style="font-weight: bold; text-decoration: none;">Prozessor (Hardware)|</del>Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich und hardwareunspezifisch.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich und hardwareunspezifisch.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, [[SIMD]] Breite, Prozessoranzahl) und Datensatzgröße, über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, [[SIMD]] Breite, Prozessoranzahl) und Datensatzgröße, über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> </tr> </table> Rechnertasche https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=136604623&oldid=prev Moritzgedig: Anwendung Unified Parallel C hinzugefügt 2014-12-09T08:05:59Z <p>Anwendung Unified Parallel C hinzugefügt</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 9. Dezember 2014, 10:05 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 3:</td> <td colspan="2" class="diff-lineno">Zeile 3:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, [[SIMD]] Breite, Prozessoranzahl) und Datensatzgröße, über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, [[SIMD]] Breite, Prozessoranzahl) und Datensatzgröße, über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Anwendungsbeispiele für physischen [[Shared Memory]] ohne "message passing" sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC) und [[Shader]].</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Anwendungsbeispiele für physischen [[Shared Memory]] ohne "message passing" sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC)<ins style="font-weight: bold; text-decoration: none;">, "[[Unified Parallel C]]"</ins> und [[Shader]].</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> </table> Moritzgedig https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=116258889&oldid=prev KLBot2: Bot: 3 Interwiki-Link(s) nach Wikidata (:d:Q2289219) migriert 2013-03-30T18:13:06Z <p>Bot: 3 <a href="/wiki/Hilfe:Internationalisierung" title="Hilfe:Internationalisierung">Interwiki-Link(s)</a> nach <a href="/wiki/Wikipedia:Wikidata" title="Wikipedia:Wikidata">Wikidata</a> (<a href="https://www.wikidata.org/wiki/Q2289219" class="extiw" title="d:Q2289219">d:Q2289219</a>) migriert</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 30. März 2013, 20:13 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 9:</td> <td colspan="2" class="diff-lineno">Zeile 9:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Rechnerarchitektur]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Rechnerarchitektur]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[en:SPMD]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[it:Single Program Multiple Data]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[ru:SPMD]]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> </table> KLBot2 https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=114923076&oldid=prev Moritzgedig am 3. März 2013 um 16:48 Uhr 2013-03-03T16:48:47Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 3. März 2013, 18:48 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich<del style="font-weight: bold; text-decoration: none;">, hardwareunspezifisch</del> und <del style="font-weight: bold; text-decoration: none;">aus dem Programmiermodell [[Multiple-Program Multiple-Data|MPMD]] portierbar</del>.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich und <ins style="font-weight: bold; text-decoration: none;">hardwareunspezifisch</ins>.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Diese Formulierung eignet sich für kleinteilige Parallelität über große Datensätze. &lt;!-- keine Graphen --&gt;</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_3_0_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_1_1_lhs"></a>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, SIMD Breite, Prozessoranzahl), über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_1_1_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_3_0_rhs"></a>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über die Programminstanz-ID adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, <ins style="font-weight: bold; text-decoration: none;">[[</ins>SIMD<ins style="font-weight: bold; text-decoration: none;">]]</ins> Breite, Prozessoranzahl)<ins style="font-weight: bold; text-decoration: none;"> und Datensatzgröße</ins>, über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_5_1_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_4_0_lhs"></a>Anwendungsbeispiele sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC) und [[Shader]].</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_4_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_5_1_rhs"></a>Anwendungsbeispiele<ins style="font-weight: bold; text-decoration: none;"> für physischen [[Shared Memory]] ohne "message passing"</ins> sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC) und [[Shader]].</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[Flynnsche Klassifikation]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Rechnerarchitektur]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Rechnerarchitektur]]</div></td> </tr> </table> Moritzgedig https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=114918740&oldid=prev Moritzgedig am 3. März 2013 um 14:45 Uhr 2013-03-03T14:45:58Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 3. März 2013, 16:45 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich, hardwareunspezifisch und aus dem Programmiermodell [[Multiple-Program Multiple-Data|MPMD]] portierbar.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich, hardwareunspezifisch und aus dem Programmiermodell [[Multiple-Program Multiple-Data|MPMD]] portierbar.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Diese Formulierung eignet sich für kleinteilige Parallelität über große Datensätze. &lt;!-- keine Graphen --&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Diese Formulierung eignet sich für kleinteilige Parallelität über große Datensätze. &lt;!-- keine Graphen --&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über <del style="font-weight: bold; text-decoration: none;">jeweils</del> <del style="font-weight: bold; text-decoration: none;">eine Zahl</del> adressiert werden könnten.<del style="font-weight: bold; text-decoration: none;">&lt;!-- schlecht formuliert ich weiss --&gt;</del> Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, SIMD Breite, Prozessoranzahl), über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten für jedes Programm über <ins style="font-weight: bold; text-decoration: none;">die</ins> <ins style="font-weight: bold; text-decoration: none;">Programminstanz-ID</ins> adressiert werden könnten. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, SIMD Breite, Prozessoranzahl), über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>&lt;poem&gt;Ein Programm könnte wie das folgende Beispiel aussehen:</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Für alle n aus Menge N und alle m aus Menge M:{</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div> Aus[n,m] = (Ein[n+1,m] + Ein[n-1,m] + Ein[n,m+1] + Ein[n,m-1]) &gt;&gt; 2;}&lt;/poem&gt;</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Anwendungsbeispiele sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC) und [[Shader]].</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Anwendungsbeispiele sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC) und [[Shader]].</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> Moritzgedig https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=114675077&oldid=prev Moritzgedig am 25. Februar 2013 um 16:37 Uhr 2013-02-25T16:37:12Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 25. Februar 2013, 18:37 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich, hardwareunspezifisch und aus dem Programmiermodell [[Multiple-Program Multiple-Data|MPMD]] portierbar.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich, hardwareunspezifisch und aus dem Programmiermodell [[Multiple-Program Multiple-Data|MPMD]] portierbar.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Diese Formulierung eignet sich für kleinteilige Parallelität über große Datensätze. &lt;!-- keine Graphen --&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Diese Formulierung eignet sich für kleinteilige Parallelität über große Datensätze. &lt;!-- keine Graphen --&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten <del style="font-weight: bold; text-decoration: none;">nach</del> <del style="font-weight: bold; text-decoration: none;">der</del> <del style="font-weight: bold; text-decoration: none;">Compilierung</del> über eine Zahl adressiert werden. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, SIMD Breite, Prozessoranzahl), über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten <ins style="font-weight: bold; text-decoration: none;">für</ins> <ins style="font-weight: bold; text-decoration: none;">jedes</ins> <ins style="font-weight: bold; text-decoration: none;">Programm</ins> über<ins style="font-weight: bold; text-decoration: none;"> jeweils</ins> eine Zahl adressiert werden<ins style="font-weight: bold; text-decoration: none;"> könnten</ins>.<ins style="font-weight: bold; text-decoration: none;">&lt;!-- schlecht formuliert ich weiss --&gt;</ins> Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, SIMD Breite, Prozessoranzahl), über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;poem&gt;Ein Programm könnte wie das folgende Beispiel aussehen:</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>&lt;poem&gt;Ein Programm könnte wie das folgende Beispiel aussehen:</div></td> </tr> </table> Moritzgedig https://de.wikipedia.org/w/index.php?title=Single-Program_Multiple-Data&diff=114673531&oldid=prev Moritzgedig am 25. Februar 2013 um 16:03 Uhr 2013-02-25T16:03:05Z <p></p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 25. Februar 2013, 18:03 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 1:</td> <td colspan="2" class="diff-lineno">Zeile 1:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich, hardwareunspezifisch und aus dem Programmiermodell [[Multiple-Program Multiple-Data|MPMD]] portierbar.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>'''SPMD''' (''Single-Program Multiple-Data'') ist ein Programmiermodell &lt;!-- =Programmierparadigma? --&gt; der Informatik für parallele Hardware wie [[Mehrprozessorsystem]]e. Bei SPMD-Programmen führen alle [[Prozessor (Hardware)|Prozessor]]en das gleiche Programm mit unterschiedlichen Daten aus. Die SPMD-Formulierung ist übersichtlich, hardwareunspezifisch und aus dem Programmiermodell [[Multiple-Program Multiple-Data|MPMD]] portierbar.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Diese Formulierung eignet sich für <del style="font-weight: bold; text-decoration: none;">feine</del> Parallelität über große Datensätze. &lt;!-- keine Graphen --&gt;</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Diese Formulierung eignet sich für <ins style="font-weight: bold; text-decoration: none;">kleinteilige</ins> Parallelität über große Datensätze. &lt;!-- keine Graphen --&gt;</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze<del style="font-weight: bold; text-decoration: none;"> absolute</del> Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten über eine <del style="font-weight: bold; text-decoration: none;">"Thread-ID" relativ</del> adressiert werden. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, SIMD Breite, Prozessoranzahl), über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Während bei sequentieller Verarbeitung Schleifen in der Größe der Datensätze Adressen erzeugen, wird bei SPMD das Programm so formuliert, dass die Daten<ins style="font-weight: bold; text-decoration: none;"> nach der Compilierung</ins> über eine <ins style="font-weight: bold; text-decoration: none;">Zahl</ins> adressiert werden. Oft wird erst zur Laufzeit, aufgrund der vorhandenen Hardware (Cache Größe und Assoziativität, SIMD Breite, Prozessoranzahl), über die Details der Verarbeitung entschieden. Diese Flexibilität hat neben der einfachen Formulierung zur Verbreitung beigetragen.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>&lt;poem&gt;Ein Programm könnte wie das folgende Beispiel aussehen:</div></td> </tr> <tr> <td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_5_2_rhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_4_0_lhs"></a>Anwendungsbeispiele sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC).</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Für alle n aus Menge N und alle m aus Menge M:{</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> Aus[n,m] = (Ein[n+1,m] + Ein[n-1,m] + Ein[n,m+1] + Ein[n,m-1]) &gt;&gt; 2;}&lt;/poem&gt;</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_4_0_lhs">&#x26AB;</a></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><a name="movedpara_5_2_rhs"></a>Anwendungsbeispiele sind: "Compute Unified Device Architecture" ([[CUDA]]), "Open Computing Language" ([[OpenCL]]), "Intel SPMD Program Compiler" (ISPC)<ins style="font-weight: bold; text-decoration: none;"> und [[Shader]]</ins>.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Rechnerarchitektur]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>[[Kategorie:Rechnerarchitektur]]</div></td> </tr> </table> Moritzgedig