Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. WeltenzyklopÀdie
  2. Advanced Vector Extensions
Advanced Vector Extensions 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
Page d’aide sur l’homonymie

Pour les articles homonymes, voir AVX.

Advanced Vector Extensions (AVX) est un jeu d'instructions de l'architecture x86 d'Intel et AMD, proposĂ© par Intel en mars 2008. Il est supportĂ© par les processeurs Intel Sandy Bridge et par les processeurs AMD Bulldozer en 2011. AVX offre de nouvelles fonctionnalitĂ©s, de nouvelles instructions et un nouveau schĂ©ma de codage « VEX Â».

AVX2 élargit la plupart des commandes SSE et AVX 128 bits en 256 bits[1]. Il est supporté par les processeurs Intel Haswell en 2013 et par les processeurs AMD Excavator en 2015.

AVX-512 Ă©tend le nombre de registres SIMD Ă  32 et les Ă©largit Ă  512 bits. Il utilise un nouveau codage utilisant le prĂ©fixe EVEX (en) proposĂ© par Intel en juillet 2013. Les premiers processeurs le supportant sont les Knights Landing[2].

Advanced Vector Extensions

[modifier | modifier le code]
Schéma d'extension des registres AVX-512 (ZMM0-ZMM31) à partir des registres AVX (YMM0-YMM15) et SSE (XMM0-XMM15)
511 256 255 128 127 0
 ZMM0    YMM0    XMM0  
ZMM1 YMM1 XMM1
ZMM2 YMM2 XMM2
ZMM3 YMM3 XMM3
ZMM4 YMM4 XMM4
ZMM5 YMM5 XMM5
ZMM6 YMM6 XMM6
ZMM7 YMM7 XMM7
ZMM8 YMM8 XMM8
ZMM9 YMM9 XMM9
ZMM10 YMM10 XMM10
ZMM11 YMM11 XMM11
ZMM12 YMM12 XMM12
ZMM13 YMM13 XMM13
ZMM14 YMM14 XMM14
ZMM15 YMM15 XMM15
ZMM16 YMM16 XMM16
ZMM17 YMM17 XMM17
ZMM18 YMM18 XMM18
ZMM19 YMM19 XMM19
ZMM20 YMM20 XMM20
ZMM21 YMM21 XMM21
ZMM22 YMM22 XMM22
ZMM23 YMM23 XMM23
ZMM24 YMM24 XMM24
ZMM25 YMM25 XMM25
ZMM26 YMM26 XMM26
ZMM27 YMM27 XMM27
ZMM28 YMM28 XMM28
ZMM29 YMM29 XMM29
ZMM30 YMM30 XMM30
ZMM31 YMM31 XMM31

La largeur des registres SIMD est passĂ©e de 128 bits Ă  256 bits, renommant les registres XMM0-XMM7 en YMM0-YMM7 en mode 32 bits et ajoutant 8 registres YMM8-YMM15 en mode 64 bits. Sur les processeurs supportant AVX, les instructions SSE (qui opĂ©raient auparavant sur les registres XMM de 128 bits) peuvent ĂȘtre Ă©tendues en utilisant le prĂ©fixe VEX (en) pour fonctionner sur les 128 bits de poids faibles des registres YMM.

AVX introduit un format d'instruction SIMD à trois opérandes, dans lequel le registre de destination est distinct des deux opérandes source. Par exemple, une instruction SSE classique à deux opérandes sous la forme A = A + B devra écrire par-dessus l'opérande A pour stocker le résultat. AVX est capable de préserver les opérandes source en utilisant un opérande destination différent, par le biais de la forme C = A + B. Le format SIMD à trois opérandes de AVX est limité aux registres YMM, et ne comprend pas d'instruction avec les registres d'usage général (par exemple EAX)[1].

