ملحقات المتجهات المتقدمة

تعد Advanced Vector Extensions ( AVX ، والمعروفة أيضًا باسم Gesher New Instructions ثم Sandy Bridge New Instructions ) عبارة عن امتدادات SIMD لهندسة مجموعة تعليمات x86 للمعالجات الدقيقة من Intel و Advanced Micro Devices (AMD). وقد اقترحتها Intel في مارس 2008 ودعمتها Intel أولاً مع بنية Sandy Bridge [1] الدقيقة التي تم شحنها في الربع الأول من عام 2011 ولاحقًا من قبل AMD مع بنية Bulldozer [2] الدقيقة التي تم شحنها في الربع الرابع من عام 2011. توفر AVX ميزات جديدة وتعليمات جديدة ونظام ترميز جديد.

يقوم AVX2 (المعروف أيضًا باسم Haswell New Instructions ) بتوسيع معظم أوامر الأعداد الصحيحة إلى 256 بت ويقدم تعليمات جديدة. وقد دعمتها Intel لأول مرة باستخدام بنية Haswell الدقيقة، التي تم شحنها في عام 2013.

يوسع AVX-512 دعم AVX إلى 512 بت باستخدام ترميز بادئة EVEX الجديد الذي اقترحته Intel في يوليو 2013 ودعمته Intel لأول مرة مع معالج Knights Landing المساعد، والذي تم شحنه في عام 2016. [3] [4] في المعالجات التقليدية، تم تقديم AVX-512 مع خادم Skylake ومعالجات HEDT في عام 2017.

ملحقات المتجهات المتقدمة

يستخدم AVX ستة عشر سجل YMM لأداء تعليمة واحدة على قطع متعددة من البيانات (انظر SIMD ). يمكن لكل سجل YMM الاحتفاظ بعمليات (رياضيات) متزامنة وإجراءها على:

  • ثمانية أرقام عائمة بدقة أحادية مكونة من 32 بت أو
  • أربعة أرقام عائمة مزدوجة الدقة بطول 64 بت.

تم زيادة عرض سجلات SIMD من 128 بت إلى 256 بت، وتمت إعادة تسميتها من XMM0–XMM7 إلى YMM0–YMM7 (في وضع x86-64 ، من XMM0–XMM15 إلى YMM0–YMM15). لا يزال من الممكن استخدام تعليمات SSE القديمة عبر بادئة VEX للعمل على 128 بت أقل من سجلات YMM.

مخطط سجل AVX-512 كامتداد لسجلات AVX (YMM0-YMM15) وSSE (XMM0-XMM15)
511 256 255 128 127 0
  زمم0     يمم0     إكس إم إم 0  
زمم1 يمم1 إكس إم إم 1
زمم2 يمم2 إكس إم إم 2
زمم3 يمم3 إكس إم إم 3
زمم4 يمم4 إكس إم إم 4
زمم5 يمم5 إكس إم إم 5
زمم6 يمم6 إكس إم إم 6
زمم7 يمم7 إكس إم إم 7
زمم8 يمم8 إكس إم إم 8
زمم9 يمم9 إكس إم إم 9
زمم10 يمم10 إكس إم إم 10
زمم11 يمم11 إكس إم إم 11
زمم12 يمم12 إكس إم إم 12
زمم13 يمم13 إكس إم إم 13
زمم14 يمم14 إكس إم إم 14
زمم15 يمم15 إكس إم إم 15
زمم16 يمم16 إكس إم إم 16
زمم17 يمم17 إكس إم إم 17
زمم18 يمم18 إكس إم إم 18
زمم19 يمم19 إكس إم إم 19
زمم20 يمم20 إكس إم إم 20
زمم21 يمم21 إكس إم إم 21
زمم22 يمم22 إكس إم إم 22
زمم23 يمم23 إكس إم إم 23
زمم24 يمم24 إكس إم إم 24
زمم25 يمم25 إكس إم إم 25
زمم26 يمم26 إكس إم إم 26
زمم27 يمم27 إكس إم إم 27
زمم28 يمم28 إكس إم إم 28
زمم29 يمم29 إكس إم إم 29
زمم30 يمم30 إكس إم إم 30
زمم31 يمم31 إكس إم إم 31

يقدم AVX تنسيق تعليمات SIMD ثلاثي المتغيرات يسمى مخطط ترميز VEX ، حيث يكون سجل الوجهة مختلفًا عن المتغيرين المصدرين. على سبيل المثال، يمكن لتعليمة SSE التي تستخدم الشكل التقليدي المكون من متغيرين aa + b الآن استخدام شكل ثلاثي المتغيرات غير مدمر ca + b ، مع الحفاظ على المتغيرين المصدرين. في الأصل، كان تنسيق AVX ثلاثي المتغيرات يقتصر على التعليمات التي تحتوي على متغيرات SIMD (YMM)، ولم يتضمن تعليمات تحتوي على سجلات للأغراض العامة (مثل EAX). تم استخدامه لاحقًا لترميز تعليمات جديدة على سجلات للأغراض العامة في الامتدادات اللاحقة، مثل BMI . يستخدم ترميز VEX أيضًا للتعليمات التي تعمل على سجلات القناع k0-k7 التي تم تقديمها مع AVX-512 .

تم تخفيف متطلبات محاذاة متغيرات الذاكرة SIMD. [5] على عكس نظيراتها غير المشفرة بـ VEX، فإن معظم تعليمات المتجهات المشفرة بـ VEX لم تعد تتطلب محاذاة متغيرات الذاكرة الخاصة بها مع حجم المتجه. ومن الجدير بالذكر أن التعليمات VMOVDQAلا تزال تتطلب محاذاة متغير الذاكرة الخاص بها.

يقدم مخطط ترميز VEX الجديد مجموعة جديدة من بادئات التعليمات البرمجية التي تعمل على توسيع مساحة التعليمات البرمجية ، وتسمح للتعليمات بأن تحتوي على أكثر من متغيرين، وتسمح لسجلات متجه SIMD بأن تكون أطول من 128 بت. يمكن أيضًا استخدام بادئة VEX في تعليمات SSE القديمة مما يمنحها شكلًا ثلاثي المتغيرات، مما يجعلها تتفاعل بشكل أكثر كفاءة مع تعليمات AVX دون الحاجة إلى VZEROUPPERو VZEROALL.

تدعم تعليمات AVX كلاً من SIMD 128 بت و256 بت. يمكن أن تكون الإصدارات 128 بت مفيدة لتحسين الكود القديم دون الحاجة إلى توسيع المتجهات، وتجنب عقوبة الانتقال من SSE إلى AVX، كما أنها أسرع في بعض تطبيقات AMD المبكرة لـ AVX. يُعرف هذا الوضع أحيانًا باسم AVX-128. [6]

