Hulpartikel overzicht

Hulpartikel

Wat is AVX?

AVX (Advanced Vector Extensions) is een set instructies voor x86 CPU's die uitgebreide ondersteuning biedt voor vectorgeoriënteerde berekeningen. Vectorgeoriënteerde berekeningen houden in dat dezelfde rekenkundige bewerking op meerdere stukjes gegevens tegelijkertijd wordt uitgevoerd. AVX biedt dus een manier om deze bewerkingen parallel uit te voeren, wat berekeningen met grote hoeveelheden gegevens aanzienlijk kan versnellen.

AVX biedt 256-bits registers die acht 32-bits of vier 64-bits waarden tegelijkertijd kunnen opslaan. De instructies werken op deze registers, waardoor meerdere bewerkingen parallel kunnen worden uitgevoerd.

Naast basisrekenkundige bewerkingen zoals optellen, aftrekken, vermenigvuldigen en delen, biedt AVX ook instructies voor meer complexe bewerkingen zoals manipulatie van individuele bits (bitwise operators) en conversies tussen gegevenstypen. AVX omvat ook ondersteuning voor fused multiply-add (FMA)-operaties, die vermenigvuldiging en optelling combineren tot één bewerking om de prestaties en nauwkeurigheid te verbeteren.

Over het algemeen biedt AVX aanzienlijke prestatieverbeteringen voor toepassingen die vectorgeoriënteerde berekeningen uitvoeren, zoals beeldverwerking, wetenschappelijke simulaties en machine learning. Niet alle CPU's ondersteunen echter AVX en software moet specifiek worden ontworpen om hiervan te profiteren.

 

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

0
evrens 4 april 2023 (#9757)

AVX (ik neem aan AVX2, aangezien hierboven gerept wordt over 256-bit registers) wordt al sinds de Haswell series (2013) ondersteund, dus eerlijk gezegd een beetje jammer dat dit soort geavanceerde instructies pas nu beschikbaar komt. Natuurlijk weet ik ook dat je in geclusterde hypervisors een CPU mask moet overlayen gebaseerd op de laagst gesupporteerde CPU cabailities in je cluster, zodat een VM niet ineens problemen gaat veroorzaken als die naar een CPU met minder capaciteiten wordt geplaatst, maar dan nog zou je toch mogen verwachten dat je CPU's wel iets recenter zijn dan 2013.

0
arjoh 4 april 2023 (#9754)

Op Linux kan je zien of de CPU van je VPS AVX ondersteunt door de flags te checken in /proc/cpuinfo.

➜ grep --color avx /proc/cpuinfo

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm cpuid_fault pti ibrs ibpb xsaveopt arat

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op