Le nouveau schĂ©ma de codage VEX introduit une nouvelle sĂ©rie de prĂ©fixes de code qui Ă©tend l'espace d'opcode, permettant d'avoir des instructions ayant plus de deux opĂ©randes, et permet aux registres SIMD d'utiliser des vecteurs Ă  plus de 128 bits. Le prĂ©fixe VEX peut Ă©galement ĂȘtre utilisĂ© sur les anciennes instructions SSE en leur donnant une forme Ă  trois opĂ©randes, et leur permettre d’interagir plus efficacement avec des instructions AVX sans utiliser nĂ©cessairement VZEROUPPER et VZEROALL.

Les instructions AVX supportent des valeurs Ă  la fois 128 bits et 256 bits. Les versions 128 bits peuvent ĂȘtre utiles pour amĂ©liorer d'anciens codes sans avoir besoin d'accroĂźtre la vectorisation et pour Ă©viter la pĂ©nalitĂ© du passage de SSE Ă  AVX, Ce mode est parfois connu comme AVX-128[3].

Applications

[modifier | modifier le code]
  • Convient pour les calculs intensifs Ă  virgule flottante dans le multimĂ©dia, les applications scientifiques et financiĂšres (les opĂ©rations entiĂšres sont attendues dans une extension ultĂ©rieure).
  • Augmentation du parallĂ©lisme et le dĂ©bit dans les calculs SIMD en virgule flottante.
  • RĂ©duction de charge du registre due aux instructions non destructives.
  • AmĂ©liore les performances du RAID logiciel sous Linux (AVX2 nĂ©cessaire, AVX ne suffit pas)[4].
  • Prime95 / MPrime, et le logiciel GIMPS ayant permis de trouver le plus grand nombre premier Ă  ce jour, utilisent les instructions AVX depuis la version 27.x.

Nouvelles instructions

[modifier | modifier le code]
Instruction Description
VBROADCASTSS,
VBROADCASTSD,
VBROADCASTF128
Copie un nombre flottant 32 bits (simple précision), 64 bits (double précision) ou 128 bits d'un opérande mémoire dans tous les éléments d'un registre vectoriel XMM (128 bits) ou YMM (256 bits).
VINSERTI128 Remplace la moitié inférieure ou la moitié supérieure d'un registre de 256 bits YMM, avec la valeur d'un opérande source de 128 bits. L'autre moitié du registre de 256 bits YMM, considérée, est inchangée.
VEXTRACTF128 Extrait la moitié inférieure ou la moitié supérieure d'un registre de 256 bits YMM et copie cette valeur dans un opérande de destination de 128 bits.
VMASKMOVPS,
VMASKMOVPD
Lit conditionnellement un nombre quelconque d'éléments d'un opérande de mémoire vectorielle SIMD dans un registre de destination, laissant les éléments vectoriels restants typés "non lus" et mettant les éléments correspondants dans le registre de destination à zéro. Alternativement, écriture conditionnelle d'un nombre quelconque d'éléments d'un opérande de registre vectoriel SIMD vers un opérande de mémoire vectorielle, laisse inchangés les éléments restants de l'opérande de mémoire.

Sur l'architecture du processeur AMD Jaguar, cette instruction avec un opĂ©rande source de mĂ©moire prend plus de 300 cycles d'horloge lorsque le masque est Ă  zĂ©ro, auquel cas l'instruction ne devrait rien faire. Cela semble ĂȘtre un dĂ©faut de conception[5].

VPERMILPS,
VPERMILPD
Permute en ligne et assemble les éléments vectoriels d'un opérande d'entrée de 32 bits ou 64 bits. Ces instructions en ligne de 256 bits, fonctionnent sur l'intégralité des 256 bits mais sont constituées de deux blocs distincts de 128 bits, de sorte qu'il ne peut y avoir de mélange entre ces deux blocs[6].
VPERM2F128 Permute les quatre éléments vectoriels 128 bits de deux opérandes sources de 256 bits en un opérande destination de 256 bits, avec une constante immédiate comme sélecteur.
VZEROALL Met Ă  zĂ©ro l'ensemble des registres YMM et les marque « inutilisĂ©s Â». Cette instruction est utilisĂ©e lors de la commutation entre les modes 128 bits et 256 bits.
VZEROUPPER Met à zéro la moitié supérieure de l'ensemble des registres YMM (bits de poids forts). Cette instruction est utilisée lors de la commutation entre les modes 128 bits et 256 bits.