تعليمات جديدة

تضاف تعليمات AVX هذه إلى التعليمات التي تعد امتدادات 256 بت لتعليمات SSE القديمة ذات 128 بت؛ ويمكن استخدام معظمها على كل من المتغيرات ذات 128 بت و256 بت.

تعليمات وصف
VBROADCASTSS, VBROADCASTSD,VBROADCASTF128 انسخ متغير ذاكرة 32 بت أو 64 بت أو 128 بت إلى جميع عناصر سجل متجه XMM أو YMM.
VINSERTF128 يستبدل النصف السفلي أو النصف العلوي من سجل YMM ذي 256 بت بقيمة متغير مصدر ذي 128 بت. النصف الآخر من الوجهة لا يتغير.
VEXTRACTF128 يقوم باستخراج النصف السفلي أو النصف العلوي من سجل YMM 256 بت وينسخ القيمة إلى وسيط وجهة 128 بت.
VMASKMOVPS,VMASKMOVPD يقرأ بشكل مشروط أي عدد من العناصر من وسيط ذاكرة متجه SIMD في سجل الوجهة، مع ترك عناصر المتجه المتبقية غير مقروءة وتعيين العناصر المقابلة في سجل الوجهة إلى صفر. بدلاً من ذلك، يكتب بشكل مشروط أي عدد من العناصر من وسيط سجل متجه SIMD إلى وسيط ذاكرة متجه، مع ترك العناصر المتبقية من وسيط الذاكرة دون تغيير. في بنية معالج AMD Jaguar، تستغرق هذه التعليمات مع وسيط مصدر الذاكرة أكثر من 300 دورة ساعة عندما يكون القناع صفرًا، وفي هذه الحالة لا ينبغي للتعليمات أن تفعل شيئًا. يبدو أن هذا عيب في التصميم. [7]
VPERMILPS,VPERMILPD تبديل داخل المسار. قم بخلط عناصر المتجه ذات 32 بت أو 64 بت لمتغير إدخال واحد. هذه تعليمات داخل المسار ذات 256 بت، مما يعني أنها تعمل على جميع البتات ذات الـ 256 بت من خلال خلطين منفصلين بطول 128 بت، وبالتالي لا يمكنها الخلط عبر مسارات 128 بت. [8]
VPERM2F128 قم بخلط عناصر المتجهات الأربعة ذات 128 بت من متغيرين مصدرين ذات 256 بت في متغير وجهة ذات 256 بت، مع وجود ثابت فوري كمحدد.
VTESTPS,VTESTPD اختبار البتات المعبأة لبتات العلامة العائمة المعبأة ذات الدقة المفردة أو الدقة المزدوجة، وتعيين أو مسح علم ZF بناءً على AND وعلم CF بناءً على ANDN.
VZEROALL اضبط جميع سجلات YMM على الصفر وقم بوضع علامة عليها باعتبارها غير مستخدمة. يتم استخدامها عند التبديل بين الاستخدام 128 بت والاستخدام 256 بت.
VZEROUPPER اضبط النصف العلوي من جميع سجلات YMM على الصفر. يُستخدم هذا عند التبديل بين استخدام 128 بت واستخدام 256 بت.

وحدات المعالجة المركزية مع AVX

  • إنتل
    • معالجات Sandy Bridge (الربع الأول من عام 2011) والإصدارات الأحدث، باستثناء الطرز التي تحمل العلامة التجارية Celeron وPentium. [9]
    • معالجات تحمل العلامة التجارية Pentium وCeleron بدءًا من Tiger Lake (الربع الثالث من عام 2020) والإصدارات الأحدث. [10]
  • أيه إم دي :

تتم مناقشة القضايا المتعلقة بالتوافق بين معالجات Intel وAMD المستقبلية ضمن مجموعة تعليمات XOP .

  • عبر :
    • نانو رباعي النواة
    • ايدن X4
  • تشاو شين :
    • المعالجات المستندة إلى WuDaoKou (KX-5000 وKH-20000)

دعم المترجم والمجمع

  • يدعم Absoft العلم -mavx.
  • يدعم مُجمِّع Free Pascal AVX وAVX2 باستخدام مفتاحي -CfAVX و-CfAVX2 من الإصدار 2.7.1.
  • يدعم RAD studio (v11.0 Alexandria) AVX2 وAVX512. [12]
  • تدعم وظائف التجميع المضمنة في GNU Assembler (GAS) هذه التعليمات (يمكن الوصول إليها عبر GCC)، كما تفعل البدائيات من Intel والمجمع المضمن من Intel (متوافق بشكل وثيق مع GAS، على الرغم من أنه أكثر عمومية في تعامله مع المراجع المحلية داخل الكود المضمن). يدعم GAS AVX بدءًا من إصدار binutils 2.19. [ 13 ]
  • GCC بدءًا من الإصدار 4.6 (على الرغم من وجود فرع 4.3 مع دعم معين) ومجموعة Intel Compiler Suite بدءًا من الإصدار 11.1 تدعم AVX.
  • يدعم مُجمِّع Open64 الإصدار 4.5.1 AVX مع العلم -mavx.
  • يدعم PathScale عبر العلم -mavx.
  • يدعم مُجمِّع Vector Pascal AVX عبر العلم -cpuAVX32.
  • يدعم مُجمِّع Visual Studio 2010 / 2012 AVX عبر التبديل الجوهري و/arch:AVX.
  • NASM بدءًا من الإصدار 2.03 والإصدارات الأحدث. كان هناك العديد من إصلاحات الأخطاء والتحديثات المتعلقة بـ AVX في الإصدار 2.04. [14]
  • المجمعات الأخرى مثل إصدار MASM VS2010، YASM، [15] FASM و JWASM .

دعم نظام التشغيل

يضيف AVX حالة تسجيل جديدة من خلال ملف تسجيل YMM بعرض 256 بت، لذا يلزم دعم نظام التشغيل الصريح لحفظ واستعادة سجلات AVX الموسعة بشكل صحيح بين تبديلات السياق . تدعم إصدارات أنظمة التشغيل التالية AVX:

ملحقات المتجهات المتقدمة 2

Advanced Vector Extensions 2 (AVX2)، والمعروفة أيضًا باسم Haswell New Instructions ، [24] هي توسعة لمجموعة تعليمات AVX المقدمة في بنية Haswell الدقيقة من Intel . تقدم AVX2 الإضافات التالية:

  • توسيع معظم تعليمات SSE وAVX الصحيحة المتجهة إلى 256 بت
  • جمع الدعم، مما يتيح تحميل عناصر المتجهات من مواقع ذاكرة غير متجاورة
  • تبديلات من أي إلى أي من حبيبات DWORD وQWORD
  • تحولات المتجهات.

