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. Senior Digital Consultant (m/w/d)
    ORBIT Gesellschaft für Applikations- und Informationssysteme mbH, Bonn
  2. IT Service Portfolio Manager (m/w/d)
    Soluvia IT-Services GmbH, Kiel, Mannheim, Offenbach
Detailsuche

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


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...



Aktuell auf der Startseite von Golem.de
Gene Roddenberrys andere Sci-Fi-Stoffe
Neben Star Trek leider fast vergessen

Der Name Gene Roddenberry steht vor allem für Star Trek. Nach dem Ende der klassischen Serie hat er aber noch andere Science-Fiction-Stoffe entwickelt.
Von Peter Osteried

Gene Roddenberrys andere Sci-Fi-Stoffe: Neben Star Trek leider fast vergessen
Artikel
  1. Softwareentwicklung: Erste Schritte mit dem modernen Framework Flutter
    Softwareentwicklung
    Erste Schritte mit dem modernen Framework Flutter

    Flutter ist ein tolles und einfach zu erlernendes Framework, vor allem für die Entwicklung mobiler Apps. Eine Anleitung für ein erstes kleines Projekt.
    Eine Anleitung von Pascal Friedrich

  2. Illegales Streaming: House of Dragons bei Piraten beliebter als Ringe der Macht
    Illegales Streaming
    House of Dragons bei Piraten beliebter als Ringe der Macht

    Das Game-of-Thrones-Prequel hat mehr Zuschauer als die neue Herr-der-Ringe-Serie - zumindest via Bittorrent.

  3. Carsten Spohr: Lufthansa-Chef wird Opfer eigener Sicherheitslücke
    Carsten Spohr
    Lufthansa-Chef wird Opfer eigener Sicherheitslücke

    Unbekannte haben einen QR-Code auf einem Boardingpass von Lufthansa-Chef Carsten Spohr ausgelesen und auf persönliche Daten zugreifen können.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • CyberWeek: Bis -53% auf Gaming-Zubehör und bis -45% auf PC-Audio • Crucial 16-GB-Kit DDR5-4800 69,99€ • Crucial P2 1 TB 67,90€ • MindStar (u. a. Intel Core i5-12600 239€ und Fastro 2-TB-SSD 128€) • Logitech G Pro Gaming Keyboard 77,90€ • Apple iPhone 12 64 GB 659€ [Werbung]
    •  /