Processeurs supportant AVX

[modifier | modifier le code]
  • Intel
    • Processeurs Sandy Bridge (Q1 2011) et plus rĂ©cents, sauf les modĂšles de marques Celeron et Pentium[7]
    • Processeurs de marques Celeron et Pentium Ă  partir de Tiger Lake (Q3 2020) et plus rĂ©cents[8]
  • AMD
    • Processeurs basĂ©s sur Bulldozer (Q4 2011) et plus rĂ©cents[9]

Les questions relatives Ă  la compatibilitĂ© entre les futurs processeurs Intel et AMD sont examinĂ©es vis-Ă -vis du jeu d'instructions XOP (en) proposĂ© par AMD sur Bulldozer mais retirĂ© Ă  partir de l'architecture Zen.[pas clair]

Support des compilateurs et assembleurs

[modifier | modifier le code]

Le compilateur GCC intĂšgre le support AVX Ă  partir de la version 4.6 (mĂȘme si la version 4.3 intĂ©grait partiellement AVX), Intel Suite l'intĂšgre Ă  partir de la version 11.1, le compilateur Visual Studio l'intĂšgre Ă  partir de la version 2010/2012, La version du compilateur d'Open64 4.5.1 le prend en charge si le flag -mavx est activĂ©, PathScale supporte lui aussi AVX si le flag -mavx ainsi que Vector Pascal (en) via le flag -cpuAVX32.

Free Pascal supporte AVX et AVX2 depuis la version 2.7.1 avec les paramĂštres -CfAVX et -CfAVX2.

D'autres assembleurs tels que NASM, MASM VS2010, Yasm[10], FASM, MSNA et JWASM supportent AVX.

SystĂšme d'exploitation

[modifier | modifier le code]

La version des systĂšmes d'exploitation Ă  partir duquel le jeu d'instructions AVX est pris en charge.

  • Apple OS X : 10.6.8 (Snow Leopard) mise Ă  jour[11] publiĂ© le 23 juin 2011.
  • Linux : supportĂ© depuis la version du noyau 2.6.30[12], publiĂ© le 9 juin 2009[13].
  • Windows : Windows 7 SP1 et Windows Server 2008 R2 SP1[14], Windows 8, Windows Server 2008 R2 SP1 avec Hyper-V nĂ©cessite un correctif pour soutenir AMD AVX (Opteron 6200 et sĂ©rie 4200), KB2568088[15].
  • FreeBSD dans un patch prĂ©sentĂ© le 21 janvier 2012[16], qui a Ă©tĂ© inclus dans la version stable 9.1[17].
  • DragonFly BSD supportĂ© au dĂ©but 2013.
  • OpenBSD ajoutĂ© le 21 mars 2015[18].
  • Solaris 10 Mise Ă  jour 10 et Solaris 11.

Advanced Vector Extensions 2

[modifier | modifier le code]

Advanced Vector Extensions 2 (AVX2), aussi connues sous le nom nouvelles instructions Haswell[1], sont une extension du jeu d'instructions AVX introduite dans l'architecture Haswell. AVX2 supporte notamment[19] :

  • l'extension de la plupart des instructions AVX sur 128 bits sur les entiers Ă  256 bits,
  • la rĂ©cupĂ©ration de donnĂ©es 32 ou 64 bits en mĂ©moire non contiguĂ«s,
  • la diffusion ou la permutation de donnĂ©es entre plusieurs mots de 128 bits,
  • le dĂ©calage Ă  gauche ou Ă  droite d'Ă©lĂ©ments avec une valeur de dĂ©calage par Ă©lĂ©ment.

Nouvelles instructions

