Viel Grips für Chips - Linux-Magazin
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
12/2017 Titelthema Intel Parallel Studio XE 2018 Viel Grips für Chips Intel Studio 32 www.linux-magazin.de Niemand kennt die kleinsten Details von 80 Prozent aller in PCs verbauten Prozessoren so gut wie Intel. Das legt den Verdacht nahe, dass die proprietäre Compilersuite des CPU-Herstellers das letzte Quäntchen Perfor- mance aus den Chips kitzeln kann. Das Linux-Magazin hat nachgemessen. Kay Königsmann mehreren Feldern Geschwindigkeitsvor- teile feststellen [1]. Damals spielten dem ICC (Intel C/C++ Compiler) die automa- tische Vektorisierung und das Ausnutzen von Befehlssatz-Erweiterungen wie MMX oder SSE in die Karten (Tabelle 1). Erfolge feiern dank Profile Guided Optimization Als besonderer Trumpf gegenüber dem GCC erwies es sich, IPO (Interprocedural Optimization) mit der Profil-geleiteten ICC-Optimierung zu kombinieren. In ei- nem dreistufigen Übersetzungsschema griff der ICC nämlich auf Informationen über den tatsächlichen Ausführungsfluss zurück, um Befehle umzuordnen und an- derweitig zu optimieren. Die Entwickler übersetzten das zu op- timierende Programm mit aktivierter PGO-Instrumentalisierung (Profile Gui- © besjunior, 123RF ded Optimization) und ließen es unter Realbedingungen eine Zeit lang laufen. Der Intel-Compiler erzeugte dabei so ge- nannte PGO Segment Packets und zu- Cloud Computing mit seinen vielen ser Code soll auch performant auf den sätzlichen PGO-Code, der ein Profil des Anwendern, das große Hin und Her bei Zielsystemen ablaufen. Aber nicht nur laufenden Programms enthielt und die Big Data sowie die gerade entstehenden parallel ablaufender, effizienter Code PGO-Segmente zeitgesteuert in Dateien Programme, die Daten aus dem IoT ein- trägt zur Verarbeitungsgeschwindigkeit ablegte. In der dritten Phase, der Feed- sammeln und verknüpfen, lassen erah- bei, sondern auch die eingesetzte CPU. back Compilation, versorgt man den nen, was Software jetzt und künftig zu Was liegt also näher, als dass Prozes- Compiler mit diesen Daten, der somit leisten hat. Entwickler solcher Lösungen sorhersteller ihre tiefen Kenntnisse der zielgerichtet übersetzen konnte. Mittler- müssen schauen, wie sie diese Anforde- Prozessorarchitektur nutzen, um die Vor- weile beherrscht der GNU C-Compiler rungen umsetzen können, oft müssen sie teile der eigenen CPUs in die Übersetzung diese Techniken auch. ihre Anwendungen in mehrere Threads des Codes in lauffähigen Programmcode aufteilen, oft sogar fit machen für den einfließen zu lassen. Diverse Produktlinien Lauf auf Firmen- und Netzwerk-übergrei- So versucht Chiphersteller Intel sich seit fenden Clustern. den 2000er Jahren durch die Entwicklung Intel bietet seine Compiler den Entwick- Umfangreiche Entwicklungsumgebungen und den Vertrieb eines eigenen Compi- lern aktuell in zwei Produktlinien an. Das wie Eclipse oder Microsofts Visual Studio lers auch im Tools-Markt einen Namen System Studio eignet sich laut Beschrei- helfen den Programmieren lauffähigen zu machen. Das gelang auch, ein Linux- bung insbesondere für die Entwicklung und sicheren Code zu erstellen. Und die- Magazin-Artikel im Jahr 2004 konnte auf von kleineren IoT- sowie Embedded-An-
12/2017 Titelthema wendungen. Intel Parallel Studio XE 2018 den Message-Passing-Interface-Standard schnittstelle für die Shared-Memory-Pro- [2] hingegen richtet sich an Program- (MPI), bei dem mehrere identische Pro- grammierung bei Multiprozessor-Com- Intel Studio mierer von Software mit vielen parallel zesse miteinander kommunizieren. Die putern parallelisiert Programme auf der ablaufenden Threads. Sein Einsatzgebiet Version enthält MPI-Bibliotheken, MPI- Ebene von Schleifen, die sie in Threads liegt somit insbesondere bei Entwicklun- Analysewerkzeuge sowie Tools zur er- separat ausführt. gen für einzelne Workstations, Worksta- weiterten Cluster-Diagnose. Windows- und Linux-Nutzer wählen ihre tion-Cluster oder verteilten Clusterumge- Allen genannten Editionen gibt Intel die bevorzugte Version unter allen drei Editi- bungen über Netzwerkgrenzen hinweg. Fähigkeit zu Open MP (Open Multi-Pro- onen aus. Mac-OS-Nutzern bleibt nur die 33 www.linux-magazin.de In den drei Ausgaben Cluster Edition, cessing, [3]) mit. Die seit 1997 von meh- Composer Edition, denn Werkzeuge für Professional Edition sowie Composer Edi- reren Hardware- und Compilerherstellern Apple-Cluster unter diesem Betriebssys- tion vertreibt die Prozessorschmiede ihr gemeinsam entwickelte Programmier- tem bietet Intel nicht an, und als Analyse- Parallel Studio. Die drei Versionen unterscheiden sich Tabelle 1: Benchmark-Ergebnisse aus dem Jahr 2004 hinsichtlich ihrer Bestandteile (Tabelle LM-Bench-Test GCC 3.3.3 ICC 8.0.055 Leistungszuwachs 2). So enthält die Composer Edition den Datei lesen 667353 641146 +3,93 % C/C++-Compiler, einen Fortran-Compi- Datei lesen (Memmap) 355139 332860 +6,27 % ler, eine (per separatem Download er- Datentransfer (Pipe) 51251 46309 +9,64 % hältliche) Python-Unterstützung sowie Datentransfer (TCP/IP-Socket) 404764 404371 +0,10 % auf Intel-Prozessoren abgestimmte ma- Datentransfer (Unix-Socket) 61422 57660 +6,12 % thematische Bibliotheken. Zusätzliche Werkzeuge für die Leistungsprofilierung, IP-Verbindungslatenz (TCP/IP) 8727 8719 +0,09 % zur optimierten Vektorisierung, zur Pro- Kontextwechsel 166269 168229 ‑1,18 % totyp-Erstellung von Threads sowie De- Dateisystem (Erstellen/Löschen) 618093 611237 +1,11 % bugwerkzeuge für die Speichernutzung Datei (Memmap/-unmap) 77508 70242 +9,37 % und Threadanalyse erweitern die Com- Seitenfehler (Datei) 1409 1351 +4,12 % poser- zur Professional Edition. IPC-Latenz (Pipe) 31224 18243 +41,57 % Prozess-Erzeugung 12832 12325 +3,95 % Mehr oder minder massive IPC-Latenz (Sun-RPC) 169344 113342 +33,07 % Parallelisierung Select (Datei/TCP-Verbindung) 62676 60264 +3,85 % Signale (installieren/auslösen) 53297 54053 ‑1,42 % Die Cluster Edition empfiehlt der Her- Einfacher Systemcall 30970 30466 +1,63 % steller für massiv parallel rechnende IPC-Latenz (TCP/IP) 62500 60700 +2,88 % Programme auf verteilten Systemen so- IPC-Latenz (UDP/IP) 58845 57982 +1,47 % wie für Workstation-Cluster. Die Edition unterstützt – ihrer Aufgabe folgend – IPC-Latenz (Unix-Socket) 54854 47464 +13,47 %
12/2017 Titelthema Source-Entwickler tikel gründen sich auf die Parallel Studio vom Umfang her Cluster Edition 2018. Intel Studio der Professional Edition. Systemvoraussetzungen Gegenüber der Stu denten- und Lehr- Sehr viele Linux-Distributionen besitzen kräfte-Version be- die Voraussetzungen zur Installation von 34 schränkt sich die Parallel Studio XE. Intel führt auf seiner www.linux-magazin.de Edition für Open- offiziellen Website verschiedene Ausga- Source-Entwickler ben von Debian, Fedora, Red Hat, Suse auf eine Installa- sowie Ubuntu auf. Neben 2 GByte RAM tion unter Linux – schreibt Intel für die Cluster Edition min- Programmierer für destens 12 GByte freien Massenspeicher Mac-OS- oder Win- während des Installationsvorgangs vor, Abbildung 1: Wessen Distribution keine 32-Bit-Unterstützung hat, wählt im dows-Systeme blei- wobei die Cluster Edition nach der Ins- Installer diese Compiler-Version ab. ben außen vor. Für tallation rund 8,6 GByte belegt. den Bezug der kos- Die Software liefert Intel in einer TGZ- tool liefert Intel in der Mac-Version einzig tenlosen Suite muss der Open-Source- Datei aus. Löscht der Anwender das TGZ- den GNU Project Debugger. Entwickler nachweisen, dass sich sein Archiv zwischen Entpacken und Start der betreutes Projekt an die Bestimmungen eigentlichen Installation nicht, erhöht Auch kostenlos zu beziehen der Open Source Initiative hält ([4], [5]) das den notwendigen freien Plattenplatz und er dort aktiv mitarbeitet. Intel fordert auf mindestens 16,5 GByte. Der Installer Außer den kommerziellen Editionen (Ta- zudem die Zustimmung zu den Non- selbst unternimmt keine Anstalten, um belle 2, auch nicht personengebundene Commercial-Vertragsbedingungen und eigene Vorhaben und freie Kapazitäten Mehrplatz-Lizenzen für mehr als 20 000 ‑konditionen. ins Verhältnis zu setzen; verfügt das Sys- Dollar sind erhältlich) bietet Intel kosten- Nach Prüfung der Angaben erhält der Ent- tem nicht über genügend Platz, bricht der lose Lizenzen für Studenten, Lehrkräfte wickler eine E-Mail mit einem Download Kopiervorgang irgendwann während der sowie Open-Source-Entwickler an. Um- link zugesandt. Bis Mitte 2014 war Intel Installation ab. fassen die Editionen für Studenten und weniger pingelig beim Nachweis des Eine zusätzliche Voraussetzung zum pro- Lehrkräfte bei Verwendung auf Linux- nicht-kommerziellen Vorhabens. Zum duktiven Einsatz des Compilers stellen und Windows-Systemen alle Komponen- Ausprobieren der Fähigkeiten der einzel- die Kernelheader-Dateien für den aktu- ten der Cluster Edition und unter Mac nen Studio-XE-Varianten genügt jedoch ellen Kernel dar. Ubuntu beispielsweise OS die Bestandteile der Composer Edi- bereits der Download der kommerziellen lagert diese im Verzeichnis »/usr/src/ tion, so entspricht die Version für Open- Free-Trial-Version. Die Tests in diesem Ar- linux‑headers‑XY/«. Tabelle 2: ICC-Editionen Installation der Suite Edition Composer Professional Cluster Plattformen für kommerziellen Linux, Windows, Linux, Windows Linux, Windows Zum Installieren meldet sich der Anwen- Einsatz Mac OS der auf dem Desktop in einem Terminal 1 personengebundene Lizenz für ca. 700 US-Dollar ca. 1600 US-Dollar ca. 2950 US-Dollar an. Intel empfiehlt die Archivdatei in ein Linux und 1 Jahr temporäres Verzeichnis zu speichern, Kostenlos für Studenten, Lehr- Open-Source-Deve- Studenten, Lehr- vorzugshalber unterhalb von »/tmp/«. kräfte (Mac OS) loper (Linux) kräfte (Linux, Der Anwender entpackt sie dort mit »tar Windows) ‑xvzf Datei.tgz«. Das oberste Verzeichnis C/C++, Fortran, Python, Mathlib x x x des entpackten Archivs enthält das Skript Vectorizing, Prototyping, Debugging – x x »install_GUI.sh«. Skalierung, MPI, Diagnose – – x Das startet der Admin per »sudo« oder nach dem Wechsel in den Administra- Tabelle 3: Kernel-Compile-Zeiten tormodus mit »sudo su«. Der sich nun Kernel des Testsystems übersetzt mit »gcc ‑O2« »gcc ‑O3« »icc ‑O3« auf dem Desktop entfaltende Installer »make bzImage« führt durch den Installationsprozess. Da Ubuntu keine IA-32-Bibliotheken mehr Per GCC 16:35 min 18:15 min 18:15 min mitbringt, wählt der Anwender in diesem Per ICC 28:00 min 28:01 min 27:03 min Fall die Intel-Compiler-Unterstützung für »make modules« diese Architektur im Installer ab (Abbil- Per GCC 01:03 min 01:06 min 01:07 min dung 1). Der Prozess lädt während der Per ICC 01:37 min 02:44 min 01:38 min Installation die notwendige Lizenzdatei
12/2017 Titelthema von einem Intel-Server, was eine Verbin- eigentlichen Installation der Suite im Der Anwender testet die grundsätzliche dung zum Internet erfordert. temporären Verzeichnis; der Anwender Funktionalität des Intel-Compilers am Intel Studio Nach erfolgreicher Installation versucht darf die Daten ohne Bedenken löschen. besten durch ein einfaches Programm. die Installationsroutine die „Getting Das klassische „Hello World!“ bietet sich started“-Seite aufzurufen. Dies schlug Erste Schritte hierzu an (Listing 1). Der Befehl »icc zumindest auf dem Referenzsystem fehl. HelloWorld.c« generiert die Datei »a.out« Der Anwender findet das Dokument Vor dem produktiven Einsatz stellt der im selben Verzeichnis. Ein Aufruf des »getstart_clus_l.htm« bei Bedarf im Com- Anwender sein System auf den neuen Programms erzeugt die erwartete Mel- 35 www.linux-magazin.de piler-Installationsverzeichnis unterhalb Compiler ein. Das Skript, um die Umge- dung (Abbildung 2). von »documentation_2018/en/ps2018/«. bungsvariablen entsprechend zu setzen, Ungefähr 3,9 GByte verbleiben nach der befindet sich im »bin/«-Verzeichnis der Compiler bei der Arbeit Compiler-Installation. Der Aufruf erfolgt auf Für einen ersten Vergleich zwischen den einem 64-Bit-System beiden Konkurrenten GCC und ICC kann per »source compiler- vars.sh intel64«. Es Listing 1: »HelloWorld.c« bietet sich an, diesen 01 #include Aufruf in die Datei 02 ».bashrc« im Home- 03 main(void) verzeichnis einzutra- 04 { gen, um nicht nach 05 printf("Hello World!\n"); jedem Reboot das 06 return 0; Abbildung 2: Zu erwarten: Nach der Kompilierung per ICC startet das Hello- Skript manuell aufru- 07 } World-Programm ohne Umstände. fen zu müssen. Anzeige
12/2017 Titelthema hauseigenen Com- Produktivität in umfangreichen Projekten piler auch Code für insbesondere in der Testphase können Intel Studio fremde CPUs, so- lange Übersetzungszeiten sehr schmä- fern es sich um lern, und lange Wartezeiten führen stets allgemein verbrei- auch zu Frustration. tet Prozessorfea- Die in Tabelle 3 ermittelten Werte für tures handelt. In die Kompilierungszeiten eines aktuellen 36 der Dokumentation 4.13.5-Kernels zeigen, dass der Buildpro- www.linux-magazin.de steht: „Intel garan- zess für einen mit dem ICC kompilier- tiert nicht die Ver- ten Kernel fast doppelt so lange dauert fügbarkeit, Funk wie bei einem mit dem GCC gebauten tionalität oder Effi- Kernelimage, und zwar unabhängig vom zienz der Optimie- Einsatz der »‑O2«- oder »‑O3«-Optimie- rung für Micropro- rungen. Gleiches gilt für den Bau der zessoren, die nicht Kernelmodule. Dabei unterscheidet sich Abbildung 3: So war jede virtuelle Maschine für die Leistungstests konfiguriert. von Intel stam diese Tendenz selbst dann nicht, wenn men.“ der Build auf einem System unter einem die Kernel-Kompilierung dienen, die je- Die Garantie fürs letzte Quäntchen Op- laufenden Ubuntu-Standardkernel oder den Compiler an seine Leistungsgrenze timierung bekommt offenbar weiterhin mit einem durch den GCC oder durch führt. Im Jahr 2004 hatte ein Linux-Maga- nur, wer eine Intel-CPU vorzuweisen hat. den ICC kompilierten Kernel stattfindet. zin-Artikel [1] dies bereits mit dem dama- Ein Auszug mittels »cat /proc/cpuinfo« ligen ICC versucht. Letztlich gelang das bringt diesbezüglich Gewissheit, mit In- Performance des erzeugten Unterfangen, es waren dabei allerdings tel-CPUs zeigt der Parameter »vendor_id« Codes messen eine Menge Fallstricke aus dem Weg zu den Wert »GenuineIntel« an – so auch räumen und viel Kernelcode anzupassen. in der Testumgebung (siehe Kasten „So Nach Erzeugung der GCC- und ICC-Ker- Mittlerweile ist der ICC ohne Vorarbeit haben wir getestet“). nelimages ist ein Benchmark das beste dazu in der Lage. Die Zeit für einen Compilerlauf sind für Mittel, um die mit dem jeweiligen Com- Nachdem Intel 2009 einen Rechtsstreit den erzeugten Binärcode zwar belanglos, piler erreichbare Systemperformance zu gegen AMD verloren hatte, optimieren die nicht aber für seinen Entwickler. Dessen beurteilen. Aussagekräftiger, als Daten- So haben wir getestet Die Installation der Cluster Edition erfolgte erzeugte anschließend der Befehl »make beziehungsweise dem von ihm verursachten auf einem Ubuntu-Desktop-System (Version defconfig«. Eine zusätzliche Installation des Effekt. Die Latenz ist also ein Maß für die (mög- 17.04), das in einer virtuellen Maschine unter »libncurses5‑dev«-Pakets auf dem Linux-Gast lichst gering zu haltende) Wartezeit. VMware Fusion lief. Während der Ermittlung der ermöglichte es, »make menuconfig« auszufüh- Der Cyclictest misst Latenzen von Linux- Kompilierungs- und Latenzzeiten liefen in der ren, um notwendige weiterer Kernelmodule zu Kerneln sehr präzise, weshalb ihn die Tester virtuellen Maschine und auf dem Host nur die berücksichtigen. Die Ergänzung der Konfigura- zum Vergleich verschiedener Kernel und somit Grunddienste und keine weiteren Prozesse. Der tion beschränkte sich jedoch auf Module, um auch der beiden Compiler heranzogen. Mittels Host verfügte über 16 GByte RAM sowie eine virtuelle SCSI-Festplatten einzubinden. »phoronix‑test‑suite install cyclictest« instal- Intel-i7-CPU mit Hyperthreading. Der virtuellen Die Zeiten der Kernelkompilierung ermittelte lierten sie zunächst den Test. Der Befehl »pho- Maschine standen zwei Kerne und 4 GByte RAM »time make bzImage« oder ein entsprechender ronix‑test‑suite run cyclictest« startete einen zur Verfügung (Abbildung 3). »time make modules«-Befehl. Benchmarklauf (Abbildung 4). Der Mittelwert Für jeden Kompilierungsvorgang erhielt die zu- eines jeden der 24 durchgeführten Testläufe Antwortverhalten des Kernels messen ständige »Makefile«-Datei im Wurzelverzeich- gründet sich auf jeweils sechs Durchläufe. nis des Kernels 4.13.5 für die unterschiedlichen Die Suche nach einem freien Benchmark, der Insgesamt 24*6=144 Einzelwerte flossen so in Testszenarien entsprechende Modifikationen. die Performance des erzeugten Binärcodes ver- die Ergebnisse ein. Rückschlüsse auf die Kom- Diese betrafen bei Kompilierung eines ICC- gleichend beurteilen kann, führte die Tester zu pilierzeiten und Binärcode-Latenzen der ICC- Kernels die Variablen »HOSTCC«, »HOSTCXX«, Open Benchmarking [6]. Die dort propagierten Suite unter Windows oder Mac OS lassen diese »HOSTCFLAGS«, »HOSTCXXFLAGS« sowie Leistungstests laufen innerhalb der Phoronix Ergebnissen aber nicht zu. »CC«. Versuche einer Code-Optimierung un- Test Suite [7] ab. Ubuntu hält diese Suite im Die Auswahl des jeweiligen Kernels erfolgte vor ter Einsatz der »‑O3«-Option bedingten eine Repository vor, sodass der Admin sie leicht per dem Bootvorgang im Grub-Menü. Zur Anzeige entsprechende Änderung des Flag »‑O2«. Die Paketmanager installieren kann. des Bootmenüs versahen die Tester in der Da- »Makefile«-Dateien in den Kernel-Unterver- Der Befehl »phoronix‑test‑suite list‑tests« tei »/etc/default/grub« die Zeilen »GRUB_HID- zeichnissen änderten sich bei dieser Gelegen- zeigt eine Liste möglicher Tests, die mit Cyc- DEN_TIMEOUT=0« sowie »GRUB_HIDDEN_TIME- heit nicht. lictest auch einen Benchmark zur Messung von OUT_QUIET=true« am Zeilenanfang mit einem Mit »make mrproper« löschten die Tester Latenzen enthält. Latenz bezeichnet allgemein Kommentarzeichen (»#«). Danach führte der die bei früheren Kompilationen entstande- die zeitliche Verzögerung zwischen dem Aus- Befehl »update‑grub« die Konfigurationsände- nen Binaries. Die notwendige ».config«-Datei lösen eines Prozesses und dessen Auswirkung rungen im System durch.
12/2017 Titelthema durchsätze zu messen, ist beim Kernel, dessen Antwortverhalten mit dem Bench- Intel Studio mark Cyclictest zu quantifizieren (siehe Kasten „So haben wir getestet“). Die durchaus überraschenden Ergebnisse zeigt Abbildung 5 grafisch, Tabelle 4 listet noch einmal die genauen Werte. Sie verdeutlichen, dass tendenziell GCC- 37 www.linux-magazin.de kompilierte Kernel geringere Latenzzei- ten zeigen als mit dem ICC übersetzte – in den meisten Fällen um 20 Prozent oder weniger. Ernüchterung Die aktuell ermittelten Werte der Kompi- Abbildung 4: Beispiel der Cyclictest-Latenzmessung unter einem mit dem ICC kompilierten Kernel 4.13.5. lierungs- und Latenzzeiten transportieren eine schlechte Nachricht für Entwickler, nicht mehr, die Bootzeiten zwischen mit meldungen während des Buildprozesses die nach einer einfachen Lösung für ei- dem GCC und mit dem ICC kompilier- unterbleiben. nen Performance-Schub suchen und des- ten Kerneln sind praktisch gleich. Allen- In Sachen Optionen warnt die offizielle wegen auf den Intel-eigenen Compiler falls lassen sich durch angepasste Com- Dokumentation sowieso vor Blauäugig- setzen (wollen). pilerflags in den Makefiles der Kernel- keit: „Der Intel C++ Compiler unter- Denn für die Kernelimages gilt das Ge- Unterverzeichnisse die Kompilierzeiten stützt viele von den Compileroptionen schwindigkeits-Versprechen von Intel verkürzen, da die umfangreichen Warn- …“ – die Einschränkung „viele“ ist ernst
12/2017 Titelthema zu nehmen. Ein Pro- jekt einfach durch Intel Studio Austausch des Compi- lers in den Makefiles portieren zu wollen, gelingt selten. In die Bewertung der 38 Messwerte sollte zu- www.linux-magazin.de dem einfließen, dass Optimierungen im Be- triebssystem selbst schwere Kost sind: Bei den Wechseln vom Benutzer- in den Ker- nelmodus sichert die CPU nämlich nur ihre allgemeinen Register, aber nicht die der Pro- zessorerweiterungen. Das macht es schwer, im Kernel paralleli- Abbildung 5: Ergebnisse der Latenzmessung über sechs Testläufe. Die Zeiten auf der y-Achse sind in Millisekunden aufgetragen. Die sierbaren SIMD-Code ermittelten ICC-Werte liegen signifikant über den Werten bei Verwendung des GCC. (Single Instruction Multiple Data) zu verankern. Software im Intel-Compilers gegenüber dem GCC auf: [3] Open MP: [http://www.openmp.org] Userspace unterliegt dieser Einschrän- Nicht Intels Produkt ist schlechter gewor- [4] Open Source Initiative: kung nicht. Wie in [8] aufgezeigt, wartet den, sondern der freie Compiler ist heute [https://opensource.org] der ICC in anderen Fällen (Datenbankzu- besser denn je. Insbesondere hantiert er [5] The Open Source Definition: griffe unter Gentoo Linux) durchaus mit heute mit der PGO-Instrumentalisierung [https://opensource.org/osd] einem Performance-Schub auf. (Profile Guided Optimization), die vor [6] Open Benchmarking: Jahren noch ein Alleinstellungsmerkmal [https://openbenchmarking.org] Fazit des ICC war. [7] Phoronix Test Suite: Nun ist es an Intel, sich wieder einen [http://www.phoronix‑test‑suite.com] Dass Konkurrenz das Geschäft zum Vorsprung herauszuarbeiten. Ein erster [8] Kay Königsmann, „Gentoo-Software opti- Wohle der Kunden belebt, gilt für Com- Ansatzpunkt sollten die Übersetzungszei- miert übersetzen“: piler allemal. Schon allein deshalb war ten sein, denn auch für vielbeschäftigte Linux-Magazin 06/11, S. 42, und ist es gut, dass Intel sein Produkt am Entwickler gilt: Zeit ist Geld. (jk) n [http://www.linux‑magazin.de/Ausgaben/ Markt hält, auch wenn die Absicht des 2011/06/ICC‑fuer‑Gentoo] PC-Prozessor-Quasimonopolisten wohl eher die ist, die eigenen CPUs über op- Infos Der Autor timierten Code attraktiv zu halten. Und [1] Ingo A. Kubbilun, „Linux-Kernel mit dem Kay Königsmann arbeitet seit 1999 im IT-Bereich, dass der ICC ein Jahrzehnt lang messbar Intel-Compiler übersetzen“: zunächst als Datenbank- und Java-Dozent, später schnellere Binaries produziert hat als der Linux-Magazin 07/04, S. 34, auch im Projektmanagement von IT-Projekten. GCC und andere, war für diese Alternati- [http://www.linux‑magazin.de/Ausgaben/ Debian GNU/Linux sowie IT-Security bilden die ven ein guter Ansporn. 2004/07/Aufgedreht‑Kernel‑Tuning] Schwerpunkte seiner heutigen Tätigkeit. Er ist An dieser Stelle löst sich wohl auch das [2] Intel Parallel Studio XE: [https://software. Autor zahlreicher Fernlehrgänge im Erwachse- Rätsel um das schlechte Abschneiden des intel.com/en‑us/parallel‑studio‑xe] nen-Weiterbildungsbereich. Tabelle 4: Latenzmessungen per Cyclictest Kernel Ubuntu original 4.13.5 4.13.5 4.13.5 Übersetzt mit »gcc ‑O2« »gcc ‑O2« »gcc ‑O3« »icc ‑O3« Testlauf 1 760 ms 826 ms 1091 ms 1062 ms Testlauf 2 788 ms 845 ms 802 ms 1005 ms Testlauf 3 803 ms 801 ms 1014 ms 1148 ms Testlauf 4 788 ms 804 ms 1121 ms 1187 ms Testlauf 5 740 ms 1091 ms 875 ms 1138 ms Testlauf 6 1021 ms 866 ms 903 ms 1119 ms
Sie können auch lesen