في بعض الأحيان ، يُعتبر امتداد FMA3 ( ثلاثي المتعاملات المندمجة ) جزءًا من AVX2، حيث تم تقديمه بواسطة Intel في نفس بنية المعالج الدقيقة. هذا امتداد منفصل يستخدم علامة CPUID الخاصة به ويتم وصفه على صفحته الخاصة وليس أدناه.

تعليمات جديدة

تعليمات وصف
VBROADCASTSS,VBROADCASTSD انسخ متغير سجل 32 بت أو 64 بت إلى جميع عناصر سجل متجه XMM أو YMM. هذه إصدارات سجل لنفس التعليمات في AVX1. لا يوجد إصدار 128 بت، ولكن يمكن تحقيق نفس التأثير ببساطة باستخدام VINSERTF128.
VPBROADCASTB, VPBROADCASTW, VPBROADCASTD,VPBROADCASTQ انسخ سجل عدد صحيح مكون من 8 أو 16 أو 32 أو 64 بت أو متغير ذاكرة إلى جميع عناصر سجل متجه XMM أو YMM.
VBROADCASTI128 انسخ متغير ذاكرة مكون من 128 بت إلى جميع عناصر سجل متجه YMM.
VINSERTI128 يستبدل النصف السفلي أو النصف العلوي من سجل YMM ذي 256 بت بقيمة متغير مصدر ذي 128 بت. النصف الآخر من الوجهة لا يتغير.
VEXTRACTI128 يقوم باستخراج النصف السفلي أو النصف العلوي من سجل YMM 256 بت وينسخ القيمة إلى وسيط وجهة 128 بت.
VGATHERDPD, VGATHERQPD, VGATHERDPS,VGATHERQPS يقوم بتجميع قيم النقطة العائمة ذات الدقة المفردة أو المزدوجة باستخدام مؤشرات ومقياس 32 بت أو 64 بت.
VPGATHERDD, VPGATHERDQ, VPGATHERQD,VPGATHERQQ يقوم بتجميع قيم الأعداد الصحيحة المكونة من 32 أو 64 بت باستخدام مؤشرات ومقياس 32 أو 64 بت.
VPMASKMOVD,VPMASKMOVQ يقرأ بشكل مشروط أي عدد من العناصر من وسيط ذاكرة متجه SIMD في سجل الوجهة، ويترك عناصر المتجه المتبقية غير مقروءة ويضبط العناصر المقابلة في سجل الوجهة على الصفر. بدلاً من ذلك، يكتب بشكل مشروط أي عدد من العناصر من وسيط ذاكرة متجه SIMD إلى وسيط ذاكرة متجه، ويترك العناصر المتبقية من وسيط الذاكرة دون تغيير.
VPERMPS,VPERMD قم بخلط عناصر المتجهات الثمانية ذات 32 بت من متغير مصدر واحد ذي 256 بت في متغير وجهة ذي 256 بت، مع وجود سجل أو متغير ذاكرة كمحدد.
VPERMPD,VPERMQ قم بخلط عناصر المتجهات الأربعة ذات 64 بت من متغير مصدر واحد ذي 256 بت في متغير وجهة ذي 256 بت، مع وجود سجل أو متغير ذاكرة كمحدد.
VPERM2I128 خلط (اثنين من) عناصر المتجهات الأربعة ذات 128 بت من متغيرين مصدرين بطول 256 بت في متغير وجهة بطول 256 بت، مع وجود ثابت فوري كمحدد.
VPBLENDD إصدار فوري مزدوج الكلمات لتعليمات PBLEND من SSE4 .
VPSLLVD,VPSLLVQ تحويل منطقي إلى اليسار. يسمح بالتحويلات المتغيرة حيث يتم تحويل كل عنصر وفقًا للمدخلات المعبأة.
VPSRLVD,VPSRLVQ تحويل منطقي إلى اليمين. يسمح بالتحويلات المتغيرة حيث يتم تحويل كل عنصر وفقًا للمدخلات المعبأة.
VPSRAVD التحويل إلى اليمين حسابيًا. يسمح بالتحويلات المتغيرة حيث يتم تحويل كل عنصر وفقًا للمدخلات المعبأة.

وحدات المعالجة المركزية مع AVX2

  • إنتل
    • معالجات Haswell (الربع الثاني من عام 2013) والإصدارات الأحدث، باستثناء الموديلات التي تحمل العلامة التجارية Celeron وPentium.
    • معالجات تحمل العلامة التجارية Celeron وPentium بدءًا من Tiger Lake (الربع الثالث من عام 2020) والإصدارات الأحدث. [10]
  • أيه إم دي
  • عبر :
    • نانو رباعي النواة
    • ايدن X4

ايه في اكس-512

AVX-512 عبارة عن امتدادات بطول 512 بت لإرشادات SIMD الخاصة بامتدادات المتجهات المتقدمة بطول 256 بت لهندسة مجموعة تعليمات x86 التي اقترحتها شركة Intel في يوليو 2013. [3]

تم ترميز تعليمات AVX-512 باستخدام بادئة EVEX الجديدة. وهي تسمح بـ 4 متغيرات، و8 سجلات تشغيل جديدة 64 بت ، ووضع ذاكرة قياسية مع بث تلقائي، وتحكم صريح في التقريب، ووضع عنونة ذاكرة الإزاحة المضغوطة . تمت زيادة عرض ملف السجل إلى 512 بت وزيادة إجمالي عدد السجلات إلى 32 (السجلات ZMM0-ZMM31) في وضع x86-64.