[modifier | modifier le code]
Instruction Description
VBROADCASTSS, VBROADCASTSD Copie un opĂ©rande de registre 32 bits ou 64 bits dans tous les Ă©lĂ©ments d’un registre vectoriel XMM ou YMM. Il s’agit de versions pour registre des mĂȘmes instructions dans AVX1. Il n’existe cependant pas de version 128 bits, mais le mĂȘme effet peut ĂȘtre simplement obtenu en utilisant VINSERTF128.
VPBROADCASTB, VPBROADCASTW, VPBROADCASTD, VPBROADCASTQ Copie un registre entier de 8, 16, 32 ou 64 bits ou un opĂ©rande mĂ©moire dans tous les Ă©lĂ©ments d’un registre vectoriel XMM ou YMM.
VBROADCASTI128 Copie un opĂ©rande de mĂ©moire 128 bits dans tous les Ă©lĂ©ments d’un registre vectoriel YMM.
VINSERTI128 Remplace la moitiĂ© infĂ©rieure ou la moitiĂ© supĂ©rieure d’un registre YMM de 256 bits par la valeur d’un opĂ©rande source de 128 bits. L’autre moitiĂ© de la destination est inchangĂ©e.
VEXTRACTI128 Extrait la moitiĂ© infĂ©rieure ou la moitiĂ© supĂ©rieure d’un registre YMM de 256 bits et copie la valeur dans un opĂ©rande de destination de 128 bits.
VGATHERDPD, VGATHERQPD, VGATHERDPS, VGATHERQPS Collecte/diffuse (en) des valeurs en virgule flottante simple ou double prĂ©cision Ă  l’aide d’indices 32 ou 64 bits et d’une Ă©chelle.
VPGATHERDD, VPGATHERDQ, VPGATHERQD, VPGATHERQQ Rassemble/diffuse des valeurs entiĂšres de 32 ou 64 bits Ă  l’aide d’indices 32 ou 64 bits et d'une Ă©chelle.
VPMASKMOVD, VPMASKMOVQ Lit conditionnellement n’importe quel nombre d’élĂ©ments d’un opĂ©rande de mĂ©moire vectorielle SIMD dans un registre de destination, en laissant les Ă©lĂ©ments vectoriels restants non lus et en mettant Ă  zĂ©ro les Ă©lĂ©ments correspondants dans le registre de destination. Alternativement, Ă©crit conditionnellement n’importe quel nombre d’élĂ©ments d’un opĂ©rande de registre vectoriel SIMD dans un opĂ©rande de mĂ©moire vectorielle, en laissant les Ă©lĂ©ments restants de l’opĂ©rande de mĂ©moire inchangĂ©s.
VPERMPS, VPERMD Permute les huit Ă©lĂ©ments vectoriels 32 bits d’un opĂ©rande source 256 bits dans un opĂ©rande de destination 256 bits, avec un opĂ©rande de registre ou de mĂ©moire comme sĂ©lecteur.
VPERMPD, VPERMQ Permute les quatre Ă©lĂ©ments vectoriels 64 bits d’un opĂ©rande source 256 bits dans un opĂ©rande de destination 256 bits, avec un opĂ©rande de registre ou de mĂ©moire comme sĂ©lecteur.
VPERM2I128 Permute (deux des) quatre éléments vectoriels 128 bits de deux opérandes sources 256 bits dans un opérande de destination 256 bits, avec une constante immédiate comme sélecteur.
VPBLENDD Version immédiate double mot des instructions PBLEND de SSE4.
VPSLLVD, VPSLLVQ DĂ©calage logique vers la gauche. Permet des dĂ©calages variables oĂč chaque Ă©lĂ©ment est dĂ©calĂ© en fonction de l’entrĂ©e compressĂ©e.
VPSRLVD, VPSRLVQ DĂ©calage logique vers la droite. Permet des dĂ©calages variables oĂč chaque Ă©lĂ©ment est dĂ©calĂ© en fonction de l’entrĂ©e compressĂ©e.
VPSRAVD DĂ©calage arithmĂ©tique vers la droite. Permet des dĂ©calages variables oĂč chaque Ă©lĂ©ment est dĂ©calĂ© en fonction de l’entrĂ©e compressĂ©e.

