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.

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.
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.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Oder hast du nicht die Fähigkeit Ironie und Sarkasmus zu erkennen, selbst wenn sie/er dir...
Einem geschenkten Gaul schaut man nicht ins Maul :-)
Ein Microcode-Update im Laufenden Betrieb würde wahrscheinlich so gut wie jedes Programm...