سؤال

أريد المدخلات الخاصة بك والتي دول مجلس التعاون الخليجي مترجم أعلام لاستخدامها عند الأمثل Xeons?

ليس هناك 'xeon' في mtune أو آذار / مارس حتى وهو الأقرب المباراة ؟

هل كانت مفيدة؟

المحلول

Xeon عبارة عن مصطلح تسويق، على هذا النحو، يغطي قائمة طويلة من المعالجات مع مختلفها المختلف للغاية.

إذا كنت تقصد معالجات Nehalem الأحدث (الأساسية I7) بعد ذلك هذه الشريحة يشير إلى أنه اعتبارا من 4.3.1 دول مجلس التعاون الخليجي يجب استخدامها - March = Generic (على الرغم من أن اختبار التطبيق الخاص بك قد تجد إعدادات أخرى تتفوق على هذا). وأضافت السلسلة 4.3 أيضا -MSS4.2 إذا كنت ترغب في تحسين هذا الجانب من الرياضيات FP.

هنا بعض النقاش مقارنة بالضبط في مترجم Intel مقابل بعض أعلام دول مجلس التعاون الخليجي.

نصائح أخرى

تحديث لمجلس التعاون الخليجي / Xeon الأخيرة.

  • ساندي جسر مقره زيون (سلسلة E3-12XX، سلسلة E5-14XX / 24XX، سلسلة E5-16XX / 26XX / 46XX).

    -march=corei7-avx ل GCC <4.9.0 أو -march=sandybridge ل GCC> = 4.9.0.

    هذا يتيح دعم المتطور ملحقات وكذلك AES و PCLMUL. مجموعات التعليمات للجسر الرملية. فيما يلي نظرة عامة من صفحة خيارات GCC I386 / X86_64:

    وحدة المعالجة المركزية INTEL CORE I7 مع امتدادات 64 بت، MMX، SSE، SSE2، SSE3، SSSE3، SSE4.1، SSE4.2، AES، AES و PCLMUL SET دعم دعم.

  • Ivy-Bridge- زيون (E3-12XX V2-Series، E5-14XX V2 / 24XX V2-Series، E5-16XX V2 / 26XX V2 / 46XX V2-Series، E7-28XX V2 / 48XX V2 / 88XX V2 / 88XX V2-Series).

    -march=core-avx-i ل GCC <4.9.0 أو -march=ivybridge ل GCC> = 4.9.0.

    ويشمل ذلك خيارات جسر ساندي (Corei7-AVX) مع إخراج أيضا في دعم مجموعات تعليمات اللبلاب الجديدة: FSGSBase، rdrnd. و F16C.. وبعد من صفحة خيارات دول مجلس التعاون الخليجي:

    وحدة المعالجة المركزية Intel Core مع ملحقات 64 بت، MMX، SSE، SSE2، SSE3، SSSE3، SSE4.1، SSE4.2، AES، AES، PCLMUL، FSGSBASE، دعم مجموعة تعليمات RDRND و F16C6.

  • haswell مقرها زيون (e3-1xxx v3-series، e5-1xxx v3 series، e5-2xxx v3-series).

    -march=core-avx2 ل GCC 4.8.2 / 4.8.3 أو -march=haswell ل GCC> = 4.9.0.

    من صفحة خيارات دول مجلس التعاون الخليجي:

    Intel Haswell CPU مع امتدادات 64 بت، Movbe، MMX، SSE، SSE2، SSES3، SSE4.1، SSE4.2، POPCNT، AVX، AVX2، AES، PCLMUL، FSGSBASE، RDRND، FMA، BMI، BMI2 و F16C دعم مجموعة التعليمات.

  • broadwell مقرها زيون (سلسلة E3-12XX V4، سلسلة E5-16XX V4)

    -march=core-avx2 ل GCC 4.8.x أو -march=broadwell ل GCC> = 4.9.0.

    من صفحة خيارات دول مجلس التعاون الخليجي:

    وحدة المعالجة المركزية Intel Broadwell مع 64 بت ملحقات، Movbe، MMX، SSE، SSE2، SSE3، SSES3، SSE4.1، SSE4.2، POPCNT، AVX، AVX2، AES، PCLMUL، FSGSBASE، RDRND، FMA، BMI، BMI2، F16C ودعم مجموعة تعليمات RDSED و ADCX و Prepetchw.

  • سكايليكا مقرها زيون (سلسلة E3-12XX V5) و kabylake مقصورة زيون (سلسلة E3-12XX V6):

    -march=core-avx2 ل GCC 4.8.x أو -march=skylake ل GCC 4.9.x أو -march=skylake-avx512 ل GCC> = 5.x

    AVX-512. هي ملحقات 512 بت إلى تعليمات SIMD Advanced Advanced 256 بت.

    من صفحة خيارات دول مجلس التعاون الخليجي:

    وحدة المعالجة المركزية لخادم Intel Skylake مع ملحقات 64 بت، Movbe، MMX، SSE، SSE2، SSES3، SSE4.1، SSE4.2، POPCNT، PKU، AVX، AES، AES، PCLMUL، FSGSBase، RDRND، FMA، BMI، BMI2، F16C، RDSEED، ADCX، PERECHW، CLFLUSHOPT، XSAVEC، XSAVES، AVX512F، AVX512VL، AVX512BW، AVX512DQ، دعم تعليمات تعليمات AVX512CD.

لمعرفة ما سيفعله المحول البرمجي مع -march=native الخيار يمكنك استخدامه:

gcc -march=native -Q --help=target

الإصدارات الأحدث من دول مجلس التعاون الخليجي -March = الأصلية الذي يتيح للمترجم تحدد تلقائيا الأمثل -march علم.

مارس=الأم موافقة على الجهاز الخاص بك ولكن سوء الثنائية النشرات.

-مارس=منnocona اقترح atom 330 (p4/64bit) -مارس=core2 هو core2

أفترض أنك سوف 64bit.

ما يلي سيظهر لك جميع الأعلام يدعم المعالج الخاص بك:

cat /proc/cpuinfo | grep flags | head -1

أفضل طريقة لتحديد التحسينات التي توجد بها PROCCOSOR الخاصة بك على وجه التحديد ليس فقط على النموذج، ولكن الإصدار من دول مجلس التعاون الخليجي لديك على النظام الذي تتجمع فيه. تأكد من التحقق من نسخة من دول مجلس التعاون الخليجي لديك، والرجوع إليها في وثائقها:

https://gcc.gn.org/onlinedocs.

أي أن لدي Slackware 14.1 X64، والتي لديها دول مجلس التعاون الخليجي 4.8.2، لذلك سأذهب هنا:

https://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/i386-and-x86-64-options.html#386-and-x86-64-ptions.

لقد كانت تجربتي مع وحدة المعالجة المركزية Intel و X86_64 أنه في كل مرة حاولت فيها إخبار GCC بالتحسين لنوع وحدة المعالجة المركزية المحددة، أصبح الأداء أسوأ من مع -march = Generic، ليس أفضل. YMMV، بالطبع، لكنني كنت ألعب مع أشياء مثل هذه الكثير من الأوقات على مر السنين، وكانت دائما هكذا.

Otoh، على i386 قد يكون من المنطقي استهداف i686 على الأقل أو، إذا كنت تريد SSE Math، على الأقل بنتيوم 4.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top