CPU supportant AVX2

[modifier | modifier le code]
  • Intel
    • Processeurs Haswell (Q2 2013) et plus rĂ©cents, Ă  l'exception des modĂšles de marques Celeron et Pentium.
    • Processeurs de marques Celeron et Pentium Ă  partir de Tiger Lake (Q3 2020) et plus rĂ©cents[8]
  • AMD
    • Processeurs Excavator (Q2 2015) et plus rĂ©cents.

AVX-512

[modifier | modifier le code]

AVX-512 dĂ©signe des extensions 512 bits des instructions SIMD 256 bits Advanced Vector Extensions pour l’architecture du jeu d’instructions x86 proposĂ©es par Intel en juillet 2013, et sont prises en charge par le processeur Knights Landing d’Intel[20].

Les instructions d’AVX-512 sont codĂ©es avec le nouveau prĂ©fixe EVEX (en). Il permet 4 opĂ©randes, 8 nouveaux registres opmask 64 bits, un mode de mĂ©moire scalaire avec diffusion automatique, un contrĂŽle d’arrondi explicite et un mode d'adressage de mĂ©moire Ă  dĂ©placement compressĂ©. La largeur du fichier de registre est augmentĂ©e Ă  512 bits et le nombre total de registres est portĂ© Ă  32 (registres ZMM0-ZMM31) en mode x86-64.

AVX-512 se compose de plusieurs sous-ensembles d’instructions, qui ne sont pas tous destinĂ©s Ă  ĂȘtre pris en charge par tous les processeurs qui les implĂ©mentent. Le jeu d’instructions se compose des Ă©lĂ©ments suivants :

  • AVX-512 Foundation (F) â€“ ajoute plusieurs nouvelles instructions et Ă©tend la plupart des instructions SSE-SSE4.1 et AVX/AVX2 en virgule flottante 32 bits et 64 bits avec le schĂ©ma de codage EVEX (en) pour prendre en charge les registres 512 bits, les opmasks, la diffusion des paramĂštres et le contrĂŽle intĂ©grĂ© des arrondis et des exceptions
  • AVX-512 Conflict Detection Instructions (CD) â€“ dĂ©tection de conflit efficace pour permettre la vectorisation d’un plus grand nombre de boucles, supportĂ©es par Knights Landing[20]
  • AVX-512 Exponential and Reciprocal Instructions (ER) â€“ fonctions exponentielles et rĂ©ciproques conçues pour aider Ă  mettre en Ɠuvre des fonctions transcendantes, supportĂ©es par Knights Landing[20]
  • AVX-512 Prefetch Instructions (PF) â€“ nouvelles capacitĂ©s de prĂ©charge, supportĂ©es par Knights Landing[20]
  • AVX-512 Vector Length Extensions (VL) â€“ Ă©tend la plupart des AVX-512 pour fonctionner Ă©galement sur les registres XMM (128 bits) et YMM (256 bits) (dont XMM16-XMM31 et YMM16-YMM31 en mode x86-64)[21]
  • AVX-512 Byte and Word Instructions (BW) â€“ Ă©tend AVX-512 pour couvrir les opĂ©rations sur entiers 8 bits et 16 bits[21]
  • AVX-512 Doubleword and Quadword Instructions (DQ) â€“ opĂ©rations amĂ©liorĂ©es sur les entiers 32 bits et 64 bits[21]
  • AVX-512 Integer Fused Multiply Add (IFMA) â€“ multiplication-addition fusionnĂ©e pour les entiers 512 bits[22]:746
  • AVX-512 Vector Byte Manipulation Instructions (VBMI) ajoute des instructions vectorielles de permutation d’octets qui ne sont pas prĂ©sentes dans AVX-512BW
  • AVX-512 Vector Neural Network Instructions Word variable precision (4VNNIW) â€“ instructions vectorielles pour l'apprentissage profond.
  • AVX-512 Fused Multiply Accumulation Packed Single precision (4FMAPS) â€“ instructions vectorielles pour l'apprentissage profond.
  • VPOPCNTDQ â€“ compte du nombre de bits valant 1[23]
  • VPCLMULQDQ â€“ multiplication sans retenue de quadruples mots[23]
  • AVX-512 Vector Neural Network Instructions (VNNI) â€“ instructions vectorielles pour l'apprentissage profond[23]
  • AVX-512 Galois Field New Instructions (GFNI) â€“ instructions vectorielles por le calcul du champ de Galois[23]
  • AVX-512 Vector AES instructions (VAES) â€“ instructions vectorielles pour le codage AES[23]
  • AVX-512 Vector Byte Manipulation Instructions 2 (VBMI2) â€“ chargement, stockage et concatĂ©nation d’octets/mots avec dĂ©calage[23]
  • AVX-512 Bit Algorithms (BITALG) â€“ instructions de manipulation de bits sur octet/mot Ă©tendant VPOPCNTDQ[23]
  • AVX-512 Bfloat16 (en) Floating-Point Instructions (BF16) â€“ instructions vectorielles pour l'accĂ©lĂ©ration IA.
  • AVX-512 Half-Precision Floating-Point Instructions (FP16) â€“ instructions vectorielles opĂ©rant sur des nombres en virgule flottante et complexes en prĂ©cision rĂ©duite.

