المواصفات القياسية SPEC 2000.SPEC 2000 spec2k. To تشغيل ثنائيات 2000 سبيك على gem5 يمكنك استخدام gem5 محددة cpu2000 بيثون package. cpu2000 حزمة. وتحدد حزمة بيثون cpu2000 فئات عبء العمل التي تمثل مختلف المعايير من مجموعة وحدة المعالجة المركزية 2000 سبيك هذه تأخذ عيسى، تعمل النظام، ومجموعة المدخلات المطلوبة كمعلمات المثال التالي هو من. هذا يخلق عبء العمل الذي يمثل غزيب سجل المواصفات القياسية 2000 تجميعها ألفا tru64 مع مجموعة الإدخال المخفف وتعيينها. تحميلات العمل التي تم إنشاؤها من هذه الحزمة تتوقع العثور على الثنائيات والمدخلات الخاصة بهم الملفات في الدلائل التالية، على التوالي. سيسكال المحاكاة وضع الأوامر القيادة. إذا كنت ترغب في تشغيل SPEC2K باستخدام وضع سيسكال-مضاهاة، مرجع جيد لخيارات سطر الأوامر الصحيحة يمكن العثور عليها هنا. لاحظ هذه الأمثلة سطر الأوامر أر لخفض مجموعات الإدخال المصغرة. إذا كنت غير قادر على استخدام حزمة cpu2000، لا يزال بإمكانك إعداد وتشغيل الثنائيات كما تفعل عادة لتشغيل ثابت إيفا ألفا ثنائي ثنائي مع يمكنك استخدام ما يلي سطر الأوامر. سبيك 2006 spec2k6.We بحاجة إلى الحصول على بت من المعلومات من SPEC2006benchmarks وارتكب بعض التعليمات البرمجية المذكورة هناك. الاستوديو اليدوي. وقد وضعت هذه الوثيقة في المجال العام. بينستالر حزم تطبيق بايثون وجميع تبعياتها في واحد حزمة يمكن للمستخدم تشغيل التطبيق تعبئتها دون تثبيت مترجم بايثون أو أي وحدات بينستالر يدعم بايثون 2 7 وبيثون 3 3، وبشكل صحيح حزم حزم بيثون الرئيسية مثل نومبي، بيكت، دجانغو، وبيثون، وغيرها. يتم اختبار بيينستالر ضد ويندوز و ماك أوس X و لينوكس ومع ذلك، فإنه ليس عبر مترجم لجعل التطبيق ويندوز تقوم بتشغيل بينستالر في ويندوز لجعل التطبيق لينكس تشغيله في لينكس، الخ وقد تم استخدام بينستالر سوك بشكل صحيح مع إيكس، سولاريس، و فريبسد، ولكن لم يتم اختبار ضد them. What s جديد هذا الإصدار. ريليس 3 0 هو إعادة كتابة الرئيسية التي تضيف بيثون 3 الدعم، وتحسين جودة رمز من خلال استخدام الاختبار الآلي، والقرارات لكثير من القضايا القديمة وتشمل التغييرات الوظيفية إزالة الدعم ل بيثون قبل 2 7، وأسهل طريقة لتشمل ملفات البيانات في حزمة إضافة الملفات إلى الحزمة، والتغييرات على الخطاف أبي فهم بينستالر خطافات. الأدلة والجداول. غك 4 8 الإصدار سلسلة التغييرات ، الميزات الجديدة، والإصلاحات. يستخدم غك الآن C كلغة التنفيذ وهذا يعني أن لبناء دول مجلس التعاون الخليجي من المصادر، وسوف تحتاج إلى مترجم C أن يفهم C 2003 لمزيد من التفاصيل حول الأساس المنطقي والتغيرات المحددة، يرجى الرجوع إلى تحويل C صفحة لتمكين إطار الجرافيت من تحسينات الحلقة تحتاج الآن كلوغ الإصدار 0 18 0 و إيسل الإصدار 0 11 1 يمكن الحصول على كل من دليل البنية التحتية لدول مجلس التعاون الخليجي دليل التثبيت يحتوي على مزيد من المعلومات حول ريكيرم يستخدم مجلس التعاون الخليجي الآن تحليلا أكثر عدوانية لاستخلاص حد أعلى لعدد مرات تكرار الحلقات باستخدام قيود تفرضها معايير اللغة قد يؤدي هذا إلى عدم مطابقة البرامج لم تعد تعمل كما هو متوقع مثل سبيك بو 2006 464 h264ref وخيار جديد، تمت إضافة - fno العدوانية-التحسينات حلقة لتعطيل هذا التحليل العدواني في بعض الحلقات التي عرفت عدد ثابت من التكرارات، ولكن السلوك غير معروف من المعروف أن تحدث في حلقة قبل الوصول أو خلال التكرار الماضي، سوف تحذر دول مجلس التعاون الخليجي من السلوك غير معروف في حلقة بدلا من اشتقاق الحد العلوي السفلي من عدد من التكرارات للحلقة يمكن تعطيل التحذير مع - Wno عدوانية-التحسينات حلقة. على أرم، وقد تم إصلاح الخلل في دول مجلس التعاون الخليجي تنفيذ قواعد أبكس لتخطيط النواقل التي يمكن أن تؤدي إلى إنشاء رمز خاطئ يتم إنشاء ناقلات أكبر من 8 بايت في الحجم بشكل افتراضي الانحياز إلى حدود 8 بايت هذا هو رمز التغيير أبي الذي يجعل قد لا يتأثر الاستخدام الصريح لأنواع المتجهات مع الأجسام الثنائية التي تم إنشاؤها باستخدام الإصدارات الأقدم من التعليمات البرمجية الخليجية فيكتوريزد لا يتأثر هذا التغيير. في أفر، تمت إزالة الدعم لخيار سطر الأوامر - mshort المكالمات الموقوفة في مجلس التعاون الخليجي 4 7 على أفر، خيار تكوين --with-أفرليبك دعم منذ دول مجلس التعاون الخليجي 4 7 2 يتم تشغيل على افتراضيا لجميع تكوينات غير رتيمز يرتب هذا الخيار لتحقيق تكامل أفضل أفر ليبك مع أفر-غك للحصول على التفاصيل الفنية، انظر PR54461 إلى إيقاف تشغيل الخيار في تكوينات غير رتيمز، استخدم --with-أفرليبك نو إذا تم تكوين برنامج التحويل البرمجي ل رتيمز، يتم إيقاف الخيار دائما. يمكن الاطلاع على مزيد من المعلومات حول الانتقال إلى غك 4 8 من الإصدارات السابقة من دول مجلس التعاون الخليجي في دليل التحسين لهذا الإصدار. تحسينات محسن عام والتغييرات. DWARF4 هو الآن الافتراضي عند إنشاء معلومات تصحيح دوارف عند استخدام - g على منصة تستخدم معلومات التصحيح دوارف، سيتم الآن غك الافتراضي إلى - gdwarf-4 - fno-debug - تايبيس-سيكتيون غب 7 5، V ألغريند 3 8 0 و إلفوتيلز 0 154 تصحيح المعلومات المستهلكين دعم DWARF4 افتراضيا قبل دول مجلس التعاون الخليجي 4 8 النسخة الافتراضية المستخدمة كان DWARF2 لجعل دول مجلس التعاون الخليجي 4 8 توليد القديمة استخدام دوارف نسخة - g جنبا إلى جنب مع - gdwarf-2 أو - gdwarf-3 و الافتراضي لداروين و فكسوركس لا يزال - gdwarf-2 - grictrict القزم. أحد مستوى التحسين العام الجديد، وقد أدخلت - Og ويتناول الحاجة إلى تجميع سريع وتجربة التصحيح متفوقة مع توفير مستوى معقول من أداء وقت التشغيل عموما يجب أن تكون تجربة التنمية أفضل من مستوى التحسين الافتراضي - O0.A خيار جديد - تضمن جزئي جزئي قبل للسيطرة على التكرار الجزئي القضاء بري الأمثل هذا الخيار هو تمكين افتراضيا في - O3 مستوى التحسين، ويجعل بري أكثر عدوانية. تم إزالة الخيار - fconserve-سباس أنه لم يعد مفيدا في معظم الأهداف منذ دول مجلس التعاون الخليجي يدعم وضع المتغيرات في الخدمة الإذاعية الساتلية دون جعلها مشتركة. نظام إعادة تنظيم ومصفوفة ريورغ أوبتيميزاتيونس كوم وخطوط الخط - fipa-ستروكت-ريورغ و - fipa-ماتريكس-ريورغ قد أزيلت أنها لم تعمل دائما بشكل صحيح، كما أنها لم تعمل مع الارتباط الوقت الأمثل لتو، وبالتالي كانت تنطبق فقط على البرامج التي تتكون من وحدة الترجمة واحدة تمت إزالة العنق الزجاجي القابل للتوسع من ممرات التحسين في دول مجلس التعاون الخليجي تجميع وظائف كبيرة للغاية، على سبيل المثال بسبب استخدام السمة المتسطحة في مكتبة قوالب الجبر الخطي إيجن C، هو أسرع بكثير من الإصدارات السابقة من دول مجلس التعاون الخليجي. التحسين لتو التحسينات. لتوزيع تم إعادة كتابة لتحسين الموثوقية و مينتانابيليتي وقد تم إصلاح العديد من الأخطاء الهامة التي تؤدي إلى فشل الارتباط. تحسين التحسينات إنتيربروسدورال. وقد تم تنفيذ جدول رمز جديد أنه يبني على كالغراف وحدات فاربول الموجودة وتوفير أبي جديد غير عادية يتم التعامل مع الاحتمالات رمز والأسماء المستعارة بشكل أكثر اتساقا مما يؤدي إلى، على سبيل المثال، أكثر عدوانية إزالة رمز غير قابلة للوصول مع LTO. Th يمكن أن يمكِّن التوجيه التجريبي المضمون الآن حدودا على حجم الدالات المضمنة عندما يكون التبطين مربحا بصفة خاصة. يحدث ذلك مثلا عندما يتم الحصول على انتشار حلقات أو خطافات صفيف. وتنتشر الآن القيم التي تمرر عبر المجاميع إما بالقيمة أو المرجع عند النقطة المستوى الإجرائي مما يؤدي إلى قرارات أفضل إنلينينغ على سبيل المثال في حالة فورتران واصف صفيف و devirtualization. AddressSanitizer سريع كاشف خطأ الذاكرة، تمت إضافته ويمكن تمكين عن طريق عنوان - fsanitize سيتم استخدام تعليمات الوصول إلى الذاكرة للكشف عن الكومة، كومة -، وتجاوز المخزن المؤقت العالمي وكذلك استخدام الخلل بعد الخالية للحصول على أجمل ستاكتراسس، استخدام - fno-حذف-الإطار مؤشر يتوفر أدرسسانيتيزر على يا-32 x86-64 x32 بويرك PowerPC64 لينو على لينكس وعلى x86 - 64 تم إضافة داروين. ثريدزانيتيزر ويمكن تمكين عن طريق - fsanitize الموضوع سوف تكون مفيدة أدوات للكشف عن سباقات البيانات و ثريادزانيتيزر متاح على x86-64 غنو Linux. A لو جديدة كال سجل مخصص تم تنفيذ لرا، الذي يحل محل تمرير إعادة تحميل 26 عاما ويحسن جودة رمز ولدت في الوقت الراهن أنها نشطة على أهداف يا-32 و x86-64.دعم لذاكرة المعاملات تم تنفيذها على أبنية التالية IA - 32 x86-64، أرم، بويرك، ش، سبارك، و Alpha. New اللغات واللغة تحسينات محددة. كل التشخيص الذي ينبعث الآن يتضمن خط المصدر الأصلي و كاريت تشير إلى العمود الخيار - fno-دياغنوستيكش-شو-كاريت يقمع هذا يتم تمكين الخيار - ftrack-ماكرو-توسع 2 افتراضيا هذا يسمح للمترجم لعرض مكدس توسع الماكرو في التشخيص جنبا إلى جنب مع المعلومات كاريت، مثال التشخيص التي تبين هذه الميزات هما is. A جديد - Wsizeof-pointer - تم إضافة تحذير ميماتشس أيضا تمكين - Wall للتحذير من معلمات طول المشبوهة إلى سلسلة معينة والذاكرة المدمج في وظائف إذا كانت الحجة يستخدم سيزوف هذا التحذير يحذر على سبيل المثال حول ممسيتر بتر، 0، سيز يوف بتر إذا بتر ليست صفيف، ولكن مؤشر، ويقترح إصلاح ممكن، أو عن ممكبي فو، بتر، سيزوف foo. The الخيار الجديد - Wpedantic هو الاسم المستعار لل - الأبيض الذي هو الآن مهملة أشكال - Wno-بيدانتيك - Werror خطأ العمل الوقائي و - Nno خطأ العمل التحملي في نفس الطريقة كما هو الحال في أي خيار - W آخر التحذير واحد هو أن - Werror بدنتيك لا تعادل أخطاء - pedantic منذ الأخير يجعل إلى أخطاء بعض التحذيرات التي لا يسيطر عليها - وبدانتيك والأول فقط يؤثر التشخيص التي يتم تعطيلها عند استخدام - Wno-pedantic. The الخيار - Wadowo لم يعد يحذر إذا إعلان إعلان الظلال إعلان وظيفة، إلا إذا أعلن الأول وظيفة أو مؤشر للعمل، لأن هذا هو شائع وصالحة حالة في العالم الحقيقي code. G الآن بتنفيذ الكلمة الرئيسية C 11 ثريدلوكال هذا يختلف عن الكلمة الرئيسية غنو الموضوع في المقام الأول في أنه يسمح التهيئة الديناميكية ودلالات التدمير لسوء الحظ، يتطلب هذا الدعم عقوبة وقت التشغيل للمراجع إلى غير فونكت متغيرات ثريادلوكال أيون المحلية المعرفة في وحدة ترجمة مختلفة حتى لو كانوا لا تحتاج إلى تهيئة ديناميكية، لذلك قد يرغب المستخدمون في الاستمرار في استخدام مؤشر الترابط لمتغيرات تلس مع سيميتيكش تهيئة التهيئة الثابتة. إذا كان مبرمج يمكن أن يكون متأكدا من عدم استخدام المتغير في يجب أن يؤدي تو غير المعرف إلى التهيئة الديناميكية إما لأن المتغير يكون مهيأ بشكل ثابت أو أن استخدام المتغير في تعريف تو سيتم تنفيذه قبل أي استعمالات في تو أخرى، فإنها يمكن أن تتجنب هذه النفقات العامة مع - fno-extern - تلس-إينيت. أوبينمب ثريبريفات المتغيرات الآن أيضا دعم التهيئة الديناميكية والتدمير من قبل نفس الآلية. G الآن بتنفيذ بناء السمة C 11، على سبيل المثال، وأيضا مواءمة المحاذاة، ه غ الآن تنفذ C 11 منشئات وراثة، ه g. As من دول مجلس التعاون الخليجي 4 8 1، G تنفذ التغيير إلى الدلالات الدلالية من N3276.As من دول مجلس التعاون الخليجي 4 8 1، G تنفذ C 11 المؤهلات المرجع، ه غ الآن يدعم الخيار - std ج 1y للتجريب مع ميزات بروبو سيد للتنقيح القادم للمعيار، والمتوقع حوالي 2014 حاليا الفرق الوحيد من - std ج 11 هو دعم لنوع العائد خصم في الوظائف العادية، كما هو مقترح في N3386 حالة C 1y الميزات في دول مجلس التعاون الخليجي 4 8 يمكن العثور عليها هنا. G تم إهمال سمة قوية تم إهمال قوية يجب استخدام مساحات الأسماء بدلا من ذلك. G الآن يدعم الخيار - fext-رقمية-حرفية للتحكم في ما إذا كانت غنو اللاحقات الحرفية الرقمية مقبولة كإضافات أو معالجتها كما C 11 اللاحقات الحرفية الرقمية المعرفة من قبل المستخدم العلم على استخدام اللواحق ل غنو الحرفية افتراضيا ل - std غنو و - std c 98 العلم هو إيقاف استخدام اللواحق للمستخدم المعرفة الحرفية افتراضيا ل - std ج 11 و time. Runtime مكتبة libstdc. Improved الدعم التجريبي ل جديد إسو C القياسية، C 11 بما في ذلك. فورواردليست يلبي متطلبات الحاوية علم مخصص. ثيستهريد سليبور ثيسثريد سليبونتيل ويتم تعريف العائد ثيسثريد دون الحاجة إلى خيار تكوين --enable-ليبستدكس x - time. Improvements ل random. SSE Normaldistribution. Use الأمثل من التعليمات رنغ الأجهزة ل راندومديفيس على معالجات x86 الجديدة يتطلب المجمع لدعم التعليمات. و إكست random. New عشوائي رقم محرك سيمدفاستمرزنيتويسترينجين مع تنفيذ سس الأمثل. توزيعات الأرقام العشوائية الجديدة بيتاديستريبوتيون نورمالمفديستريبوتيون ريسيديستريبوتيون ناكاجاميديستريبوتيون باريتوديستريبوتيون كديستريبوتيون أرسينديستريبوتيون hoytdistribution. Added --disable-ليبستدكسكس-فيربوس تكوين الخيار لتعطيل الرسائل التشخيصية الصادرة عند إنهاء عملية بشكل غير طبيعي قد يكون هذا مفيدا للأنظمة المضمنة لتقليل حجم الملفات القابلة للتنفيذ التي ترتبط بشكل ثابت لإشعار مكتبة المكتبة. ملفات الوحدة النمطية تم زيادة إصدار ملفات الوحدة النمطية فورتران مودول التي تم تجميعها من قبل إصدارات دول مجلس التعاون الخليجي السابقة يجب إعادة تجميعها، عند استخدامها من قبل الملفات التي تم تجميعها مع دول مجلس التعاون الخليجي 4 8 غك 4 8 غير قادر على قراءة الملفات التي تم إنشاؤها بواسطة الإصدارات السابقة التي تحاول تفعل ذلك يعطي ه رسالة رور ملاحظة أبي من بيانات المجمع المنتجة نفسها لم تغير ملفات الكائن والمكتبات متوافقة تماما مع الإصدارات القديمة باستثناء ما هو موضح أدناه. أبي بعض الأسماء الداخلية المستخدمة في ملف الكائن المجمع تغيرت للرموز المعلنة في جزء المواصفات من مودول إذا تم إعادة وحدة نمطية متأثرة أو ملف باستخدامه عن طريق استخدام ريكومبيلد، وحدة وجميع الملفات التي تستخدم مباشرة مثل هذه الرموز يجب أن ريكومبيلد كذلك هذا التغيير يؤثر فقط على النوع التالي من رموز الوحدة. المؤشرات الإجرائية ملاحظة C - وظيفة قابلة للتشغيل المتبادل لا تتأثر نوع مؤشرات كفونبتر ولا هي مكونات مؤشر الإجرائية. السلاسل حرف الطول - Deferred. The تمت إضافة باكترونيس روتين فرعي يظهر أنه تتبع عكسي في مكان تعسفي في تنفيذ البرنامج رمز المستخدم يستمر عادة بعد ذلك. نوع - Wc ملزم تم إضافة الخيار تحذير تعطيل افتراضيا ويحذر إذا كان متغير قد لا يكون قابل للتشغيل المتبادل على وجه الخصوص، إذا كان المتغير لديه تم الإعلان عن استخدام نوع جوهري مع النوع الافتراضي بدلا من استخدام معلمة النوع المحدد ل C التشغيل البيني في وحدة إسوسبيندينغ الجوهرية قبل، وكان هذا التحذير دائما طباعة يتم تمكين الخيار - Wc ملزم من نوع - Wall. The - Wrealloc-لس و - Wrealloc-لس جميع خيارات سطر الأوامر التحذيرية التي تم تشخيصها عندما يتم إدخال التعليمات البرمجية لإعادة توزيع تلقائي للمتغير أثناء التخصيص يمكن استخدام هذا الخيار لتحديد ما إذا كان آمن للاستخدام - fno-ريالوك-لس بالإضافة إلى ذلك، فإنه يمكن استخدامها للعثور على إعادة تخصيص التلقائي في الحلقات الساخنة للمصفوفات، واستبدال فار من فار تعطيل إعادة التعيين التلقائي. تم إضافة الخيار - Wcompare - ريالز سطر الأوامر عند تعيين هذا، يتم إصدار تحذيرات عند مقارنة ريال أو أنواع معقدة للمساواة وعدم المساواة النظر في استبدال أب من قبل القيمة المطلقة أب إبس مع تمكين إبس - Wcompare-ريالز من قبل - Wextra. The - Wtarget العمر الخيار سطر الأوامر تم تمكين تمكين مع - Wall، والذي يحذر إذا كان P أوينتر في مهمة مؤشر قد تتخطى هدفها. إعادة قراءة أرقام النقطة العائمة التي تستخدم q للأسي مثل 4 0q0 ويدعم الآن تمديد البائع لتحسين التوافق مع ملفات البيانات القديمة فمن المستحسن استخدام ل إو ما يعادلها ولكن القياسية المطابقة e مثل 4 0e0. بالنسبة إلى شفرة المصدر فورتران، والنظر في استبدال q في الحرفية نقطة العائمة من قبل معلمة نوع على سبيل المثال 4 0e0qp مع مناسبة كب لاحظ أنه في فورتران شفرة المصدر استبدال ف بواسطة e بسيط لا يعادل. متغير البيئة غفورترانتمبدير لتحديد غير - لا يتم استخدام الدليل الافتراضي للملفات التي تم فتحها باستخدام ستاتوس سكراتش بعد ذلك بدلا من ذلك يقوم غفورتران بالتحقق من متغير بيئة تمبدير غنو القياسي إذا لم يتم تعريف تمبدير، فإن غفورتران يسقط إلى أساليب أخرى لتحديد الدليل للملفات المؤقتة كما هو موثق في دليل المستخدم. فورتران 2003.دعم للمتغيرات متعددة الأشكال غير محدودة تم إضافة كلاس غير محدود أطوال الأحرف غير معتمدة حتى الآن. أنواع متوافقة يتم دعم تايب الآن. تم إضافة الدعم التجريبي لمصفوفات رتبة المفترضة ملاحظة أنه يستخدم حاليا غفورتران s وصف صفيف الخاص، وهو مختلف من التعريف المحدد في TS29113، راجع ملف رأس غبورتران أو استخدم أداة تشابل اللغة للتشغيل البيني. غك 4 8 2 بروفي ديس التنفيذ الكامل ل غو 1 1 2 release. GCC 4 8 0 و 4 8 1 تنفيذ النسخة الأولية من الذهاب 1 1 الافراج عن دعم المكتبة ليست كاملة تماما. وقد تم اختبار غو على منصات لينو و سولاريس غنو لمختلف المعالجات بما في ذلك x86، x8664، بويرك، سبارك، و ألفا قد تعمل على منصات أخرى كما well. New الأهداف والتحسينات المحددة المستهدفة. وقد تم إضافة منفذ جديد لدعم AArch64، العمارة 64 بت جديدة من أرم لاحظ أن هذا هو منفذ منفصل من ميناء أرم 32 بت القائمة. الميناء يوفر الدعم الأولي للقشرة A53 والمعالجات اللحاء A57 مع خيارات سطر الأوامر - mcpu القشرة a53 و - mcpu القشرة-a57.As من دول مجلس التعاون الخليجي 4 8 4 تم إضافة الحل ل أرم اللحاء A53 إراتوم 835769 ويمكن تمكين عن طريق إعطاء الخيار - mfix القشرة-a53-835769 بدلا من ذلك يمكن تمكين افتراضيا من خلال تكوين دول مجلس التعاون الخليجي مع --enable-فيكس-cortex - a53-835769. تمت إضافة الدعم الأولي لتعريف ملحقات AArch32 د في ARMv8 العمارة. تحسينات جيل الجيل ل Cortex - A7 واللحاء - A15 CPUS. A خيار جديد، - mcpu تمت إضافة مارفيل-pj4 لتوليد التعليمات البرمجية لمعالج مارفيل PJ4.The يمكن الآن توليد تلقائيا فما فمس ريفش و REV16 instructions. A نموذج التكلفة الجديدة فيكتوريزر لتكوينات سيمد المتقدمة لتحسين استراتيجيات السيارات فيكتوريزاتيون المستخدمة. الجدول الزمني يأخذ الآن في الاعتبار عدد من سجلات حية للحد من كمية التسرب التي يمكن أن يحدث هذا ينبغي تحسين أداء التعليمات البرمجية في كبير وظائف يمكن إزالة الحد باستخدام الخيار - fno-شد-pressure. Improvements قد تم إجراؤها على توليد رمز مارفيل إومكس ودعم وحدة iWMMX2 سيمد تمت إضافة الخيار - mcpu iwmmxt2 يمكن استخدامها لتمكين توليد رمز ل وهذا الأخير. عدد من التحسينات جيل رمز ل Thumb2 للحد من حجم التعليمات البرمجية عند تجميع للمعالجات M - الملف الشخصي. وقد تم تحديث منفذ رتمس الذراع-رتمز لاستخدام الجين EABI. Code وقد تم إزالة الدعم التموينية ل فبا القديمة والمباني مافريك العائمة نقطة الموانئ التي اعتمدت في السابق على هذه الميزات كما تم إزالة هذا يشمل target. arm - - leux-غنو استخدام الذراع - - linux-gnueabi. arm - استخدام - elf الذراع - - eabi. arm - - Uclinux استخدام الذراع - - uclinux eabi. arm - - ecos-إلف لا بديل. أرم - - freebsd لا بديل. ارم - منذ-بي أي بديل. قد دعم ل C جزءا لا يتجزأ من نقطة ثابتة لمزيد من التفاصيل، انظر ويكي دول مجلس التعاون الخليجي ودليل المستخدم الدعم غير كامل. يتم دعم معدل طباعة جديد r لتسجيل المعاملات في تجميع مضمنة فإنه سيتم طباعة رقم السجل الخام دون بادئة التسجيل ص المجمع المضمنة في هذا المثال سوف توليد التعليمات البرمجية مثل المقدمة ج يتم تخصيصها إلى R24 ويتم تخصيص فال R8 R15 هذا يعمل لأن المجمع غنو يقبل أرقام سجل عادي دون بادئة التسجيل. استخدامات مبدئية ثابتة مع رموز 3 بايت معتمدة الآن وهذا يتطلب على الأقل بينوتيلز 2 23.Allow - mpreferred كومة-البون داري 3 للعمارة x86-64 مع ملحقات سس تعطيل منذ x86-64 أبي يتطلب 16 محاذاة كومة بايت، وهذا هو أبي غير متوافق ويهدف إلى استخدامها في بيئات تسيطر فيها مساحة المكدس هو قيد مهم هذا الخيار سوف يؤدي إلى رمز خاطئ عندما تسمى الدالات المجمعة مع 16 محاذاة كومة البايت مثل وظائف من مكتبة قياسية مع كومة المنحرفة في هذه الحالة، قد تؤدي تعليمات سس إلى مصيدة وصول الذاكرة غير المنحرفة وبالإضافة إلى ذلك، سيتم التعامل مع وسيطات متغير بشكل غير صحيح للأشياء محاذاة 16 بايت بما في ذلك x87 طويلة مزدوج و int128، مما يؤدي إلى نتائج خاطئة يجب بناء جميع وحدات مع - mpreferred - كومة الحدود 3 بما في ذلك أي مكتبات ويشمل هذا المكتبات النظام وحدات بدء التشغيل. دعم لمعالج إنتل الجديد الاسم الرمزي برودويل مع رديسيد أدكسكس أدوكس بريفيتشو متاح من خلال - مادكس - mprfchw - mrdseed خيارات سطر الأوامر. دعم ل إنتل رتم و هل الجوهرية، المدمج في وظائف ورمز الجنرال إرينغ هو متاح عن طريق - mrtm و - mhle. upport ل إنتيل فكسر و زاف و زافوبت مجموعات التعليمات الجوهرية والمدمج في وظائف متاحة عبر - mfxsr - mxsave و - mxsaveopt التوالي. New - maddress - وضع خيارات قصيرة قصيرة ل x32 - مودرس-مود قصيرة يتجاوز الافتراضي عناوين 64 بت إلى 32 بت عن طريق انبعاث بادئة تجاوز حجم العنوان 0x67 هذا هو وضع العنوان الافتراضي ل x32.New المدمج في وظائف للكشف عن وقت التشغيل نوع وحدة المعالجة المركزية و ISA. A بنيت-- في وظيفة تم إضافة بينينكبويز للكشف عن إذا كانت وحدة المعالجة المركزية وقت التشغيل من نوع معين فإنه يرجع عدد صحيح موجب على مباراة و صفر وإلا فإنه يقبل حجة حرفية سلسلة واحدة، اسم وحدة المعالجة المركزية على سبيل المثال، بينستينبويز ويستمير إرجاع عدد صحيح موجب إذا وحدة المعالجة المركزية وقت التشغيل هو معالج إنتل كور i7 وستمير يرجى الرجوع إلى دليل المستخدم لقائمة أسماء وحدة المعالجة المركزية المعترف بها. أضيفت المدمج في وظيفة بينينكبوسوبورتس للكشف عن إذا كانت وحدة المعالجة المركزية وقت التشغيل يدعم ميزة عيسى معينة و إرجاع سا عدد صحيح موجب على تطابق و صفر وإلا فإنه يقبل حجة حرفية سلسلة واحدة، ميزة عيسى على سبيل المثال، بينتينكبوسوبورتس ssse3 بإرجاع عدد صحيح موجب إذا كانت وحدة المعالجة المركزية وقت التشغيل يدعم تعليمات SSSE3 يرجى الرجوع إلى دليل المستخدم للحصول على قائمة أسماء عيسى صالح المعرف بها. تحفظ إذا تم استدعاء هذه الوظائف المضمنة قبل أن يتم استدعاء أي منشئات ثابتة، مثل أثناء التهيئة إفونك، ثم يجب أن يتم تشغيل تهيئة وحدة المعالجة المركزية الكشف بشكل صريح باستخدام هذه الوظيفة المضمنة حديثا، بنيتينبوينيت يجب أن يتم التهيئة مرة واحدة فقط على سبيل المثال، هذه هي الطريقة التي سوف تبدو الاحتجاج داخل إيفونك الأوليزيز. فونكتيون دعم مولتيفرزيونينغ مع G. It من الممكن الآن لإنشاء إصدارات متعددة الوظائف التي تستهدف كل معالج معين أو إصدارات وظيفة عيسى لها نفس التوقيع ولكن سمات الهدف المختلفة ل على سبيل المثال، هنا هو برنامج مع إصدارات version. Please الرجوع إلى هذا ويكي لمزيد من المعلومات. X86 الظهر وقد تم تحسين نهاية للسماح الخيار - fschedule-إنسنز للعمل بشكل موثوق يمكن استخدام هذا الخيار لجدولة تعليمات أفضل ويؤدي إلى تحسين بيرفورماس في بعض الحالات. ويندوز أهداف مينجو-W64 - w64-مينغو تتطلب R5437 على الأقل من مينغو-W64 الجذع. دعم لمعالجات أمد الأسرة 15H جديدة متحكم الأساسية هو متاح الآن من خلال - mch bdver3 و - mtune خيارات bdver3.دعم جديد أمد معالجات 16H الأسرة جاغوار الأساسية متاحة الآن من خلال - mchch btver2 و btver2 - mtune الخيارات. هذا الهدف الآن يدعم الخيار - fstack-أوسيج سطر الأوامر. غك يمكن الآن إنشاء رمز خصيصا ل R4700، برودسوم زلب و ميبس 34kn المعالجات خيارات - march المرتبطة هي - march r4700 - march زلب و - march 34kn على التوالي. غك الآن يولد أفضل رمز دسب ل ميبس 74k النوى بفضل المزيد من جدولة التحسينات. ميناء ميبس يدعم الآن الخيار الاختيار - fstack. GCC يمر الآن - mcu و - منو-مكو الخيارات إلى التجميع. الإصدارات السابقة من دول مجلس التعاون الخليجي s ق إلينتيلي قبول - fpic و - fPIC لأهداف - mno-أبيكالس مثل ميبس - elf لم يكن المقصود هذا المزيج أو دعم، ولم تولد كود مستقل مستقل خليجي 4 8 تقارير الآن خطأ عند استخدام هذا المزيج. بويرك PowerPC64 RS6000. تكوينات SVR4 غنو لينكس، فريبسد، نيتبسد لم يعد حفظ أو استعادة أو تحديث سجل فرساف افتراضيا أنظمة التشغيل المعنية إدارة سجل فرساف مباشرة. تم إضافة دعم توك كبير ل إيكس من خلال خيار سطر الأوامر - mcmodel large. Native الموضوع - تمت إضافة دعم التخزين المحلي لمجموعات تعليمات إيكس. فمكس ألتيفيك و فسكه الآن ضمنيا عند استهداف المعالجات التي تدعم ميزات الأجهزة هذه على إيكس 6 1 وأعلاه. هذا الهدف سيصدر الآن رسالة تحذير عند العثور على العديد من معالجات المقاطعة السريعة في نفس وحدة تجميع هذه الميزة يمكن إيقاف من جديد - منو-متعددة-سريع-المقاطعات الخيار سطر الأوامر. 390، نظام z. upport ل عب زنتيربريس z تمت إضافة EC12 المعالج عند استخدام الخيار - mch zEC12، سوف مترجم توليد التعليمات البرمجية الاستفادة من التعليمات الجديدة التالية. إدخال التعليمات و فخ. 2 جديد قارن و فخ instructions. rotate وإدراج بت مختارة - دون سيسي clobber. The - الخيار متيك zec12 تمكن zec12 محددة جدولة التعليمات دون الاستفادة من تعليمات جديدة. تم تمكين ضغط الضغط الحساسة جدولة التعليمات افتراضيا. تم تمكين سمة الدالة إفونك بواسطة default. memcpy و ميمكمب الاستدعاء على قطع الذاكرة الكبيرة أو مع أطوال وقت التشغيل لم يتم إنشاؤها مضمنة بعد الآن عند ضبط z10 أو أعلى والغرض من ذلك هو الاستفادة من إفونك الأمثل الإصدارات في Glibc. The تم ضبط إعدادات المحاذاة الافتراضية لتكون أقل عدوانية هذا يؤدي إلى رمز أكثر إحكاما لتحسين مستويات أخرى من دعم - Os. Improved ل و الذرية المدمج في function. A خيار جديد نموذج نموذج - momic يختار نموذج لتسلسلات الذرية ولدت النموذج التالي s معتمدة لينة غوسا البرمجيات غوسا متواليات SH3 و SH4 فقط على أهداف SH4A هذا سوف الآن أيضا الاستفادة جزئيا موفكو ل و موفلي ل تعليمات هذا هو الافتراضي عندما يكون الهدف هو sh3 - - lineux أو sh4 - - lux أوكس-هارد-لس الأجهزة موفكو l موفلي l متواليات SH4A فقط سوفت-تب البرمجيات موضوع كتل السيطرة تسلسل سوفت-إيماسك برنامج المقاطعة التقليب تسلسل وضع امتيازات فقط هذا هو الافتراضي عندما يكون الهدف هو sh1 - - inux أو sh2 - - lux لا شيء يولد استدعاءات وظيفة للذري المعنية المدمج في وظائف هذا هو الافتراضي للأهداف SH64 أو عندما يكون الهدف ليس ش - - lineux. The الخيار - moft الذرية قد تم إهمال هو الآن اسم مستعار ل - momic نموذج لينة غوسا. أحد الخيارات الجديدة - ttas يجعل المترجم توليد التعليمات تاس ب ل أتوميكتستاندسيت المدمج في وظيفة بغض النظر عن النموذج الذري المحدد. وظائف المزامنة في ليبغك تعكس الآن النموذج الذري المحدد عند بناء toolchain. Added دعم للتحرك b و موف w إنسترو كتيونس مع معالجة التشرد. إضافة دعم لتعليمات SH2A موفو b و موفو ث. تحسينات مختلفة على التعليمات البرمجية التي تم إنشاؤها لحسابات صحيحة. إدخال تحسينات على الفروع الشرطية والرمز الذي ينطوي على T بت وهناك خيار جديد - mzdcbranch يقول المجمع لتحويل صالح النزوح فروع يتم تمكين هذا افتراضيا للأهداف SH4.The الآن سوف تنبعث التعليمات بريف من قبل المدمج في وظيفة مدمج للأهداف SH3. سيتم الآن أن تنبعث التعليمات فماك من وظيفة فماف القياسية و بنيتفماف المدمج في function. The - تم إهمال الخيار مفوسد-ماد لصالح خيار مستقل - fp-عقد آلة لاحظ أن التعليمات فماك سيتم الآن إنشاء افتراضيا عن تعبيرات مثل أبك ويرجع ذلك إلى الإعداد الافتراضي المترجم - ffp العقد fast. Added جديد خيارات - mfsrra و - mfsca للسماح مترجم باستخدام تعليمات فسرا و فسكا على أهداف أخرى من SH4A حيث يتم تمكين بالفعل افتراضيا. دعم المضافة ل builtinbswap32 المدمج في وظيفة يتم توسيعه الآن كتسلسل من مبادلة ب ومبادلة ث تعليمات بدلا من وظيفة مكتبة call. The تم إصلاح سلوك الخيار - mieee وشكل سلبي - mno-إيي تمت إضافته للسيطرة على إيي مطابقة المقارنات نقطة العائمة افتراضيا يتم تمكين - mieee الآن والخيار - ffinite الرياضيات فقط يحدد ضمنا دعم - mno-ieee. Added وظائف المدمج في بينتينثريدبوانتر و بيندينزيتثرادبوانتر هذا يفترض أن يتم استخدام غر لعقد مؤشر ترابط مؤشر من مؤشر الترابط الحالي تحميل الذاكرة ومخازن نسبة إلى العنوان الذي تم إرجاعه من قبل بنتينثريدبوانتر سوف تستخدم الآن أيضا غر عنوان النزوح القائم على وسائط. وقد تم إصلاح الخيار - mdiv لأهداف أخرى من شميديا وتوثيقها. إضافة جدولة التعليمات الأمثل لدعم Niagara4.Added ل - mcmodel نموذج خيار سطر الأوامر النماذج المعتمدة هي صغيرة و large. This الهدف الآن يدعم الهندسة المعمارية E3V5 عن طريق استخدام الجديد - mv850 e3v5 الخيار سطر الأوامر كما أن لديها الدعم التجريبي للتعليمات لوب e3v5 والتي يمكن تمكينها عن طريق خيار سطر الأوامر الجديد - mloop هذا الهدف يدعم الآن الخيار - fstack استخدام سطر الأوامر. الأنظمة التشغيل. دعم أوبنبسد amd64 وقد تم إضافة x8664- - openbsd والدعم ل أوبنسد i386 i386- تم تجديد - openbsd. Windows Cygwin. Executables ترتبط الآن ضد ليبغك المشتركة افتراضيا كان الافتراضي السابق لربط ثابت، والتي لا يزال من الممكن القيام به عن طريق تحديد صريحة - static أو ثابت-ليبغك على سطر الأوامر ولكن ينصح بشدة ضد لأنه سيسبب مشاكل لأي تطبيق الذي يجعل من استخدام دلز التي جمعتها دول مجلس التعاون الخليجي يجب أن يكون على ما يرام لتطبيق مستقل متجانسة التي تربط فقط ضد دلز ويندوز، ولكن يقدم القليل أو لا فائدة. وهذه هي قائمة تقارير المشكلة برس من نظام تتبع علة في دول مجلس التعاون الخليجي التي من المعروف أن تكون ثابتة في الإفراج 4 8 1 هذه القائمة قد لا تكون كاملة وهذا هو، فمن الممكن أن بعض المستفيدين الرئيسيين التي تم إصلاحها لم يتم سرد هنا. وقد تغيرت C 11 كرونو ستد كرونو سيستيمكلوك و ستد كرونو ستيديكلوك الطبقات أبي في دول مجلس التعاون الخليجي 4 8 1، وكلاهما الآن منفصلة أبدا تيبيديفز من بعضها البعض، على حد سواء استخدام ستد كرونو نانوسيكوندس القرار ، على معظم التكوينات جنو لينكس ستد كرونو ستيديكلوك هو الآن رتابة أخيرا، وكلاهما الطبقات مانغلد بشكل مختلف مما كانت عليه في الإصدارات السابقة لمجلس التعاون الخليجي ستر كرونو سيستيمكلوك الآن مع سترو كرونو ميكروثانية ريث ستد كرونو ثواني قرار لا يزال تصديرها للتوافق إلى الوراء مع الافتراضي تكوين ليبستدك ملاحظة أن ليبستدك تكوين مع --enable-ليبستدكسكس الوقت المستخدمة لتكون أبي غير متوافق مع ليبستد تكوين الافتراضي لهاتين الفئتين ولا يمكن تقديم التوافق أبي لتلك التكوينات، لذلك أي رمز C 11 يستخدم تلك الفئات وتم تجميعها وربطها ضد ليبستدك تكوين مع غير افتراضي --enable-ليبستدكسكس الوقت الخيار التكوين يحتاج إلى recompiled. This هو ليس t من تقارير المشاكل بيأر من نظام تتبع الأخطاء في دول مجلس التعاون الخليجي المعروف أن تكون ثابتة في الإفراج 4 8 2 هذه القائمة قد لا تكون كاملة أي أنه من الممكن أن بعض المستفيدين الرئيسيين التي تم إصلاحها ليست مدرجة هنا. هذا هو قائمة تقارير المشاكل بيأر من نظام تتبع الأخطاء في دول مجلس التعاون الخليجي المعروف أن تكون ثابتة في الإصدار 4 8 3 هذه القائمة قد لا تكون كاملة وهذا هو، من الممكن أن بعض المستفيدين الرئيسيين التي تم إصلاحها ليست مدرجة هنا. دعم ل new powerpc64le-linux platform has been added It defaults to generating code that conforms to the ELFV2 ABI. This is the list of problem reports PRs from GCC s bug tracking system that are known to be fixed in the 4 8 4 release This list might not be complete that is, it is possible that some PRs that have been fixed are not listed here. This is the list of problem reports PRs from GCC s bug tracking system that are known to be fixed in the 4 8 5 release This list might not be complete that is, it is possible that some PRs that have be en fixed are not listed here. For questions related to the use of GCC, please consult these web pages and the GCC manuals If that fails, the mailing list might help Comments on these web pages and the development of GCC are welcome on our developer list at All of our lists have public archives. Copyright C Free Software Foundation, Inc Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. SPEC CPU2006 Changes in V1 1.Last updated Date 2008-05-13 09 00 38 -0500 Tue, 13 May 2008 by Author john. To check for possible updates to this document, please see. Introduction Who Wants V1 1.SPEC CPU2006 V1 1 is an incremental update to SPEC CPU2006 V1 0 Results generated with V1 1 are comparable to results from V1 0 and vice versa V1 1 is intended to improve compatibility, stability, documentation and ease of use Changes are intended to be useful to several kinds of users. For users of new platforms. Updates to 12 benchmarks primarily to improve portability. For anyone who reads or produces a result. For researchers and developers. Documentation of the monitor hooks. Easier investigation of alternate sources or workloads, via the converttodevelopment utility. For testers of large systems. A group of 6 features to make the setup phase faster on big systems. Refinements of the submit and bind features and greatly expanded documentation thereof. For new users of the suite. Clarifications and additions to the documentation. Updated example config files. For those who test many platforms. Fewer unexpected rebuilds. The ability to bundle up a set of binaries and their associated config file, for easy transportation and use on other systems. Many other features intended to make benchmarking easier, more productive, and less error-prone, as summarized in the table of contents Depending on the level of detail at which you count, there are approximately 60 new, updated, or newly-documented user-visible features in V1 1.If you have already used SPEC CPU2006 V1 0 and already have configuration files, it is recommended that you read through this document, so as to avoid surprises during use of V1 1 Among the changes that you are likely to be affected by are the change to build directory locations the reporting of parallel flags the automatic setting of test date and the addition of debug logs If you still have USER numbers, it s time to stop now. This table of contents proceeds in rough order of time for a user of the suite you acquire a platform, ensure that you are familiar with the rules, build the benchmarks, run them, generate reports, and occasionally use utilities and other features.4 Submit lines continued.6 Trailing spaces in config files. Note links to SPEC CPU2006 documents on this web page assume that you are reading the page from a directory that also contains the other SPEC CPU2006 documents If by some chance you are reading this web page from a location where the links do not work, try accessing the referenced documents at one of the following locations. The SPEC Docs Unix or SPEC Docs Windows directory on a system where SPEC CPU2006 has been installed. The Docs directory on your SPEC CPU2006 distribution DVD. New systems supported. With this release of SPEC CPU2006, new support is added for. HP-UX 11iv1 on PA-RISC systems. MacOS X 10 1 on PowerPC systems. Systems no longer supported. With this release of SPEC CPU2006, su pport is removed for. RHAS 3r2 to RHAS 4r3 on Itanium systems. Linux on PowerPC-based systems with GLIBC 2 2 1-2 2 4.Changes to benchmarks. The following benchmark changes were made in V1 1.Added new portability flag - DSPECCPUNEEDPOSIXIDS to include the POSIX symbols uidt gidt and modet on Windows Note that this flag is the default for some Windows compilerspiling on Solaris with gcc, or gcc-compatible compilers, used to fail with messages such as because of a change in the Solaris FILE structure This problem has been fixed by removing the outdated code. Under V1 0 of SPEC CPU2006, if you compiled with gcc on ia64 Linux, the benchmark would sometimes abort abnormally with an unaligned access error, due to a jmpbuf on some Linux systems whose alignment violated the ABI You can now optionally set SPECCPUIA64GCCALIGNMENT to force jmpenv in scope h to be better aligned. Removed line directives from c-parse c. Several code segments which were protected by if defined SPECCPU2006 should have said S PECCPU and were fixed The effect of the change is to increase the degree to which both gcc and non-gcc compilers are presented with the same souce code when compiling. Internal system calls which set the OS scheduling priority were disabled The effect of this change is minimal, because when it is run from the SPEC harness, the GROMACS line option - nice 0 is included, which also disables these system calls For V1 0, a user studying outside the runspec harness might have encountered inconsistent measurements if - nice 0 was not used. Replaced a GPL version of the C99 math function erfc with a public domain version. Added new portability flag - DSPECCPUHAVEERF to have the benchmark use a system s erfc library function instead of the version included with the benchmark This flag is the default on some platforms. Rename getoptinternal to getoptinternal to avoid possible name clash user functions are not supposed to start with underscore. Added explicit inclusion of cstring header file. Added explic it inclusion of cstring header file in. Added some missing prototypes in quadrature h and tria h. In V1 0, some output was written to stderr That output is now written to regular files SPEC s validation has been adjusted to validate the new output. In V1 0, approximately 25,000 lines of output were duplicated to both the log file and to standard error The duplicate output has been elimated from stderr. In config h, there is a list of platforms that have complex h included Additional platforms can now be accomodated by setting - DSPECCPUNEEDCOMPLEXH. Some compilers object to having TRUE and FALSE used in this enum in parsetcommon h. which implicitly redefines FALSE to 0 and TRUE to 1 Although these are the same values they already had, some compilers object to the redefinition A simple solution is to undefine these just before the enum, which can be done by setting the new flag - DSPECCPUREDEFTRUEFALSE. Renamed random h to avoid clashes with system headers. Added new portability flag - DSPECCPUNEE DIOH to include the header file io h on Windows Previously, io h was only included if MSCVER was defined by the compiler. Fixed a Fortran 90 standards violation where two associated dummy arguments were defined during the execution of a subprogram Note that this update used the same fix as WRF version 2 2 is based on WRF version 2 1.In a bit more detail There is a subroutine in moduleblysu F90 that is called in violation of the Fortran standard about variable overlapping The routine tridin has three variables cu, r1,r2 that are passed in the same parameters as au, a1,a2 in both calls The new code has fixed this problem by making copies of the read-only versions of the duplicated parameters before the call. Added explicit inclusion of cstring header file. Multiple portability changes for use with the PGI C compiler on Windows. Added multiple portability changes for use with the ParallelNavi compiler on Solaris To use, you ll need to set - DSPECCPUPARANAVI. Run Rules Changes. Explain a philosophy of estimates in rule 1 6 and clarify marking of estimates in rule 4 8.Tweak rule 2 1 1 to clarify that the rule is discussing benchmark source code. Clarify documentation of system state and tuning, in rules 3 1 2 4 2 3 paragraphs b and g , and 4 2 4 paragraphs f, g. Add rule 3 2 5 for parallel setup and parallel test. Expand rule 4 2 3 on automatic parallelization and reporting thereof. Add new rule 4 2 6 regarding disclosure of configurations for user-built systems. In rule 4 3 2 allow conversions in both directions between SPECspeed metrics and 1 copy SPECrate metrics. In rule 4 6 note that a required disclosure is considered public information. Building Benchmarks. Build directories separated Benchmarks are now built in directories named or, on Windows, , rather than under the benchmark s run subdirectory The change is intended to make it easier to copy, backup, or delete build and run directories separately from each other It may also make problem diagnosis easier in some situations, sin ce your habit of removing all the run directories will no longer destroy essential evidence 10 minutes before the compiler developer says Wait - what exactly happened at build time. If you prefer the V1 0 behavior, you can revert to it by setting buildinbuilddir to 0.You can now bundle up a set of binaries and their associated config file, for easy transportation and use on other systems. WARNING Although the features to create and use bundles are intended to make it easier to run SPEC CPU2006, the tester remains responsible for compliance with the run rules And, of course, both the creators and the users of bundles are responsible for compliance with any applicable software licenses. Parallel builds on Windows too Users of Microsoft Windows systems can now use multiple processors to do parallel builds, by setting makeflags for example. This feature has worked with SPEC CPU testing on Unix for many years what s new in CPU2006 V1 1 is the ability to use it on Windows Note that requesting a parallel build with makeflags - j N causes multiple processors to be used at build time It has no effect on whether multiple processors are used at run time, and so does not affect how you report on parallelism. Unexpected rebuilds reduced In V1 0, the tools were much more likely to trigger automatic rebuilds of the benchmark binaries than they are in V1 1, because unrecognized options e g a mis-spelled CXXOPTIMZIE or a user-defined option such as MYOPTS would be passed to specmake and the tools had no way to know what specmake did with such options Now, the tools record only what is actually used by specmake plus the options that are sent to the shell e g via fdopre0 With this more careful recording, config file changes do not trigger rebuilds unless they actually affect the generated binary. Running Benchmarks. Parallel Setup For reportable runs, substantial time may be required during the setup phase, as the tools write run directories for every copy, and validate that benchmark binarie s get the correct answers for the non-timed test train workloads SPEC CPU2006 V1 1 provides several new features to allow these operations to complete more quickly by optionally doing more operations in parallel parallelsetup paralleltest parallelsetuptype parallelsetupprefork benchpostsetup and postsetup. During testing of V1 1, a very large server with over 600 hwthreads was observed to complete the binary validation phase about 8x faster using paralleltest, and the ref directory setup phase more than 2x faster with parallelsetup The net time saved on this very large server was more than 10 hours. Your mileage may vary. The effects of these options are much less pronounced on small servers. The effects are strongly affected by your disk setup. Asking your disk system to do more than it can handle may make your setup phase slower, not faster For example, asking a disk with a single actuator arm to do parallel setup of 30 copies may cause the disk to spend most of its time seeking. When cons idering your disk layout options, bear in mind that the run rules require use of a single file system. Note that these setup features parallelsetup paralleltest parallelsetuptype and parallelsetupprefork control parallelism during the preparation phase for running the benchmarks, not the actual runs Therefore, they have no effect on the setting of the report field. Auto Parallel Yes No. Per-benchmark basepeak and copies - behavior change If you select basepeak 1 for an individual benchmark, the number of copies in peak will be forced to be the same as in base Note that in SPEC CPU2006 V1 0, you could set basepeak for a benchmark, and still change the number of copies in peak this was deemed to be an error If you want to run the same tuning in both base and peak, while changing the number of copies, you will need to build two binaries with the same compiler switches. Per-benchmark bind The bind list can now differ on a per-benchmark basis in peak Allowing this difference was viewed as a con venience, since the run rules already allow the submit command to differ on a per-benchmark basis in peak. The PreENV config file option allows setting of environment variables prior to the exectuion of runspec. Run-time monitoring The monitor hooks have been a little-known feature of the SPEC CPU toolset for many years They were first described in the ACM SIGARCH article SPEC CPU2006 Benchmark Tools and are now further described in The monitor hooks allow advanced users to instrument the suite in a variety of ways SPEC can provide only limited support for their use if your monitors break files or processes that the suite expects to find, you should be prepared to do significant diagnostic work on your own. SPECUSERNUM no longer recognized The field SPECUSERNUM was deprecated in V1 0 of SPEC CPU2006, in favor of SPECOPYNUM SPECUSERNUM is no longer recognized in V1 1 No error message is printed If you still have user numbers lurking in your config file, make them into copy numbers, please. Auto Parallel - changes to handle common cases If benchmarks are automatically optimized to use multiple threads, cores, and or chips at run time, the tester needs to indicate this in the report as. Auto Parallel Yes. For V1 0, it was sometimes difficult to ensure that reports were accurate, in part because there can be multiple sources of run-time parallelism as described in the run rules. With SPEC CPU2006 V1 1, the V1 0 method of filling out the above field, swautoparallel has been retired, and three new features have been introduced to better reflect these sources of parallelism. When writing a flags file, the parallel flag attribute should be set for compiler flags that cause binaries to be multi-threade d Then, when binaries that use those flags are run, the report type will be listed as Auto Parallel Yes. The config file field swparallelother should be set when there are other non-compiler sources of parallelism. A rawfile-only field, swparalleldefeat can be used to indicate that, despite any other settings, a tested system has been forced to run in a single-threaded mode for example, by removing all but one processor. The intent is that the most common case will be handled automaticallymonly, the SPEC tools will use i to automatically determine whether the run is parallel For this case, ii and iii will not be needed. If your source of parallelism is not visible to the SPEC toolset, you can set ii. Rarely, you can take a software stack which appears to be parallel, but explain with iii why it was not. Overall, the setting of the Auto Parallel field in reports can be thought of as if it were derived from this logic. or for the benefit of those readers who think in FORTRAN, it is as if the de rivation were. CSV format updated - If you populate spreadsheets from your runs, you probably shouldn t be doing cut paste of text files you ll get more accurate data by using --outputformat csv The V1 1 CSV output now has a format that includes much more of the information in the other reports All runs times are now included, and the selected run times are listed separately The flags used are also included Although details of the new features are not shown in the documentation, you should explore them, by taking the new CSV out for a test drive It is hoped that you will find the V1 1 format more complete and more useful. Flag reporting - multiple files supported, flag order preserved, report readability There are several changes to reporting on compiler flags. You can now format a single result using multiple flags files This feature is intended to make it easier for multiple results to share what should be shared, while separating what should be separated Common elements such as a certa in version of a compiler can be placed into one flags file, while the elements that differ from one system to another such as platform notes can be maintained separately Suggestions on use of this feature can be found in. The flag reporter now does a better job of reporting flags in the same order in which they appeared on the command line. Flag reporting has been re-organized in an attempt to improve readability. Within the Optimization Flags section, the report no longer prints phrases such as Fortran benchmarks except as noted below because readers may not remember which benchmarks are in Fortran Instead, all the Fortran benchmarks are enumerated, and if some use the same flags as others, that fact is noted in line, rather than at the top of the list. Within the Portability Flags section, benchmarks appear in order by number, rather than ordered by language. When the reporter detects that base and peak are sufficiently different from each other e g different compilers, or different porta bility options the flags report is ordered to put all the base information first, then all the peak information - for example. Graphs cleaned up. Graphs have been changed to reduce the amount of shading, and to reduce painting of other pixels that were not essential to the data being presented with a tip of the hat to Professor Tufte s notion of reducing chartjunk , or apologies, depending on the reader s opinion of the change. Report names have changed. In CPU2006 V1 0, final reports had names of the form. for example, and so forth The form of the file names has changed to now be. for example. There are two reasons for this change. For CPU2006, all reportable runs use a workload named ref , but this is not necessarily true for other benchmarks that use the same toolset Designating the workload in the file name reduces possible ambiguity. If you select the test or train workloads with the --size switch , output files for V1 0 were already tagged with the workload designator this change causes r ef to match the other two. Note For V1 0, a reportable run would generate three files and For V1 1, for a reportable run, you will see only You won t see or unless you say --size test or --size train in your runspec command. Seconds are reported with more digits. Background For certain values, the SPEC tools print 3 significant digits This is intentional For example, if one system has a SPECintrate2006 performance of 1234 456 and another has a SPECintrate2006 performance of 1229 987, it is arguable that the performance of these systems is not materially different Given the reality of run-to-run variation which is, sometimes, on the order of 1 , it makes sense to report both systems SPECintrate2006 as 1230.Although there is agreement that it is acceptable to round SPEC s computed metrics to 3 significant digits, it has been noted that the argument is weaker for rounding of original observations In particular, if we wish to acknowledge the reality of run to run variation, then it seems reas onable to report a time of 1234 456 seconds using an integral number of seconds 1234 , rather than rounding to the three significant digits, which in this case would be rounding to the nearest 10 seconds 1230.Change made Ever since the release of V1 0 of SPEC CPU2006, results posted on SPEC s web site such as the HTML, PDF, and text formats have used 3 significant digits for computed metrics, and seconds larger than 1000 have been reported as an integral number of seconds As of V1 1, reports produced on your own test systems now behave the same way. The Submission Check report is now automatically included in the outputformat list when using rawformat This change was made because the typical use of rawformat is to create final submission quality reports Even if you don t plan to submit your result to SPEC, the checks that are done by Submission Check can help you to create reports that are more complete and more readable. The testdate is now automatically set from the system clock, and y ou should not set it yourself. New Utilities Features. Convert to Development In order to assist with compliance with the run rules so that results are meaningful and comparable , the SPEC CPU tools perform various checks to ensure that benchmark code, workloads, and tools match the original distribution Sometimes, though, researchers or developers may want to work in an environment without these checks, for example, when modifying code to add performance instrumentation. Prior to V1 1, doing so typically required that you abandon the tools With V1 1, you now have another choice you can continue using the SPEC supplied toolset in a development sandbox, via the converttodevelopment utility. Dump alternative source dumpsrcalt is a utility which shows you the content of. The index utility remains UNSUPPORTED, but is now documented for the first time. Make alternative source makesrcalt is a utility which is used to create packages with newly developed alternative sources This utility is ehanced in, and is documented for the first time in, V1 1.ogo top If you type ogo without any parameters, or if you type ogo top the command sets your current directory to GO instead of to SPEC. The portprogress utility is documented now. The specrxp utility validates flags files It is called automatically, or you can call it directly if you wish. SPECspeed metrics from SPECrate test Using rawformat, you can now convert a 1-copy SPECrate result to a SPECspeed result. Other New and Changed Tools Features. Benchmark lists and sets Two formerly undocumented features are now documented your config file can reference benchmark lists and sets Set references use the various bset files that are found SPEC benchspec CPU2006 or SPEC benchspec CPU2006 If you are a user who already has noticed this feature, please note that the definitions of the bsets have changed, and the number of bsets has been reduced. Debug logs Failed runs now leave behind additional detail, in files such as Temporary files are also left behind after a failed run If you are managing disk space on a tight budget, you ll need to adjust your cleaning methods. Keeping temporaries If you are having trouble debugging your test setup for example, if your new submit command or paralleltest option is failing , you may want to try the new keeptmp feature When this option is set, the above-mentioned debug log is kept, along with the various temporary files that it mentions. If you leave keeptmp at its default setting, temporary files will be automatically deleted after a successful run If you are managing disk space on a tight budget, and keeping temporaries, you ll almost certainly need to adjust your cleaning methods. submit lines continued It is now possible to append a numeral to submit lines, to continue your submit commands over several lines This feature is intended to improve the readability of your config file when using the submit feature. Submit notes The tools will now automatically insert a section with notes on your su bmit command for runs that use submit You can customize the section. Trailing spaces are now stripped in config files, unless preceded by a backslash, as described in the section on whitespace. Documentation Updates. Documentation has been added for the new features mentioned in this document Most of the changes are linked from the descriptions above A few items might not be immediately obvious from the above links, and are called out here. A new chapter About Alternate Sources was added. A new section on automatic rebuilds suggests a way to test whether proposed changes would force a rebuild without actually doing the build. More examples are provided for how to specify a bind list, including use of a here document. Explain that you are allowed to change the feedback options and show how to find out the default options Provide a couple of examples of fdo modification. The discussion of free form notes for readers has been substantially expanded. The documentation now tells you what happens wit h macros that aren t defined if you try to use them. All options that affect runspec are described together In V1 0, there were two tables, one for the options that could be mentioned either on the command line or in the config file, and a separate table for options that can only be mentioned in a config file. A sidebar about quoting was added, to try to help reduce confusion when you are trying to ensure that variables are interpreted by the correct software. The documentation of log files now suggests some useful search strings that can help you as you try to find your way through a log. The documentation of submit was rewritten and expanded. Flag file types have been clarified, using an example that points to the three files for result 00001, as posted at. A complete example is provided to show how you can edit a flags file and use rawformat to incorporate it. A Recommended Practices section has been added. The discussions of replacement of example text - both example and exreplacement - ha s been considerably expanded to explain the difference between the two, and examples of their use are shown. The description of directory sharing via outputroot now starts with a simple summary of the steps. More details are given about --review. The documentation now describes the run order for reportable runs. The output format subcheck is explained. The description of --update now explains that additional items might be updated, not just your flags files. Updated Feature Index. These user-visible features are new, updated, or newly documented for SPEC CPU2006 V1 1.To compile SPEC CPU2006 benchmark suite for SimpleScalar based simulators. More generically, compile SPEC CPU2006 suite for Alpha-OSF based systems. Possible Solutionspile applications on a system which is Alpha-dec-OSF and use the binary AS IS for SimpleScalar However c code of SPEC 2K6 seems quite complex which are hard to compile with older version of glibc This means that one requires not just a system with Alpha-dec-OSF but al l the latest compilers on that system to compile c, c and Fortran source code. Use a cross-compiler, there are many available in Internet, which compiles c, c and Fortran code for alpha-dec-osf Most of the cross compilers are based on gcc. My Approachpiling all the source code on a alpha-dec-osf machine would be ideal However I don t have access to any such machine at the moment so I gave an attempt to compile SPEC 2K6 using a cross-compiler There are two options either build one or use one if someone has already built a cross-compiler for the exact system in which you want to compile the applications. Cross-Compiler Approach. Sreepathi Pai describes a method to build a cross-compiler from gcc, glibc, and Alpha OSF 1 system headers Here is the link to his project page if you wish to repeat the experiment We have build a cross-compiler using his method Here it is. Dan Kegel describes how to build cross-tools for almost any ISA-OS pair here. M5Sim project page also have few cross-compilers and their pre-complied binaries here. One of the latest and best cross-compiler is crosstool-ng which is available here We built a cross-compiler for alpha-linux-gnu system and successfully compiled 27 applications out of 29 from SPEC 2K6 suites However, Alpha-Linux ISA OS generates elf64-alpha format whereas SimpleScalar Alpha-OSF requires ecoff-littlealpha format One can use objcopy utility to translate among those two formats, however, the biggest challenge is system calls implementation in SimpleScalar More about this is in Alpha-Linux Support in SimpleScalar Section. Alpha-Linux Support in SimpleScalar. One of the challenges with current SimpleScalar tool is that it only accepts alpha-osf binaries and it is hard to find out good up-to-date tool-chain for this architecture OS Most systems have Alpha-Linux and an up-to-date tool-chain is also available for this tuple Hashem Hashemi ported SimpleScalar for Alpha-Linux and if you want it, here is the link to his project page Although he doe sn t mention about the changes which he has to make, in order to support alpha-linux, it is not so difficult Look into syscall c, loader c located in target-alpha-linux folder An additional file elf64 c is also added which adds support for elf64 format as oppose to ecoff c which was originally there to support ecoff-littlealpha format. System Requirements for SPEC CPU2006.32-bit system with at least 1 GB of memory.64-bit system with at least 2 GB of memory. At least 8 GB of disk space. Anything less would cause problems and you may end up measuring the speed of your system paging rather than actual benchmarks speed. Installation of SPEC CPU2006.Copy the whole folder called spec-cpu2006 from DVD to your home or destination folder wherever you wish to keep them. In order to install invoke the from. If the installation package is able to identify your architecture and configuration correctly it would return with success. Next step is to source cshrc from the. spec-cpu2006 folder This would load the additional evars which are needed for suite. Multiple Inputs for Same Benchmark. Some benchmarks have multiple inputs For example gcc the GNU C Compiler has 7 different inputs in the form of different data files to be used during execution I believe that it is common practice to select one of the inputs to use with SimpleScalar, although a true SPEC run on a machine requires all of the inputs be run I think That is, results are reported for one input set for gcc in a paper, not for every input set Some people indicate which input set they use by suffixing the benchmark name with the input set name for example, gcc-scilabpilation of SPEC CPU2006.Although you can locate the source code of individual benchmarks from benchspec folder and try to compile each benchmarks manually but that s not the preferred way SPEC also provides few tools to build run the benchmarks on your system and create desired binaries All tools are located in bin folder We will u se those tools to build and run some of the applications. Clean up all the run and build directories if you need to in order to re-claim space. runspec --action scrub all. Build for alpha-linux using the base configuration. runspec --action build --tune base bzip2.Upon successful building, log is created in. result folder and binary in. Run a benchmark for test input. runspec --size test --tune base --noreportable --iterations 1 bzip2.Run a benchmark for full run with reference input. runspec --size ref --noreportable --iterations 1 bzip2.Build all the benchmarks. runspec --size ref all. Execute a reportable run of whole suite. runspec --action validate all. Build, runs and validates all the benchmarks for correct output. SPEC CPU2006 Run on ACALSRV. ACALSRV is a Quad core machine in our lab Each core is two-way SMT and it is 64-bit linux box In order to test its compute power we ran few benchmarks on this machine and compared the timing with a reference machine Base Ref is time taken to run the ap plication on SPEC2K6 prescribed base machine and Base Run Time is time taken to run the application on ACALSRV machine. ACALSRV is approx 14x faster than SPEC2K6 base reference machine. Cross Compilation of SPEC CPU Benchmarks. In order to cross-compile SPEC CPU 2K6 for alpha architecture change the configuration file in config folder Look for CC, CXX and FC flags and supply the correct path of cross-compiler We have following cross-compilers at the moment. alpha-dec-osf4-gcc cross compiles c source codes to alpha-osf binary. alpha-dec-osf4-g77 cross compiles Fortran source codes to alpha-osf binary. For c we don t have any cross compiler at present. Alpha OSF4 ecoff Binaries. If you don t have inputs which you are suppose to purchase from spec corp for the applications then you can t use them You can use the command lines from this page to simulate the spec 2k6 benchmarks. Single Thread Simulation Results. Finally, the experience brings some results too We were able to compile and simulate 12 a pplications 5 INT and 7 FP for single thread using SimpleScalar. Simulator Configurations. Simulation window 100 Million INS. Issue Decode Commit 8 4 6.L1 Cache Size 32 KB 64B word, 4-Way. L2 Cache Size 1 MB 128B word, 8-Way. Base configuration and reference inputs.
No comments:
Post a Comment