يتكون AVX-512 من مجموعات فرعية متعددة من التعليمات، وليس من المفترض أن تدعمها جميع المعالجات التي تنفذها. تتكون مجموعة التعليمات مما يلي:

  • AVX-512 Foundation (F) – يضيف العديد من التعليمات الجديدة ويوسع معظم تعليمات SSE-SSE4.1 وAVX/AVX2 ذات النقطة العائمة 32 بت و64 بت مع مخطط ترميز EVEX لدعم السجلات ذات 512 بت وأقنعة التشغيل وبث المعلمات والتقريب المضمن والتحكم في الاستثناءات
  • تعليمات اكتشاف التعارض AVX-512 (CD) - اكتشاف تعارض فعال للسماح بتحويل المزيد من الحلقات إلى متجهات، بدعم من Knights Landing [3]
  • AVX-512 تعليمات أسيّة ومتبادلة (ER) – عمليات أسيّة ومتبادلة مصممة للمساعدة في تنفيذ العمليات المتعالية، بدعم من Knights Landing [3]
  • تعليمات جلب البيانات المسبقة (PF) الخاصة بـ AVX-512 – إمكانيات جلب البيانات المسبقة الجديدة، بدعم من Knights Landing [3]
  • امتدادات طول المتجه AVX-512 (VL) – تمتد معظم عمليات AVX-512 لتعمل أيضًا على سجلات XMM (128 بت) وYMM (256 بت) (بما في ذلك XMM16-XMM31 وYMM16-YMM31 في وضع x86-64) [25]
  • تعليمات البايت والكلمة AVX-512 (BW) – تمتد AVX-512 لتغطية عمليات الأعداد الصحيحة ذات 8 بت و16 بت [25]
  • تعليمات AVX-512 للكلمات المزدوجة والرباعية (DQ) – عمليات الأعداد الصحيحة المحسنة ذات 32 بت و64 بت [25]
  • AVX-512 Integer Fused Multiply Add (IFMA) – إضافة الضرب المندمجة للأعداد الصحيحة المكونة من 512 بت. [26] : 746 
  • تضيف تعليمات معالجة بايتات المتجهات AVX-512 (VBMI) تعليمات تبديل بايتات المتجهات والتي لا توجد في AVX-512BW.
  • تعليمات الشبكة العصبية المتجهة AVX-512 دقة متغير الكلمات (4VNNIW) - تعليمات متجهة للتعلم العميق.
  • AVX-512 Fused Multiply Accumulation Packed Single Resolution (4FMAPS) – تعليمات متجهية للتعلم العميق.
  • VPOPCNTDQ – عدد البتات المضبوط على 1. [27]
  • VPCLMULQDQ – الضرب بدون حمل للكلمات الرباعية. [27]
  • تعليمات الشبكة العصبية المتجهة AVX-512 (VNNI) - تعليمات متجهة للتعلم العميق. [27]
  • تعليمات AVX-512 Galois Field New Instructions (GFNI) – تعليمات متجهية لحساب حقل Galois . [27]
  • تعليمات ناقل AES (VAES) AVX-512 – تعليمات ناقلة لترميز AES . [27]
  • تعليمات معالجة بايتات المتجهات AVX-512 2 (VBMI2) – تحميل البايت/الكلمة وتخزينها وتسلسلها باستخدام shift. [27]
  • خوارزميات بت AVX-512 (BITALG) - تعليمات معالجة بت البايت/الكلمة لتوسيع VPOPCNTDQ. [27]
  • AVX-512 Bfloat16 تعليمات النقطة العائمة (BF16) - تعليمات متجهية لتسريع الذكاء الاصطناعي.
  • تعليمات AVX-512 ذات النقطة العائمة ذات الدقة النصفية (FP16) - تعليمات متجهية للعمل على الأرقام العائمة والمركبة بدقة منخفضة.

تتطلب جميع التطبيقات امتداد النواة AVX-512F (AVX-512 Foundation)، على الرغم من أن جميع التطبيقات الحالية تدعم أيضًا CD (اكتشاف التعارض). كما تدعم جميع المعالجات المركزية التي تحتوي على AVX-512 أيضًا VL وDQ وBW. يتم حاليًا تنفيذ امتدادات مجموعة التعليمات ER وPF و4VNNIW و4FMAPS فقط في معالجات الحوسبة المساعدة من Intel.

تستخدم تعليمات SSE/AVX المحدثة في AVX-512F نفس الاختصارات المستخدمة في إصدارات AVX؛ ويمكنها العمل على سجلات ZMM ذات 512 بت، كما أنها ستدعم سجلات XMM/YMM ذات 128/256 بت (مع AVX-512VL) ومتغيرات الأعداد الصحيحة ذات البايت والكلمة والكلمة المزدوجة والكلمة الرباعية (مع AVX-512BW/DQ وVBMI). [26] : 23 

جدول توافق وحدة المعالجة المركزية AVX-512

مجموعة فرعية
ف
قرص مضغوط
ER
PF
4خرائط FMAPS
4فننيو
VPOPCNTDQ
ف ل
دي كيو
الوزن والوزن
الاتحاد الدولي لجمعيات إدارة الأعمال
مؤشر كتلة الجسم
في بي إم آي 2
بيتالج
فنني
بي اف 16
في بي سي إل إم يو إل كيو دي كيو
جي اف ان اي
فايس
نائب الرئيس 2 انترسيكت
FP16
إنتل نايتس لاندينج (2016) نعم نعم لا
إنتل نايتس ميل (2017) نعم لا
إنتل سكاي ليك-SP ، سكاي ليك-X (2017) لا لا نعم لا
إنتل كانون ليك (2018) نعم لا
Intel Cascade Lake-SP (2019) لا نعم لا
إنتل كوبر ليك (2020) لا نعم لا
إنتل آيس ليك (2019) نعم لا نعم لا
إنتل تايجر ليك (2020) نعم لا
إنتل روكيت ليك (2021) لا
إنتل ألدر ليك (2021) ملاحظة جزئية 1 ملاحظة جزئية 1
AMD Zen 4 (2022) نعم نعم لا
معالج Intel Sapphire Rapids (2023) لا نعم
AMD Zen 5 (2024) نعم لا

[28]

^ملاحظة 1  : لا تدعم Intel رسميًا عائلة تعليمات AVX-512 على معالجات Alder Lake الدقيقة. في أوائل عام 2022، بدأت Intel في تعطيل (دمج) AVX-512 في معالجات Alder Lake الدقيقة لمنع العملاء من تمكين AVX-512. [29] في وحدات المعالجة المركزية القديمة لعائلة Alder Lake مع بعض التركيبات القديمة من BIOS وتنقيحات التعليمات البرمجية الدقيقة، كان من الممكن تنفيذ تعليمات عائلة AVX-512 عند تعطيل جميع نوى الكفاءة التي لا تحتوي على السيليكون لـ AVX-512. [30] [31] [32]

المُجمِّعات التي تدعم AVX-512

  • Clang 3.9 والإصدارات الأحدث [33]
  • GCC 4.9 والإصدارات الأحدث [34]
  • ICC 15.0.1 والإصدارات الأحدث [35]
  • مُجمِّع Microsoft Visual Studio 2017 C++ [36]

المجمعات التي تدعم AVX-512

AVX-VNNI، AVX-IFMA

