Intel Forran Compiler

Intel Forran Compiler
Andere Namen
  • Ifx
Entwickler (en) Intel
Vorschau -Version
2022.0.0[1] / 6. Dezember 2021; vor 7 Monaten
Betriebssystem Linux, Fenster
Typ Compiler
Lizenz Freeware, Optionale Prioritätsunterstützung
Webseite Software.Tel.com/Inhalt/www/uns/en/sich entwickeln/Werkzeug/Oneapi/Komponenten/fortran-compiler.html
Intel Forran Compiler Classic Classic
Andere Namen
  • Ifort
Entwickler (en) Intel
Stabile Version
2021.5.0[1] / 6. Dezember 2021; vor 7 Monaten
Betriebssystem Linux, Fenster, Mac OS
Typ Compiler
Lizenz Freeware, Optionale Prioritätsunterstützung
Webseite Software.Tel.com/Inhalt/www/uns/en/sich entwickeln/Werkzeug/Oneapi/Komponenten/fortran-compiler.html

Intel Forran Compilerist eine Gruppe von Forran Compiler aus Intel zum Fenster, Mac OS, und Linux.

Überblick

Die Compiler generieren Code für IA-32 und Intel 64 Prozessoren und bestimmte nicht-felsige, aber kompatible Prozessoren wie bestimmte AMD Prozessoren. Eine spezifische Freisetzung des Compiler (11.1) bleibt für die Entwicklung von Linux-basierten Anwendungen für IA-64 verfügbar (Itanium 2) Prozessoren. Unter Windows ist es als Intel Visual Forran bekannt.[2] Auf macOS und Linux ist es als Intel Forran bekannt. Im Jahr 2020 wurde der vorhandene Compiler in „Intel fortran Compiler Classic“ (IFORT) und ein neuer Intel Forger -Compiler für umbenannt Oneapi (IFX) Die Unterstützung von GPU -Offload wurde eingeführt.

Die 2021 -Veröffentlichung des Classic Compiler fügt die volle FORTRAN -Unterstützung durch den Standard -Standard, Full OpenMP* 4.5 und den ersten Open MP 5.1 nur für CPU hinzu. Der 2021 Beta Compiler konzentriert sich auf OpenMP für GPU -Offload. Bei Verwendung mit dem Intel HPC -Toolkit (siehe "Beschreibung der Verpackung" unten) kann der Compiler auch automatisch generieren Schnittstelle zur Nachrichtenübergabe fordert Verteilte Speichermultiprozessierung Aus OpenMP -Richtlinien.

Weitere Informationen zu den FORTRAN -Standards, eine Anzahl oder Ressourcen sind verfügbar, z. B. die Wikipedia Forran Eintrag oder der Forran Wiki -Seite.

Optimierungen

Intel -Compiler sind optimiert[3] Für Computersysteme unter Verwendung von Prozessoren, die Intel -Architekturen unterstützen. Sie sind so konzipiert, dass sie Stände minimieren und Code erzeugen, der in der wenigsten Anzahl von Zyklen ausgeführt wird. Intel Forran Compiler unterstützen drei separate hochrangige Techniken zur Optimierung des kompilierten Programms: Interprocedurale Optimierung (IPO), Profilgesteuerte Optimierung (PGO) und andere hochrangige Optimierungen (Hlo).

Interprocedurale Optimierung wendet typische Compiler -Optimierungen (z. B. konstante Ausbreitung) an, verwendet jedoch einen breiteren Umfang, der mehrere Prozeduren, mehrere Dateien oder das gesamte Programm umfasst.[4]

Bezüglich Profilgesteuerte OptimierungDer Compiler generiert einen Datensatz mit leistungsbezogenen Informationen aus der Verwendung der Anwendung mit repräsentativen Workloads, die dann analysiert, um herauszufinden, welche Teile der Anwendung immer weniger häufig ausgeführt werden. Der Compiler verwendet diese Daten, um die Anwendungsausführung zu organisieren, um die Leistung basierend darauf zu optimieren, wie die Anwendung tatsächlich verwendet wird. Dies steht im Gegensatz zu IPO, der die Anwendungen entsprechend dem logischen Fluss der Anwendung unabhängig von Workloads optimiert. Die beiden können kombiniert werden, um arbeitsbasierte Optimierungen bereitzustellen, in denen der logische Fluss optimiert ist. Daher können alle Optimierungen von profiliertem Feedback profitieren, da sie bei Zusammenstellung von Kompilierungsentscheidungen weniger auf Heuristiken angewiesen sind.

Höfliche Optimierungen sind Optimierungen, die in einer Version des Programms durchgeführt werden, die den Quellcode enger darstellt. Das beinhaltet Schleifenwechsel, Schleifenfusion, Schlaufe abrollen, Schleifenverteilung, Daten vorab und mehr.[5]

