<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Co-array_Fortran</id>
	<title>Co-array Fortran - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Co-array_Fortran"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Co-array_Fortran&amp;action=history"/>
	<updated>2026-05-19T13:18:24Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Co-array_Fortran&amp;diff=1967151&amp;oldid=prev</id>
		<title>imported&gt;Aka: typografische Anführungszeichen</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Co-array_Fortran&amp;diff=1967151&amp;oldid=prev"/>
		<updated>2024-04-14T12:33:47Z</updated>

		<summary type="html">&lt;p&gt;typografische Anführungszeichen&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Programmiersprache&lt;br /&gt;
| Name = Coarray Fortran&lt;br /&gt;
| Logo = &lt;br /&gt;
| Beschreibung =&lt;br /&gt;
| Paradigma = [[Prozedurale Programmierung|prozedural]], [[Imperative Programmierung|imperativ]], [[Strukturierte Programmierung|strukturiert]], [[Objektorientierte Programmierung|objektorientiert]], [[Parallele Programmierung|parallel]]&lt;br /&gt;
| Erscheinungsjahr =&lt;br /&gt;
| Entwickler = [[Robert Numrich]] and [[John Reid (computer programmer)|John Reid]]&lt;br /&gt;
| AktuelleVersion = [[Fortran]] 2008 (ISO/IEC 1539-1:2010)&lt;br /&gt;
| AktuelleVersionFreigabeDatum =&lt;br /&gt;
| Typisierung =&lt;br /&gt;
| Implementierung = Cray, [[g95]], [[gfortran]], [[Intel Fortran Compiler|ifort]]&lt;br /&gt;
| Dialekte =&lt;br /&gt;
| Beeinflusst_von = [[Fortran]]&lt;br /&gt;
| Beeinflusste = &lt;br /&gt;
| Betriebssystem =&lt;br /&gt;
| Lizenz =&lt;br /&gt;
| Website =&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Co-array Fortran&amp;#039;&amp;#039;&amp;#039; (CAF), ehemals &amp;#039;&amp;#039;&amp;#039;F--&amp;#039;&amp;#039;&amp;#039;, ist eine Erweiterung der [[Programmiersprache]] [[Fortran]] 95/2003 zur [[Parallele Programmierung|parallelen Datenverarbeitung]], die von [[Robert Numrich]] und [[John Reid (computer programmer)|John Reid]] in den 1990er Jahren entwickelt wurde. Der Fortran-Standard unterstützt Coarrays (jetzt ohne Bindestrich) seit Fortran 2008 (ISO/IEC 1539-1:2010), wie es auf dem May-2005-Treffen des ISO Fortran Komitees beschlossen wurde; die Syntax im Fortran 2008 Standard unterscheidet sich leicht vom ursprünglichen CAF-Vorschlag.&lt;br /&gt;
&lt;br /&gt;
Ein Coarray-Fortran-Programm wird so interpretiert, als ob es &amp;#039;&amp;#039;n&amp;#039;&amp;#039;-mal [[Replikation (Datenverarbeitung)|repliziert]] würde und alle Kopien asynchron ausgeführt würden. Jede Kopie hat ihre eigenen Datenobjekte und wird Bild („image“) genannt. Die [[Feld (Datentyp)|Feld]]-Syntax von Fortran wird erweitert um rechteckige Klammern, die den Bildindex enthalten, mit dem man so auf die Daten eines anderen Bildes (Prozesses) zugreifen kann.&lt;br /&gt;
&lt;br /&gt;
Die Co-array-Fortran-Erweiterung gibt es schon seit den 1990ern und sie wird in einigen Fortrancompilern wie zum Beispiel dem von [[Cray]] (ab Version 3.1) unterstützt. Seitdem Coarrays Teil von Fortran 2008 sind, nimmt die Anzahl der Implementation zu; der erste [[Open Source|Open-Source]]-[[Compiler]], der Coarrays gemäß dem Fortran-2008-Standard unterstützt, ist [[G95]].&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;fortran&amp;quot;&amp;gt;&lt;br /&gt;
program Hallo_Welt&lt;br /&gt;
  implicit none&lt;br /&gt;
  integer :: i ! Lokale Variable&lt;br /&gt;
  character(len=20) :: name[*] ! skalares Coarray&lt;br /&gt;
  ! Hinweis: &amp;quot;name&amp;quot; ist die lokale Variable wohingegen &amp;quot;name[&amp;lt;index&amp;gt;]&amp;quot;&lt;br /&gt;
  ! auf die Variable eines anderen Prozesses (Image) zugreift&lt;br /&gt;
&lt;br /&gt;
  ! Kommuniziere mit dem Nutzer auf Image 1&lt;br /&gt;
  if (this_image() == 1) then&lt;br /&gt;
    write(*,&amp;#039;(a)&amp;#039;,advance=&amp;#039;no&amp;#039;) &amp;#039;Geben Sie Ihren Namen ein: &amp;#039;&lt;br /&gt;
    read(*,&amp;#039;(a)&amp;#039;) name&lt;br /&gt;
&lt;br /&gt;
    ! Verteile die Information an die anderen Prozesse&lt;br /&gt;
    do i = 2, num_images()&lt;br /&gt;
      name[i] = name&lt;br /&gt;
    end do&lt;br /&gt;
  end if&lt;br /&gt;
&lt;br /&gt;
  sync all ! Barriere damit die Daten wirklich da sind&lt;br /&gt;
&lt;br /&gt;
  ! Ein-/Ausgabe von allen Prozessen&lt;br /&gt;
  write(*,&amp;#039;(3a,i0)&amp;#039;) &amp;#039;Hallo &amp;#039;,trim(name),&amp;#039; von Image &amp;#039;, this_image()&lt;br /&gt;
end program Hallo_Welt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Unified Parallel C]]&lt;br /&gt;
* [[Parallele Programmierung]]&lt;br /&gt;
* [[Partitioned Global Address Space]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.nag.co.uk/sc22wg5/ ISO Fortran Committee]&lt;br /&gt;
* [ftp://ftp.nag.co.uk/sc22wg5/N1751-N1800/N1787.pdf Coarrays in the next Fortran Standard] (PDF)&lt;br /&gt;
* [ftp://ftp.nag.co.uk/sc22wg5/N1801-N1850/N1824.pdf Rationale for Co-Arrays in Fortran 2008] (PDF)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aka</name></author>
	</entry>
</feed>