AVX-VNNI هو متغير مشفر بـ VEX من امتداد مجموعة التعليمات AVX512-VNNI . وعلى نحو مماثل، AVX-IFMA هو متغير مشفر بـ VEX من AVX512-IFMA . توفر هذه الامتدادات نفس مجموعات العمليات مثل نظيراتها AVX-512، ولكنها تقتصر على متجهات 256 بت ولا تدعم أي ميزات إضافية لترميز EVEX ، مثل البث أو سجلات opmask أو الوصول إلى أكثر من 16 سجل متجه. تسمح هذه الامتدادات بدعم عمليات VNNI وIFMA حتى عندما لا يتم تنفيذ دعم AVX-512 الكامل في المعالج.

وحدات المعالجة المركزية مع AVX-VNNI

وحدات المعالجة المركزية مع AVX-IFMA

ايه في اكس 10

تم الإعلان عن AVX10 في يوليو 2023، [38] وهي مجموعة تعليمات AVX جديدة "متقاربة". وهي تعالج العديد من مشكلات AVX-512، وخاصة أنها مقسمة إلى أجزاء كثيرة جدًا [39] (20 علامة مميزة) وأنها تجعل دعم المتجهات ذات 512 بت إلزاميًا. تقدم AVX10 واجهة CPUID مبسطة لاختبار دعم التعليمات، وتتكون من رقم إصدار AVX10 (يشير إلى مجموعة التعليمات المدعومة، مع كون الإصدارات الأحدث دائمًا مجموعة فرعية من إصدار سابق) وطول المتجه الأقصى المتاح (256 أو 512 بت). [40] يتم استخدام تدوين مشترك للإشارة إلى الإصدار وطول المتجه: على سبيل المثال، يشير AVX10.2/256 إلى أن وحدة المعالجة المركزية قادرة على الإصدار الثاني من AVX10 بعرض متجه أقصى يبلغ 256 بت. [41]

لن تقدم النسخة الأولى "المبكرة" من AVX10، والمشار إليها باسم AVX10.1، أي تعليمات أو ميزات ترميز تتجاوز ما هو موجود بالفعل في AVX-512 (على وجه التحديد، في Intel Sapphire Rapids : AVX-512F، CD، VL، DQ، BW، IFMA، VBMI، VBMI2، BITALG، VNNI، GFNI، ​​VPOPCNTDQ، VPCLMULQDQ، VAES، BF16، FP16). تقدم النسخة الثانية "المتميزة بالكامل"، AVX10.2، ميزات جديدة مثل التقريب المضمن YMM وقمع جميع الاستثناءات. بالنسبة لوحدات المعالجة المركزية التي تدعم AVX10 ومتجهات 512 بت، ستظل جميع علامات ميزات AVX-512 القديمة مضبوطة لتسهيل استمرار التطبيقات التي تدعم AVX-512 في استخدام تعليمات AVX-512. [41]

تم إصدار AVX10.1/512 لأول مرة في Intel Granite Rapids [41] (الربع الثالث من عام 2024) وسيتوفر AVX10.2/512 في Diamond Rapids. [42]

أي بي إكس

APX هو امتداد جديد. لا يركز على الحوسبة المتجهة، ولكنه يوفر امتدادات شبيهة بـ RISC لهندسة x86-64 من خلال مضاعفة عدد السجلات العامة إلى 32 وتقديم تنسيقات تعليمات ثلاثية المتغيرات. يتأثر AVX بشكل غير مباشر فقط حيث يقدم APX متغيرات موسعة. [43] [44]

التطبيقات

  • مناسب للحسابات المكثفة ذات الفاصلة العائمة في التطبيقات المتعددة الوسائط والعلمية والمالية (AVX2 يضيف الدعم لعمليات الأعداد الصحيحة ).
  • يزيد من التوازي والإنتاجية في حسابات SIMD ذات النقطة العائمة .
  • يقلل من تحميل السجل بسبب التعليمات غير المدمرة.
  • تحسين أداء برنامج Linux RAID (يتطلب AVX2، AVX غير كافٍ) [45]