Seule l’extension de base AVX-512F (AVX-512 Foundation) est requise par toutes les implĂ©mentations, bien que toutes les implĂ©mentations actuelles prennent Ă©galement en charge le CD (dĂ©tection de conflit). Tous les CPU avec AVX-512 prennent Ă©galement en charge VL, DQ et BW. Les extensions de jeu d’instructions ER, PF, 4VNNIW et 4FMAPS ne sont actuellement implĂ©mentĂ©es que dans les coprocesseurs de calcul Intel.

Les instructions SSE/AVX mises Ă  jour dans AVX-512F utilisent les mĂȘmes mnĂ©moniques que les versions AVX ; elles peuvent fonctionner sur des registres ZMM 512 bits, et prendront Ă©galement en charge les registres XMM/YMM 128/256 bits (avec AVX-512VL) et les opĂ©randes entiers sur octets, mots, doubles mots et de quadruples mots (avec AVX-512BW/DQ et VBMI)[22]:23.

Tableau de compatibilité des CPU aux instructions AVX-512

[modifier | modifier le code]
Tableau de compatibilité des CPU aux instructions AVX-512[24]
Sous-ensemble
AVX-512
F CD ER PF 4FMAPS 4VNNIW VPOPCNTDQ VL DQ BW IFMA VBMI VBMI2 BITALG VNNI BF16 VPCLMULQDQ GFNI VAES VP2INTERSECT FP16
Intel Knights Landing (2016) Oui Oui Non
Intel Knights Mill (2017) Oui Non
Intel Skylake-SP, Skylake-X (2017) Non Non Oui Non
Intel Cannon Lake (en) (2018) Oui Non
Intel Cascade Lake-SP (2019) Non Oui Non
Intel Cooper Lake (2020) Non Oui Non
Intel Ice Lake (2019) Oui Non Oui Non
Intel Tiger Lake (2020) Oui Non
Intel Rocket Lake (2021) Non
Intel Alder Lake (2021) Non officiellement supportĂ©, mais peut ĂȘtre activĂ© sur certaines cartes mĂšres avec certaines versions du BIOS[note 1]
AMD Zen 4 (2022) Oui Oui Non
Intel Sapphire Rapids (en) (2023) Non Oui
AMD Zen 5 (2024) Oui Non
  1. ↑  : AVX-512 est dĂ©sactivĂ© par dĂ©faut sur les processeurs Alder Lake. Sur certaines cartes mĂšres avec certaines versions de microcode CPU et de BIOS, AVX-512 peut ĂȘtre activĂ© dans le BIOS, mais cela nĂ©cessite de dĂ©sactiver les E-cores[25]. Cependant, Intel a commencĂ© Ă  supprimer AVX-512 des processeurs Alder Lake produits aprĂšs le dĂ©but 2022[26].