Standards unterstützt

Der Intel Forran Compiler Classic unterstützt Fortran bis zum Standard 2018 voll und ganz. Der Intel Fortran Compiler (Beta) unterstützt den vollständigen Fortran 77/90/95 und unterstützt teilweise Unterstützung des FORTRAN 2003 -Standards.

Architekturen

Beschreibung der Verpackung

Die Compiler sind eigenständig von Intel sowie von APT- und YUM -Repositories erhältlich. Sie sind auch im Intel Oneapi HPC -Toolkit erhältlich, das andere Build -Tools wie Bibliotheken und Analysetools zur Fehlerprüfung und Leistungsanalyse enthält. Container mit den Compilern befinden sich auf Docker Hub.

Geschichte seit 2003

Compiler -Version Veröffentlichungsdatum Haupt neue Funktionen
Intel Forran Compiler 8.0 15. Dezember 2003 Vorkompilierte Header, Code-Coverage-Tools.
Intel Forran Compiler 8.1 September 2004 AMD64 Architektur (für Linux).
Intel Forran Compiler 9.0 14. Juni 2005 AMD64 Architektur (für Windows), Software-basierte spekulative Vorkomputationsoptimierung (SSP), verbesserte Loop-Optimierungsberichte.
Intel Forran Compiler 10.0 5. Juni 2007 Verbesserter Parallelisierer und Vectorizer, Streaming -SIMD -Erweiterungen 4 (SSE4), neue und erweiterte Optimierungsberichte für erweiterte Schleifentransformationen, neue optimierte Ausnahmebehandlungsimplementierung.
Intel Forran Compiler 10.1 7. November 2007 Neue OpenMP* -Kompatibilitäts -Laufzeitbibliothek. Um die neuen Bibliotheken zu verwenden, müssen Sie die neue Option "-Qopenmp /qopenmp-lib: compat" unter Windows und "-openmp -openmp-lib: compat" unter Linux verwenden. Diese Version des Intel -Compilers unterstützt mehr Intrinsics von Microsoft Visual Studio 2005. VS2008 Support - Befehlszeile nur in dieser Version.
Intel Forran Compiler 11.0 November 2008 Weitere Unterstützung von Fortran 2003. Unterstützung für OpenMP 3.0. Quellprüfung für statische Speicher-/Paralleldiagnostik. Kommerzielle Lizenzen für Windows -Version enthalten Microsoft Visual Studio 2005 Premier Partner Edition.
Intel Forran Compiler 11.1 23. Juni 2009 Unterstützung für die neuesten Anweisungen für Intel SSE, AVX und AES. Weitere Unterstützung von Fortran 2003. Unterstützung für die neueste Intel MKL -Version (in Compiler -Produkten enthalten). Kommerzielle Lizenzen für Windows -Version enthalten Microsoft Visual Studio 2008 Shell und Bibliotheken.
Intel Forran Composer XE 2011 bis zum Update 5 (Compiler 12.0) 7. November 2010 Coarray Fortran, zusätzliche 2003 (endgültige Unterprogramme, generisches Schlüsselwort) und 2008 (Coarrays, Codimension, synchronisieren Sie alle, Synchronisierungsbilder, Synchronisierungsspeicher, kritisch, Sperre, Fehlerstopp, Zuordnung/Deallocate)
Intel Forran Composer XE 2011 Update 6 und höher (Compiler 12.1) 8. September 2011 OpenMP 3.1, zusätzliche 2003 (zuweisen mit Quelle =, polymorphe Quelle) und 2008 -Standards, Windows -Version, versendet mit Visual Studio 2010 Shell.
Intel Forran Composer XE 2013 (Compiler 13.0) 5. September 2012 LINUX-basierte Unterstützung für Intel Xeon Phi Coprocessoren, Unterstützung für Microsoft Visual Studio 12 (Desktop), Unterstützung für GCC 4.7, Unterstützung für Intel AVX 2-Anweisungen, Aktualisierungen der vorhandenen Funktionen, die auf die Bereitstellung einer verbesserten Anwendungsleistung ausgerichtet sind. Fortsetzung der Verfügbarkeit der Visual Studio 2010 Shell für Windows -Versionen.
Intel Forran Composer XE 2013 SP1 (Compiler 14.0) 31. Juli 2013 Benutzerdefinierte abgeleitete Typ I/O; OpenMP -Richtlinien, Klauseln und Verfahren; Coarrays; Microsoft Visual Studio Parallel Build Support
INTEL FORTRAN COMPOSER XE 2013 SP1 Update 1 (Compiler 14.0.1) 18. Oktober 2013 Japanische Lokalisierung von 14,0; Windows 8.1 und Xcode 5.0 Unterstützung
Intel Forran Composer XE 2015 (Compiler 15.0) 5. August 2014 Vollständige Unterstützung für Forran 2003; Block von Forran 2008; Execute_command_line von fortran 2008; Neuer Optimierungsbericht kommentiert die Quelle innerhalb von Visual Studio aus[6]
INTEL FORTRAN COMPOSER XE 2015 UPDATE 1 (Compiler 15.0.1) 30. Oktober 2014 AVX-512 Unterstützung; Japanische Lokalisierung; Min/Max -Reduzierungen der SIMD -Schleifenrichtlinie
Intel Forran Compiler 16.0, Teil des Intel Parallel Studio XE 2016 25. August 2015 Submodules aus Forran 2008, verbesserte Interoperabilität von FORTRAN mit C aus dem Entwurf von Fortran 2018, OpenMP 4.1 -Erweiterungen
Intel Forran Compiler 17.0 4. März 2016 OpenMP 4.5 Erweiterungen
Intel Forran Compiler 18.0 17. Januar 2017 Volle Unterstützung von Fortran 2008
Intel Forran Compiler 19.0 12. September 2018 Einige FORTRAN 2018 -Funktionen
Intel Forran Compiler Classic 2021.1.1 8. Dezember 2020 Full Fortran 2018 Support, OpenMP 4.5 und Erst Open MP 5.1 nur für CPU
Intel Forran Compiler (Beta) 2021.1.1 8. Dezember 2020 OpenMP* 4.5 und Erst OpenMP -Unterstützung für CPU- und GPU -Offload
Intel Forran Compiler Classic 2021.5.0 6. Dezember 2021 FORTRAN -Sprachkorrekturen und Sicherheitsaktualisierungen
Intel Forran Compiler Oneapi 2022.0.0 6. Dezember 2021
  • Voller Fortran 2003 außer parametrisierten abgeleiteten Typen
  • Voller Fortran 2008 außer Coarrays
  • Korrekturen auf gemeldete Probleme[7]