برمجة

  • الوسائط المتعددة
    • يستخدم Blender AVX وAVX2 وAVX-512 في محرك عرض Cycles. [49]
    • يمكن لمُشفرات الفيديو x264 و x265 و VTM استخدام AVX2 أو AVX-512 لتسريع عملية التشفير.
    • يتطلب برنامج Massive X softsynth من Native Instruments برنامج AVX. [50]
    • يمكن لفك تشفير dav1d AV1 استخدام AVX2 وAVX-512 على وحدات المعالجة المركزية المدعومة. [51] [52]
    • يمكن لجهاز ترميز SVT-AV1 AV1 استخدام AVX2 وAVX-512 لتسريع ترميز الفيديو. [53]
    • libvpx هو تنفيذ مرجعي مفتوح المصدر لبرنامج ترميز/فك ترميز VP8/VP9، ويستخدم AVX2 أو AVX-512 عند توفره.
    • يستخدم libjpeg-turbo تقنية AVX2 لتسريع معالجة الصور.
  • العلوم والهندسة وغيرها
    • يستخدم Esri ArcGIS Data Store برنامج AVX2 لتخزين الرسم البياني. [54]
    • بدأ برنامج Prime95 /MPrime، المستخدم في GIMPS ، في استخدام تعليمات AVX منذ الإصدار 27.1، وAVX2 منذ الإصدار 28.6، وAVX-512 منذ الإصدار 29.1. [55]
    • يتوفر لدى dnetc ، البرنامج الذي تستخدمه distribute.net ، نواة AVX2 لمشروع RC5 الخاص بها وسوف تصدر قريبًا نواة لمشروع OGR-28 الخاص بها.
    • يستخدم Einstein@Home تقنية AVX في بعض تطبيقاته الموزعة التي تبحث عن الموجات الثقالية . [56]
    • يستخدم Folding@home AVX على نوى الحساب التي تم تنفيذها باستخدام مكتبة GROMACS .
    • يستخدم Helios تسريع الأجهزة AVX وAVX2 على أجهزة x86 64 بت. [57]
    • تستخدم Horizon: Zero Dawn محرك AVX في محرك اللعبة Decima.
    • PCSX2 و RPCS3 ، هما محاكيان مفتوحا المصدر لـ PS2 و PS3 على التوالي، ويستخدمان تعليمات AVX2 و AVX-512 لمحاكاة الألعاب.
    • واجهة جهاز الشبكة ، وهو بروتوكول فيديو/صوت IP تم تطويره بواسطة NewTek لإنتاج البث المباشر، يستخدم AVX وAVX2 لتحسين الأداء.
    • يتطلب TensorFlow منذ الإصدار 1.6 وإصدارات tensorflow الأعلى وحدة معالجة مركزية تدعم AVX على الأقل. [58]
    • تستخدم العديد من أجهزة تعدين العملات المشفرة المعتمدة على وحدة المعالجة المركزية (مثل cpuminer الخاص بـ pooler لعملتي Bitcoin و Litecoin ) AVX وAVX2 للعديد من الروتينات المتعلقة بالتشفير، بما في ذلك SHA-256 و scrypt .
    • يمكن لـ FFTW الاستفادة من AVX وAVX2 وAVX-512 عند توفرها.
    • LLVMpipe، وهو برنامج عرض OpenGL في Mesa يستخدم البنية الأساسية لـ Gallium و LLVM ، يستخدم AVX2 عند توفره.
    • يستخدم glibc AVX2 (مع FMA ) وAVX-512 للتنفيذ الأمثل للعديد من الوظائف الرياضية (على سبيل المثال expf،،،،، sinf) والوظائف النصية ( powf،،، إلخ ) في libc .atanfatan2fmemmovememcpy
    • POCL، وهي لغة حوسبة محمولة توفر تنفيذًا لـ OpenCL ، وتستخدم AVX وAVX2 وAVX-512 عندما يكون ذلك ممكنًا.
    • يمكن لـ .NET و .NET Framework الاستفادة من AVX وAVX2 من خلال مساحة الأسماء العامة System.Numerics.Vectors.
    • يمكن لـ .NET Core ، بدءًا من الإصدار 2.1 وعلى نطاق أوسع بعد الإصدار 3.0، استخدام جميع AVX وAVX2 الجوهرية مباشرةً من خلال System.Runtime.Intrinsics.X86مساحة الأسماء.
    • يستخدم EmEditor 19.0 والإصدارات الأحدث AVX2 لتسريع المعالجة. [59]
    • يستخدم Microsoft Teams تعليمات AVX2 لإنشاء خلفية ضبابية أو مخصصة خلف المشاركين في محادثة الفيديو، [60] وللقمع الضوضاء في الخلفية. [61]
    • تعمل إصدارات Pale Moon المخصصة لنظام التشغيل Windows على زيادة سرعة التصفح بشكل كبير بسبب استخدام AVX2.
    • تستخدم simdjson، وهي مكتبة تحليل JSON ، AVX2 وAVX-512 لتحقيق سرعة فك تشفير محسنة. [62] [63]
    • x86-simd-sort، وهي مكتبة تحتوي على خوارزميات فرز لأنواع البيانات الرقمية ذات 16 و32 و64 بت، تستخدم AVX2 وAVX-512. تُستخدم المكتبة في NumPy و OpenJDK لتسريع خوارزميات الفرز. [64]
    • zlib-ng، هو إصدار محسّن من zlib ، ويحتوي على إصدارات AVX2 وAVX-512 لبعض خوارزميات ضغط البيانات.
    • يستخدم محرك Tesseract OCR AVX وAVX2 وAVX-512 لتسريع التعرف على الأحرف. [65]

تخفيض سرعة التشغيل

نظرًا لأن تعليمات AVX أوسع، فإنها تستهلك المزيد من الطاقة وتولد المزيد من الحرارة. قد يؤثر تنفيذ تعليمات AVX الثقيلة بترددات ساعة عالية لوحدة المعالجة المركزية على استقرار وحدة المعالجة المركزية بسبب انخفاض الجهد المفرط أثناء فترات الحمل العابرة. تحتوي بعض معالجات Intel على أحكام لتقليل حد تردد Turbo Boost عند تنفيذ مثل هذه التعليمات. يحدث هذا التخفيض حتى إذا لم تصل وحدة المعالجة المركزية إلى حدودها الحرارية واستهلاك الطاقة. في Skylake ومشتقاتها، يتم تقسيم الخنق إلى ثلاثة مستويات: [66] [67]

  • L0 (100%): حد تعزيز التوربو الطبيعي.
  • L1 (~85%): حد "زيادة AVX". يتم تشغيله بشكل خفيف بواسطة تعليمات "ثقيلة" (وحدة الفاصلة العائمة: حساب الفاصلة العائمة وضرب الأعداد الصحيحة) بطول 256 بت. يتم تشغيله بشكل قوي بواسطة تعليمات "خفيفة" (كل التعليمات الأخرى) بطول 512 بت.
  • L2 (~60%): [ مشكوك فيهناقش ] حد "زيادة AVX-512". يتم تشغيله بشكل ناعم من خلال تعليمات ثقيلة بطول 512 بت.

يمكن أن يكون انتقال التردد ناعمًا أو صعبًا. يعني الانتقال الصعب أن التردد ينخفض ​​بمجرد اكتشاف مثل هذه التعليمات؛ يعني الانتقال الناعم أن التردد ينخفض ​​فقط بعد الوصول إلى عدد حدي من التعليمات المطابقة. الحد هو لكل خيط. [66]

في بحيرة الجليد ، لا يزال هناك مستويين فقط: [68]

  • L0 (100%): حد تعزيز التوربو الطبيعي.
  • L1 (~97%): يتم تشغيله بواسطة أي تعليمات 512 بت، ولكن فقط عندما يكون التعزيز أحادي النواة نشطًا؛ لا يتم تشغيله عند تحميل أنوية متعددة.

لا تعمل معالجات Rocket Lake على خفض التردد عند تنفيذ أي نوع من تعليمات المتجهات بغض النظر عن حجم المتجه. [68] ومع ذلك، لا يزال من الممكن أن يحدث خفض تردد التشغيل بسبب أسباب أخرى، مثل الوصول إلى حدود الحرارة والطاقة.

تعني عملية خفض سرعة المعالج أن استخدام AVX في حمل عمل مختلط مع معالج Intel قد يؤدي إلى عقوبة تردد. يساعد تجنب استخدام التعليمات العريضة والثقيلة في تقليل التأثير في هذه الحالات. يسمح AVX-512VL باستخدام متغيرات 256 بت أو 128 بت في تعليمات AVX-512، مما يجعله إعدادًا افتراضيًا معقولًا للأحمال المختلطة. [69]

في المتغيرات المدعومة والمفتوحة للمعالجات التي تعمل على خفض تردد التشغيل، تكون إزاحات خفض نسبة التردد (والتي تسمى عادةً إزاحات AVX وAVX-512) قابلة للتعديل ويمكن إيقاف تشغيلها بالكامل (تعيينها على 0x) عبر أداة Intel's Overclocking / Tuning أو في BIOS إذا كانت مدعومة هناك. [70]