AVX-VNNI, AVX-IFMA

[modifier | modifier le code]

AVX-VNNI est une variante codĂ©e VEX (en) de l’extension du jeu d’instructions AVX512-VNNI. De mĂȘme, AVX-IFMA est une variante codĂ©e VEX du jeu d'instructions AVX512-IFMA. Ces extensions fournissent les mĂȘmes ensembles d’opĂ©rations que leurs homologues AVX-512, mais sont limitĂ©es aux vecteurs 256 bits et ne prennent pas en charge les fonctionnalitĂ©s supplĂ©mentaires du codage EVEX, telles que la diffusion, les registres opmask ou l’accĂšs Ă  plus de 16 registres vectoriels. Ces extensions permettent la prise en charge des opĂ©rations VNNI et IFMA mĂȘme lorsque la prise en charge complĂšte d’AVX-512 n’est pas implĂ©mentĂ©e dans le processeur.

Processeurs avec AVX-VNNI

[modifier | modifier le code]
  • Intel
    • Processeurs Alder Lake (T4 2021) et plus rĂ©cents.
  • AMD
    • Processeurs Zen 5 (S2 2024) et plus rĂ©cents[27].

Processeurs avec AVX-IFMA

[modifier | modifier le code]
  • Intel
    • Processeurs Xeon Sierra Forest (en) Ă  E-core uniquement (S2 2024) et plus rĂ©cents.
    • Processeurs Ă  usage spĂ©cial Grand Ridge et plus rĂ©cents.
    • Processeurs pour PC portables Meteor Lake (4e trimestre 2023) et versions ultĂ©rieures.
    • Processeurs pour PC de bureau Arrow Lake et plus rĂ©cents.

Références