Debuggen

Der Intel Compiler bietet Debugging -Informationen, die für die gemeinsamen Debugger Standard sind (Zwerg 2 unter Linux, ähnlich wie GDB, und Sarg für Windows). Die Flaggen, die mit Debugging -Informationen kompiliert werden müssen, sind /Zi unter Windows und -g unter Linux. Das Debuggen erfolgt unter Windows mit dem Visual Studio -Debugger und unter Verwendung von GDB unter Linux.

Während der Intel-Compiler einen GPROF-kompatiblen erzeugen kann Profilerstellung Output, Intel liefert auch einen systemweiten statistischen Profiler auf Kernelebene als separates Produkt genannt Vtune. VTune verfügt über eine benutzerfreundliche GUI (integriert in Visual Studio für Windows, Finsternis für Linux) sowie eine Befehlszeilenschnittstelle. Zusätzlich zum Vtune -Profiler gibt es Intel Advisor Dies ist auf Vektorisierungsoptimierung und Tools für das Design und Prototyping von Threading spezialisiert.

Intel bietet auch ein Tool für Speicher- und Threading -Fehlererkennung, den Intel Inspector XE namens Intel Inspector XE. In Bezug auf Speicherfehler hilft es zu erkennen Speicherlecks, Gedächtnisbeschäftigung, Zuweisung/Entladung von API-Fehlpaarungen und inkonsistenter Speicher-API-Verwendung. In Bezug auf Threading -Fehler hilft es bei der Erkennung von Datenrennen (sowohl Haufen und Stapeln), Deadlocks und Thread- und Synchronisationspfehlern.

Siehe auch

Verweise

  1. ^ a b "Intel® Forran Compiler für Oneapi -Versionsnotizen". Intel. Abgerufen 2020-12-28.
  2. ^ "Intel Visual Forran Compiler Professional Edition für Windows". cnet.com.
  3. ^ "Intel (Forran, C und C ++)". Nersc.gov.
  4. ^ Intel Compiler -Dokumentation. Wählen Sie den FORTRAN-Compiler der Wahl und suchen Sie nach profilgesteuerter Optimierung. http://software.intel.com/en-us/intel-software-technical-documentation
  5. ^ Das Software-Optimierungskochbuch, Hochleistungsrezepte für IA-32-Plattformen, Richard Gerber, Aart J. C. Bik, Kevin B. Smith und Xinmin Tian, ​​Intel Press, 2006
  6. ^ "Intel Visual Forran 15 jetzt verfügbar".
  7. ^ "FORTRAN Language und OpenMP* -Funktionen in Intel® Forran Compiler implementiert". Intel® Forran Compiler. Intel. Abgerufen 2021-12-27.

Externe Links