Website-Suche

Wie Sie überprüfen, ob Ihr Linux-System AVX und AVX2 unterstützt


In diesem kurzen Tutorial lernen wir, wie man über die Kommandozeile überprüft, ob Ihr Linux-System AVX- und AVX2-Befehle unterstützt. Die Überprüfung der AVX/AVX2-Unterstützung in Ihrer CPU ist entscheidend, wenn Sie Software oder Arbeitslasten ausführen, die von den Datenparallelismus- und Vektorverarbeitungs-Fähigkeiten profitieren können, die diese Befehlssatzerweiterungen bieten. Es ist auch eine Hauptanforderung, um Große Sprachmodelle (LLMs) auf Ihrem System auszuführen.

Was ist AVX?

AVX steht für Advanced Vector Extensions. Es ist eine Menge von Befehlssatzerweiterungen für die x86-Befehlssatzarchitektur von Mikroprozessoren von Intel und AMD.

AVX bietet neue Anweisungen und CPU-Funktionen, die effiziente Vektoroperationen auf großen Datensätzen ermöglichen. Insbesondere:

  • AVX führt 256-Bit breite Vektorregister und Anweisungen ein, die parallele Operationen auf 256-Bit-Vektoren von Daten ausführen können, wie zum Beispiel vier 64-Bit Doppelpräzisions- oder acht 32-Bit Einzelpräzisions-Gleitkommawerte.
  • Es verbessert die SIMD (Single Instruction, Multiple Data)-Fähigkeiten, sodass eine einzelne Anweisung dieselbe Operation gleichzeitig auf mehrere Datenelemente ausführen kann. Diese Parallelität kann erhebliche Leistungssteigerungen für Anwendungen bieten, die Vektorverarbeitung nutzen können, wie z. B. Multimedia-, wissenschaftliche Rechen- und Machine-Learning-Workloads.
  • AVX ist eine Erweiterung früherer 128-Bit-Vektorerweiterungen wie SSE (Streaming SIMD Extensions).

AVX wurde erstmals 2011 von Intel mit der Sandy Bridge-Mikroarchitektur eingeführt und später von AMD übernommen.

Die AVX2-Erweiterung, eingeführt 2013 mit Intels Haswell-Mikroarchitektur und AMDs Excavator-Mikroarchitektur, fügt weitere Anweisungen und Funktionalitäten hinzu.

Diese Vektorerweiterungen sind besonders nützlich bei Arbeitslasten, die eine starke Datenparallelität beinhalten, wie z. B. Bild- und Videobearbeitung, physikalische Simulationen, Kryptographie und Deep Learning.

Viele moderne Softwarebibliotheken und -frameworks, einschließlich solcher, die für maschinelles Lernen und KI verwendet werden, können AVX und AVX2 nutzen, um Berechnungen auf unterstützter Hardware zu beschleunigen.

Überprüfen Sie, ob Ihr Linux-Rechner AVX und AVX2 unterstützt

Um zu überprüfen, ob Ihr Linux-Rechner die AVX- und AVX2-Befehlssätze unterstützt, können Sie einige verschiedene Methoden verwenden:

CPU-Informationen überprüfen

Um festzustellen, ob Ihre Linux-Maschine AVX- und/oder AVX2-Befehle unterstützt, können Sie die Ausgabe der Datei /proc/cpuinfo überprüfen oder den Befehl grep verwenden:

$ grep -o 'avx[^ ]*' /proc/cpuinfo

Dies wird avx und/oder avx2 (für jeden CPU-Kern wiederholt) ausgeben, wenn Ihre CPU diese Befehlssätze unterstützt.

Beispielausgabe:

avx
avx2
avx512f
avx512dq
avx512ifma
avx512cd
avx512bw
avx512vl
avx512vbmi
avx512_vbmi2
avx512_vnni
avx512_bitalg
avx512_vpopcntdq
avx512_vp2intersect
[...]

Überprüfen Sie, ob Ihr Linux-Rechner AVX und AVX2 unterstützt

Sie können auch die folgenden grep-Befehlsvarianten verwenden, um zu prüfen, ob Ihre CPU AVX- und AVX2-Anweisungen unterstützt:

$ cat /proc/cpuinfo | grep -i 'avx'

Oder,

$ grep --color=always -i 'avx' /proc/cpuinfo

Hier wird die Option --color=always verwendet, um die Zeilen, die "avx" enthalten, zu unterscheiden.

Bestimmen Sie, ob Ihre CPU AVX- und AVX2-Befehle unter Linux unterstützt

Wenn Sie Ausgabzeilen sehen, die avx und avx2 enthalten, bedeutet das, dass Ihre CPU diese Befehlssätze unterstützt.

Verwenden Sie das lscpu-Dienstprogramm

Das lscpu-Dienstprogramm ist ein großartiges Werkzeug, um detaillierte Informationen über Ihre CPU unter Linux zu erhalten. Es ist bei den meisten Linux-Distributionen vorinstalliert.

Um zu überprüfen, ob Ihre CPU AVX oder AVX2 unterstützt, führen Sie Folgendes aus:

$ lscpu | grep avx

Suchen Sie nach Zeilen, die AVX und AVX2 im Abschnitt „Flags“ erwähnen. Wenn sie vorhanden sind, unterstützt Ihre CPU diese Erweiterungen.

Beispielausgabe:

Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 invpcid_single cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2intersect md_clear flush_l1d arch_capabilities

CPU-Spezifikationen überprüfen

Sie können auch die Spezifikationen Ihres CPU-Modells online nachschlagen. Die meisten modernen CPUs von Intel (seit Sandy Bridge 2011) und AMD (seit Bulldozer 2011) unterstützen AVX, und neuere Generationen unterstützen auch AVX2.

Wenn Sie einen Intel-Prozessor verwenden, gehen Sie zu folgendem Link, um zu überprüfen, ob Ihr Prozessor AVX unterstützt:

  • https://www.intel.com/content/www/us/en/support/articles/000090473/processors/intel-core-processors.html

Beachten Sie, dass einige ältere CPUs oder Geräte mit geringem Stromverbrauch AVX2 möglicherweise nicht unterstützen, was eine Voraussetzung sein könnte, um bestimmte LLM (Large Language Model)-Anwendungen effizient auszuführen.

Verwandte Lektüre:

  • So überprüfen oder finden Sie CPU-Informationen in Linux
  • Finden Sie Linux-Systemhardwareinformationen mit Hwinfo
  • So finden Sie Linux-Systemdetails mit inxi
  • Linux-Systeminformationen im Terminal mit Macchina anzeigen
  • Neofetch – Zeige Linux-Systeminformationen im Terminal an
  • Finden Sie den Namen der Linux-Distribution, die Version und die Kernel-Details
  • So finden Sie Hardware-Spezifikationen unter Linux
  • Linux-Systemdetails mit Python finden