[modifier | modifier le code]
  • (en) Cet article est partiellement ou en totalitĂ© issu de l’article de WikipĂ©dia en anglais intitulĂ© « Advanced Vector Extensions Â» (voir la liste des auteurs).
  1. ↑ a b et c (en) « Haswell New Instruction Descriptions Now Available! | IntelÂź Developer Zone Â», sur software.intel.com, 13 juin 2011 (consultĂ© le 14 janvier 2016)
  2. ↑ (en) « AVX-512 instructions | IntelÂź Developer Zone Â», 23 juillet 2013 (consultĂ© le 14 janvier 2016)
  3. ↑ « i386 and x86-64 Options - Using the GNU Compiler Collection (GCC) Â», sur gcc.gnu.org (consultĂ© le 30 septembre 2015)
  4. ↑ « Kernel/git/torvalds/linux.git Â», sur kernel.org (consultĂ© le 21 avril 2023).
  5. ↑ (en) Agner Fog, « The microarchitecture of Intel, AMD and VIA CPUs — An optimization guide for assembly programmers and compiler makers Â» [PDF], 23 dĂ©cembre 2015 (consultĂ© le 14 janvier 2016)
  6. ↑ « Chessprogramming - AVX2 Â», sur wikispaces.com via Wikiwix (consultĂ© le 5 novembre 2023).
  7. ↑ (en) « Intel Offers Peek at Nehalem and Larrabee - ExtremeTech Â», sur ExtremeTech, 17 mars 2008 (consultĂ© le 13 aoĂ»t 2020).
  8. ↑ a et b (en) « IntelÂź CeleronÂź 6305 Processor (4M Cache, 1.80 GHz, with IPU) Product Specifications Â», sur ark.intel.com (consultĂ© le 10 novembre 2020)
  9. ↑ http://developer.amd.com/community/blog/2009/05/06/striking-a-balance/
  10. ↑ (en) « Yasm 0.7.0 - The Yasm Modular Assembler Project Â», sur tortall.net (consultĂ© le 21 avril 2023).
  11. ↑ « Comex on Twitter Â», sur Twitter (consultĂ© le 13 aoĂ»t 2020).
  12. ↑ « Kernel/git/torvalds/linux.git Â», sur kernel.org (consultĂ© le 21 avril 2023).
  13. ↑ « Linux_2_6_30 Â», sur kernelnewbies.org (consultĂ© le 21 avril 2023).
  14. ↑ (en) « Using extended processor features in Windows drivers Â», sur microsoft.com (consultĂ© le 21 avril 2023).
  15. ↑ « https://support.microsoft.com/en-us/help/2568088/virtual-machine-does-not-start-on-a-computer-that-has-an-amd-cpu-that Â», sur support.microsoft.com (consultĂ© le 9 octobre 2018)
  16. ↑ (en) « Revision 230426 Â», sur freebsd.org (consultĂ© le 21 avril 2023).
  17. ↑ (en) « FreeBSD 9.1-RELEASE Announcement Â», sur The FreeBSD Project (consultĂ© le 21 avril 2023).
  18. ↑ « 'CVS : cvs.openbsd.org : src' Â», sur marc.info (consultĂ© le 21 avril 2023).
  19. ↑ (en) IntelÂź 64 and IA-32 Architectures Software Developer’s Manual, vol. 1 : Basic Architecture, Intel Corporation, 30 dĂ©cembre 2015, 460 p. (lire en ligne [PDF]), chap. 14, p. 350 (14-26 Vol.1)
  20. ↑ a b c et d (en-US) James Reinders, « AVX-512 Instructions Â», Intel, 23 juillet 2013 (consultĂ© le 20 aoĂ»t 2013)
  21. ↑ a b et c (en-US) James Reinders, « Additional AVX-512 instructions Â», Intel, 17 juillet 2014 (consultĂ© le 3 aoĂ»t 2014)
  22. ↑ a et b (en-US) « Intel Architecture Instruction Set Extensions Programming Reference Â» [PDF], Intel (consultĂ© le 29 janvier 2014)
  23. ↑ a b c d e f et g (en-US) « IntelÂź Architecture Instruction Set Extensions and Future Features Programming Reference Â», Intel (consultĂ© le 16 octobre 2017)
  24. ↑ (en-US) « IntelÂź Software Development Emulator | IntelÂź Software Â», sur software.intel.com (consultĂ© le 11 juin 2016)
  25. ↑ (en) Ian Cutress et Andrei Frumusanu, « The Intel 12th Gen Core i9-12900K Review: Hybrid Performance Brings Hybrid Complexity Â», sur AnandTech (consultĂ© le 5 novembre 2021)
  26. ↑ (en-US) Paul Alcorn, « Intel Nukes Alder Lake's AVX-512 Support, Now Fuses It Off in Silicon Â», sur Tom's Hardware, 2 mars 2022 (consultĂ© le 3 octobre 2022)
  27. ↑ (en) « AMD Zen 5 Compiler Support Posted For GCC - Confirms New AVX Features & More Â», sur www.phoronix.com (consultĂ© le 10 fĂ©vrier 2024)
  • icĂŽne dĂ©corative Portail du jeu vidĂ©o
  • icĂŽne dĂ©corative Portail de l’informatique
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Advanced_Vector_Extensions&oldid=230769287 Â».
CatĂ©gories :
  • Jeu d'instruction x86
  • DĂ©veloppement de jeux vidĂ©o
  • Technologie AMD
  • SIMD
CatĂ©gories cachĂ©es :
  • Article contenant un appel Ă  traduction en anglais
  • Portail:Jeu vidĂ©o/Articles liĂ©s
  • Portail:Informatique/Articles liĂ©s
  • Portail:Technologies/Articles liĂ©s

  • indonesia
  • Polski
  • Ű§Ù„Ű±ÙŠŰ©
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • Ù…Ű”Ű±
  • Nederlands
  • æœŹèȘž
  • PortuguĂȘs
  • Sinugboanong Binisaya
  • Svenska
  • ĐŁĐșŃ€Đ°Ń—ĐœŃĐșа
  • Tiáșżng Việt
  • Winaray
  • äž­æ–‡
  • РуссĐșĐž
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id