انظر أيضا

مراجع

  1. ^ كانتر، ديفيد (25 سبتمبر 2010). "Intel's Sandy Bridge Microarchitecture". www.realworldtech.com . تم الاسترجاع في 17 فبراير 2018 .
  2. ^ Hruska, Joel (24 أكتوبر 2011). "تحليل البلدوزر: لماذا شريحة AMD مخيبة للآمال للغاية - الصفحة 4 من 5 - ExtremeTech". ExtremeTech . تم الاسترجاع في 17 فبراير 2018 .
  3. ^ abcde James Reinders (23 يوليو 2013)، تعليمات AVX-512، Intel ، تم الاسترجاع في 20 أغسطس 2013
  4. ^ "مواصفات المنتج لمعالج Intel Xeon Phi 7210 (16GB, 1.30 GHz, 64 core)". Intel ARK (مواصفات المنتج) . تم الاسترجاع في 16 مارس 2018 .
  5. ^ "14.9". دليل مطوري برامج Intel 64 وIA-32 Architectures المجلد 1: الهندسة المعمارية الأساسية (PDF) (-051US ed.). شركة Intel. ص. 349. تم الاسترجاع في 23 أغسطس 2014. تعمل وسيطات الذاكرة لمعظم التعليمات ذات البادئة VEX بشكل طبيعي دون التسبب في #GP(0) عند أي محاذاة لحبيبات البايت (على عكس تعليمات SSE القديمة) .
  6. ^ "خيارات i386 وx86-64 - استخدام مجموعة GNU Compiler Collection (GCC)" . تم الاسترجاع في 9 فبراير 2014 .
  7. ^ "الهندسة المعمارية الدقيقة لوحدات المعالجة المركزية من إنتاج Intel وAMD وVIA: دليل التحسين لمبرمجي التجميع وصانعي المترجمات" (PDF) . تم الاسترجاع في 17 أكتوبر 2016 .
  8. ^ "برمجة الشطرنج AVX2". مؤرشف من الأصل في 10 يوليو 2017. اطلع عليه بتاريخ 17 أكتوبر 2016 .
  9. ^ "Intel تقدم نظرة سريعة على Nehalem و Larrabee". ExtremeTech. 17 مارس 2008.
  10. ^ "مواصفات منتج معالج Intel® Celeron® 6305 (ذاكرة تخزين مؤقتة 4 ميجا بايت، 1.80 جيجاهرتز، مع وحدة معالجة مركزية)". ark.intel.com . تم الاسترجاع في 10 نوفمبر 2020 .
  11. ^ بتلر، مايكل؛ بارنز، ليزلي؛ داس سارما، ديبجيت؛ جيليناس، بوب (مارس-أبريل 2011). "الجرافة: نهج لأداء الحوسبة متعددة الخيوط" (PDF) . IEEE Micro . 31 (2): 6– 15. doi :10.1109/MM.2011.23. S2CID  28236214. مؤرشف من الأصل (PDF) في 19 مايو 2024.
  12. ^ "ما الجديد - RAD Studio". docwiki.embarcadero.com . تم الاسترجاع في 17 سبتمبر 2021 .
  13. ^ "GAS Changes". sourceware.org . تم الاسترجاع في 3 مايو 2024 .
  14. ^ ab "NASM - The Netwide Assembler, Appendix C: NASM Version History". nasm.us . تم الاسترجاع في 3 مايو 2024 .
  15. ^ "ملاحظات إصدار YASM 0.7.0". yasm.tortall.net .
  16. ^ إضافة دعم لحالات FPU الممتدة على amd64، لكل من ABIs الأصلية 64 بت و 32 بت، svnweb.freebsd.org، 21 يناير 2012 ، تم الاسترجاع في 22 يناير 2012
  17. ^ "إعلان عن إصدار FreeBSD 9.1" . تم الاسترجاع في 20 مايو 2013 .
  18. ^ x86: إضافة دعم نواة لينكس لحالة YMM ، تم الاسترجاع في 13 يوليو 2009
  19. ^ Linux 2.6.30 - Linux Kernel Newbies ، تم الاسترجاع في 13 يوليو 2009
  20. ^ تويتر ، تم استرجاعه في 23 يونيو 2010
  21. ^ "يحقق المطورون تقدمًا في تشغيل macOS Ventura على أجهزة Mac غير المدعومة والتي مضى عليها عقد من الزمن". 23 أغسطس 2022.
  22. ^ إضافة دعم لحفظ/استعادة حالة FPU باستخدام XSAVE/XRSTOR. ، تم الاسترجاع في 25 مارس 2015
  23. ^ دعم النقطة العائمة لبرامج التشغيل 64 بت ، تم الاسترجاع في 6 ديسمبر 2009
  24. ^ تعليمات جديدة لـ Haswell متاحة الآن، Software.intel.com ، تم الاسترجاع في 17 يناير 2012
  25. ^ abc James Reinders (17 يوليو 2014). "تعليمات إضافية لـ AVX-512". Intel . تم الاسترجاع في 3 أغسطس 2014 .
  26. ^ "مرجع برمجة ملحقات مجموعة تعليمات هندسة Intel" (PDF) . Intel . تم الاسترجاع في 29 يناير 2014 .
  27. ^ abcdefg "Intel® Architecture Instruction Set Extensions and Future Features Programming Reference". Intel . تم الاسترجاع في 16 أكتوبر 2017 .
  28. ^ "Intel® Software Development Emulator | Intel® Software". software.intel.com . تم الاسترجاع في 11 يونيو 2016 .
  29. ^ ألكورن، بول (2 مارس 2022). "إنتل تدمر دعم AVX-512 في معالجات Alder Lake، وتدمجه الآن في السيليكون". تومز هاردوير . تم الاسترجاع في 7 مارس 2022 .
  30. ^ Cutress, Ian; Frumusanu, Andrei (19 أغسطس 2021). "Intel Architecture Day 2021: Alder Lake, Golden Cove, and Gracemont Detailed". AnandTech . تم الاسترجاع في 25 أغسطس 2021 .
  31. ^ ألكورن، بول (19 أغسطس 2021). "يوم هندسة إنتل 2021: رقائق ألدر ليك، وغولدن كوف، ونوى جريسمونت". تومز هاردوير . تم الاسترجاع في 21 أغسطس 2021 .
  32. ^ Cutress, Ian; Frumusanu, Andrei. "مراجعة Intel 12th Gen Core i9-12900K: الأداء الهجين يجلب التعقيد الهجين". www.anandtech.com . تم الاسترجاع في 5 نوفمبر 2021 .
  33. ^ "ملاحظات إصدار LLVM 3.9 — توثيق LLVM 3.9". releases.llvm.org . تم الاسترجاع في 3 أبريل 2017 .
  34. ^ "GCC 4.9 Release Series — Changes, New Features, and Fixes – GNU Project - Free Software Foundation (FSF)". gcc.gnu.org . تم الاسترجاع في 3 أبريل 2017 .
  35. ^ "ملاحظات إصدار Intel® Parallel Studio XE 2015 Composer Edition C++ | Intel® Software". software.intel.com . تم الاسترجاع في 3 أبريل 2017 .
  36. ^ "Microsoft Visual Studio 2017 يدعم Intel® AVX-512". 11 يوليو 2017.
  37. ^ "تم نشر دعم AMD Zen 5 Compiler لـ GCC - تأكيد ميزات AVX الجديدة والمزيد". www.phoronix.com . تم الاسترجاع في 10 فبراير 2024 .
  38. ^ بونشور، جافين (25 يوليو 2023). "Intel تكشف عن مجموعات التعليمات AVX10 وAPX: توحيد AVX-512 للهندسة المعمارية الهجينة". AnandTech . تم الاسترجاع في 21 أغسطس 2024 .
  39. ^ مان، توبياس (15 أغسطس 2023). "إنتل AVX10 يعد بفوائد AVX-512 دون أي مشاكل". www.theregister.com . تم الاسترجاع في 20 أغسطس 2023 .
  40. ^ "المتجه المتقارب ISA: ورقة تقنية حول Intel® Advanced Vector Extensions 10". Intel .
  41. ^ abc "مواصفات بنية Intel® Advanced Vector Extensions 10 (Intel® AVX10)". Intel .
  42. ^ لارابيل، مايكل (23 أكتوبر 2024). "إنتل تجهز مُجمِّع GCC لميزات AMX وISA الجديدة قبل Diamond Rapids". Phoronix . تم الاسترجاع في 23 أكتوبر 2024 .
  43. ^ "مواصفات بنية Intel® Advanced Performance Extensions (Intel® APX)". Intel.
  44. ^ روبنسون، دان (26 يوليو 2023). "إنتل تكشف عن تعليمات x86 والمتجهات للرقائق المستقبلية". www.theregister.com . تم الاسترجاع في 20 أغسطس 2023 .
  45. ^ "Linux RAID". LWN. 17 فبراير 2013. مؤرشف من الأصل في 15 أبريل 2013.
  46. ^ "مقارنة بين تنفيذات مكتبة التشفير BSAFE". 25 يوليو 2023.
  47. ^ "تحسين أداء OpenSSL". 26 مايو 2015. تم الاسترجاع في 28 فبراير 2017 .
  48. ^ "ملاحظات إصدار OpenSSL 3.0.0". GitHub . 7 سبتمبر 2021.
  49. ^ جاروش، ميلانو؛ ستراكوش، بيتر؛ Říha، لوبومير (28 مايو 2022). "العرض في الخلاط باستخدام AVX-512 Vectorization" (PDF) . مجموعة مستخدمي إنتل فائق الأداء . الجامعة التقنية في أوسترافا . تم الاسترجاع في 28 أكتوبر 2022 .
  50. ^ "MASSIVE X يتطلب معالجًا متوافقًا مع AVX". Native Instruments . تم الاسترجاع في 29 نوفمبر 2019 .
  51. ^ "dav1d: أداء وإكمال الإصدار الأول". 21 نوفمبر 2018. تم الاسترجاع في 22 نوفمبر 2018 .
  52. ^ "ملاحظات إصدار dav1d 0.6.0". 6 مارس 2020.
  53. ^ "ملاحظات إصدار SVT-AV1 0.7.0". 26 سبتمبر 2019.
  54. ^ "متطلبات نظام ArcGIS Data Store 11.2". ArcGIS Enterprise . تم الاسترجاع في 24 يناير 2024 .
  55. ^ "ملاحظات إصدار Prime95" . تم الاسترجاع في 10 يوليو 2022 .
  56. ^ "تطبيقات Einstein@Home".
  57. ^ "الأسئلة الشائعة، هيليوس". هيليوس . تم الاسترجاع في 5 يوليو 2021 .
  58. ^ "Tensorflow 1.6". GitHub .
  59. ^ جديد في الإصدار 19.0 – EmEditor (محرر النصوص)
  60. ^ "متطلبات الأجهزة لـ Microsoft Teams". Microsoft . تم الاسترجاع في 17 أبريل 2020 .
  61. ^ "تقليل الضوضاء الخلفية في اجتماعات Teams". دعم Microsoft . تم الاسترجاع في 5 يناير 2021 .
  62. ^ Langdale, Geoff; Lemire, Daniel (2019). "تحليل غيغابايت من JSON في الثانية". مجلة VLDB . 28 (6): 941– 960. arXiv : 1902.08318 . doi :10.1007/s00778-019-00578-5. S2CID  67856679.
  63. ^ "ملاحظات إصدار simdjson 2.1.0". GitHub . 30 يونيو 2022.
  64. ^ لارابيل، مايكل (6 أكتوبر 2023). "دمج OpenJDK لـ Intel's x86-simd-sort لتسريع فرز البيانات بمقدار 7 إلى 15 ضعفًا". Phoronix .
  65. ^ لارابيل، مايكل (7 يوليو 2022). "محرك Tesseract OCR 5.2 يجد النجاح مع AVX-512F". Phoronix .
  66. ^ بواسطة Lemire, Daniel (7 سبتمبر 2018). "AVX-512: متى وكيف تستخدم هذه التعليمات الجديدة". مدونة Daniel Lemire .
  67. ^ BeeOnRope. "تعليمات SIMD لخفض تردد وحدة المعالجة المركزية". Stack Overflow .
  68. ^ ab Downs, Travis (19 أغسطس 2020). "خفض سرعة معالج Ice Lake AVX-512". مدونة Performance Matters .
  69. ^ "x86 - أداء AVX 512 مقابل AVX2 لحلقات معالجة المصفوفات البسيطة". Stack Overflow .
  70. ^ "دليل Intel® Extreme Tuning Utility (Intel® XTU) لرفع تردد التشغيل: الضبط المتقدم". Intel . تم الاسترجاع في 18 يوليو 2021. انظر الصورة في القسم المرتبط، حيث تم ضبط نسبة AVX2 على 0.
  • دليل Intel Intrinsics
  • دليل مرجعي للغة التجميع x86
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=إضافات_ناقل_متقدمة&oldid=1265271642#إضافات_ناقل_متقدمة_2"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate