• IT-Karriere:
  • Services:

CPU Features: Google gibt Code zur CPU-Funktionsanalyse frei

Für Programmierer ist es oft schwer, die genauen Funktionen einer CPU zu erkennen, um ihre Programme auf bestimmte Instruktionen anzupassen. Helfen soll hier Code von Google, der keinerlei Speicherzuweisung benötigt.

Artikel veröffentlicht am ,
Den Funktionsumfang von CPUs zu erhalten, ist nicht immer einfach.
Den Funktionsumfang von CPUs zu erhalten, ist nicht immer einfach. (Bild: Andrew Dunn,/CC-BY-SA 2.0)

Verschiedene CPU-Generationen und Architekturen haben verschiedene Fähigkeiten und unterstützen unterschiedliche Befehle. Vor allem bei Anwendungen, die eine bestimmte Leistung erfordern, ist es deshalb sinnvoll zur Laufzeit das Verhalten des Programms zu ändern, je nach dem, ob etwa FMA-, SSE2-, oder auch AVX-Befehle verfügbar sind. Genau diese Abfrage will Google nun vereinfachen, wie das Unternehmen in seinem Open-Source-Blog schreibt.

Stellenmarkt
  1. ElringKlinger AG, Reutlingen
  2. BAHN-BKK, Münster

Google hat dazu die Bibliothek mit dem sprechenden Namen cpu_features auf Github als Open Source veröffentlicht. Diese soll dafür genutzt werden, die Fähigkeiten einer CPU zu erkennen, um in eigenen Programmen zur Laufzeit darauf aufbauen zu können. Die Bibliothek geht dabei deutlich über das bloße Erkennen der CPU-Generation hinaus und soll "verzweifelte Maßnahmen wie das Auslesen /proc/cpuinfo" unnötig machen.

Um möglichst breit eingesetzt werden zu können und maximale Portierbarkeit zu gewährleisten, ist die Bibliothek in dem C89-Standard geschrieben, den im Prinzip jeder C-Compiler für jede Plattform verstehen sollte. Darüber hinaus kommt die Bibliothek komplett ohne eine vergleichsweise rechenintensive Speicherzuweisung aus.

Derzeit unterstützt werden die CPU-Architekturen x86, ARM sowie die 64-Bit-Variante von ARM, die auch als AArch64 bezeichnet wird, sowie MIPS. Das Auslesen der CPU-Funktionen geschieht dabei entweder über den CPUID-Befehl oder die von Linux-Kernel bereitgestellten Informationen. Für x86 kann die Bibliothek auch unter Windows genutzt werden. Noch nicht implementiert, aber zumindest laut Beschreibung geplant, ist die Unterstützung der Power-Architektur.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Hardware-Angebote
  1. (u. a. Ryzen 7 5800X 469€)

muhzilla 09. Feb 2018

Oder hast du nicht die Fähigkeit Ironie und Sarkasmus zu erkennen, selbst wenn sie/er dir...

Daniel Ortan 08. Feb 2018

Einem geschenkten Gaul schaut man nicht ins Maul :-)

lejared 08. Feb 2018

Ein Microcode-Update im Laufenden Betrieb würde wahrscheinlich so gut wie jedes Programm...


Folgen Sie uns
       


    •  /