المجمعين إنتل. لماذا كانت هناك حاجة للمترجمين الجدد؟
مجمعات Intel C++ وFortran ومكتبة MKL
إلى جانب مترجمات GNU القياسية لنظام التشغيل Linux، يتم تثبيت مترجمات Intel C++ وFortran على مجموعات مجمع الحوسبة NIVC. حاليًا (بداية عام 2006)، تم تثبيت الإصدار 9.1 من المترجمين على كافة المجموعات. هذه الصفحة مخصصة لوصف أهم الخيارات والإعدادات لهذه المترجمات، بالإضافة إلى اختلافاتها الرئيسية عن مترجمات GNU. تستهدف الصفحة بشكل أساسي مستخدمي مجموعات مركز الحوسبة البحثية بجامعة ولاية ميشيغان، ولكنها قد تكون مفيدة أيضًا للمستخدمين الآخرين الناطقين باللغة الروسية. لم يتم تناول المشكلات المتعلقة بالتجميع لمنصة IA-64 هنا.
كما تم تثبيت مكتبة Intel على كافة المجموعات مكتبة نواة الرياضيات(MKL) الإصدار 8.0.2. تقع المكتبة في الدليل /usr/mkl. يرجى ملاحظة أن الدلائل الفرعية 32 و64 وem64t متوفرة في دليل lib. في مجموعة Ant، تحتاج إلى استخدام المكتبات من الدليل الفرعي em64t، وفي المجموعات الأخرى - من الدليل الفرعي 32. يمكن الحصول على جميع الوثائق والأمثلة الضرورية من الدليل /usr/mkl/doc.
لماذا كانت هناك حاجة للمترجمين الجدد؟
نشأت الحاجة إلى مترجمين جدد بشكل أساسي من أجل أ) دعم البرمجة في Fortran 90، وأيضًا ب) لتحسين أقوى لبرامج Fortran مما يوفره المترجم g77، الذي يستخدم الترجمة إلى لغة C ثم التجميع باستخدام gcc.
يلبي مجمعو PGI (Portland Group) أيضًا هذه المتطلبات، لكن الشركة المطورة رفضت توريدها إلى روسيا.
كيف تستعمل؟
يتم استدعاء مترجمات Intel باستخدام الأوامر com.icc(سي أو سي++)، icpc(ج++) و com.ifort(فورتران 77/90). يتم أيضًا تكوين أوامر mpicc وmpiCC وmpif77 لتجميع برامج MPI وتجميعها لاستخدام برامج التحويل البرمجي من Intel.
من الممكن أيضًا استخدام مترجمات GNU باستخدام أوامر mpigcc وmpig++ وmpig77 (Fortran 90 غير مدعوم).
ملفات الإدخال
بشكل افتراضي، الملفات ذات الامتداد .CPPو .cxxتعتبر نصوصًا مصدرية في لغة C++، وملفات ذات امتداد ج- كود مصدر C، ويقوم مترجم icpc أيضًا بتجميع ملفات .c كرمز مصدر C++.
الملفات ذات الامتدادات .F, .ftnو .ليتم التعرف عليها كنصوص مصدرية في لغة الفوتران، مع شكل ثابت من التدوين والملفات .fppو .Fبالإضافة إلى ذلك، تم تمريرها عبر المعالج المسبق للغة Fortran. الملفات ذات الامتداد .f90تعتبر نصوص مصدر فورتران 90/95 مع تدوين حر الشكل. يمكنك تحديد شكل ثابت أو مجاني من التدوين لبرامج Fortran باستخدام الخيارات -FIو -الابعلى التوالى.
الملفات ذات الامتداد .ستم التعرف عليه كرمز لغة التجميع لـ IA-32.
ميزات مترجم إنتل
نعرض هنا خصائص مجمعات Intel كما ذكرها المطور في دليل المستخدم مع بعض تعليقاتنا.
- تحسين كبير
على ما يبدو، هذا يعني تحسين التعليمات البرمجية على مستوى عال، أي. بادئ ذي بدء، تحويلات الحلقة المختلفة، والتي يقوم بها جميع المترجمين تقريبًا بنجاح أكبر أو أقل - تحسين النقطة العائمة
على ما يبدو، هذا يعني، أولا وقبل كل شيء، الحد الأقصى لاستخدام الأوامر المنفذة على مستوى الأجهزة - تحسينات بين الإجراءات
أولئك. التحسين الشامل للبرنامج بأكمله، على عكس التحسين العادي، الذي يؤثر فقط على كود وظائف محددة - التحسين على أساس الملف الشخصي
أولئك. القدرة على تشغيل برنامج في وضع الاختبار، وجمع البيانات في الوقت الذي يستغرقه تمرير أجزاء معينة من التعليمات البرمجية داخل الوظائف المستخدمة بشكل متكرر، ثم استخدام هذه البيانات للتحسين - دعم مجموعة تعليمات SSE في معالجات Pentium III
ملاحظة: بالنسبة لمهام الحوسبة، تكون أوامر SSE2 أكثر أهمية، أي. يتحكم المتجه في أعداد حقيقية بحجم 64 بت، ولكنها مدعومة فقط على معالجات Pentium 4، والتي لا تتوفر لدينا حتى الآن - المتجهات التلقائية
أولئك. مرة أخرى، باستخدام أوامر SSE وSSE2، التي يتم إدراجها تلقائيًا بواسطة المترجم - دعم OpenMP للبرمجة على أنظمة SMP
ملاحظة: في المجموعة، يوصى باستخدام واجهة MPI بشكل أساسي؛ من غير المتوقع استخدام OpenMP على نطاق واسع في المجموعة ولم يتم تنفيذ مثل هذه التجارب بعد؛ ولكن ربما يكون من المنطقي استخدام المكتبات (BLAS، وما إلى ذلك) المتوازية للذاكرة المشتركة. - الجلب المسبق للبيانات
أولئك. على ما يبدو، يتم استخدام أوامر التحميل المسبق من الذاكرة في ذاكرة التخزين المؤقت للبيانات، والتي ستكون هناك حاجة إليها بعد مرور بعض الوقت - رمز "الإرسال" لمعالجات مختلفة
أولئك. القدرة على توليد التعليمات البرمجية لمعالجات مختلفة في ملف واحد قابل للتنفيذ، مما يتيح لك الاستفادة منها أحدث المعالجاتلتحقيق أعلى أداء عليها، مع الحفاظ على التوافق الثنائي للبرامج مع المعالجات السابقة؛ في مجموعتنا، هذا ليس ذا صلة بعد، لأنه يتم استخدام معالجات Pentium III فقط، وليس من المفترض أن يتم نقل البرامج المجمعة على المجموعة وتشغيلها على أجهزة أخرى
خيارات المترجم الأساسية
الأكثر إثارة للاهتمام، بالطبع، هي خيارات تحسين التعليمات البرمجية. معظم الخيارات شائعة لدى مترجمي C++ وFortran. أكثر وصف تفصيليالخيارات في أدلة المستخدم باللغة الإنجليزية.
مستويات التحسين | |
---|---|
خيار | وصف |
-O0 | تعطيل التحسين |
-O1 أو -O2 | التحسين الأساسي للسرعة. تم تعطيل الإدراج المضمن لوظائف المكتبة. بالنسبة لمترجم C++، توفر هذه الخيارات نفس التحسين؛ بالنسبة لمترجم Fortran، يفضل خيار -O2، لأن يتضمن أيضًا الترويج للدورة. |
-O3 | تحسينات أكثر قوة بما في ذلك تحويلات الحلقة والجلب المسبق للبيانات واستخدام OpenMP. قد لا تضمن بعض البرامج تحسين الأداء مقارنة بـ -O2. من المنطقي استخدامه مع خيارات التوجيه -xKو -xW. |
-فتح [ن] | تمكين تفكيك الحلقة حتى n مرة. |
تحسينات لمعالج معين | |
خيار | وصف |
-tpp6 | الأمثل لمعالجات Penitum Pro وPentium II وPentium III |
-tpp7 | تحسين معالجات Penitum 4 (يتم تمكين هذا الخيار افتراضيًا للمترجم IA-32) |
-xM | إنشاء التعليمات البرمجية باستخدام امتدادات MMX الخاصة بمعالجات Pentium MMX وPentium II والإصدارات الأحدث |
-xK | إنشاء التعليمات البرمجية باستخدام امتدادات SSE الخاصة بمعالجات Pentium III |
-xW | إنشاء التعليمات البرمجية باستخدام امتدادات SSE2 الخاصة بمعالجات Pentium 4 |
التحسين بين الإجراءات | |
-ip | يتم تمكين التحسين بين الإجراءات في ملف واحد. إذا قمت بتحديد الخيار -ip_no_inlining، ثم يتم تعطيل عمليات إدراج الوظائف المضمنة. |
-الاكتتاب العام | تمكين التحسين بين الإجراءات بين الملفات المختلفة |
التحسينات باستخدام الملفات الشخصية | |
-prof_gen | يتم إنشاء رمز "التوصيف" الذي سيتم استخدامه للتوصيف، على سبيل المثال. جمع بيانات عن تكرار اجتياز أماكن معينة في البرنامج |
-prof_use | يتم إجراء التحسين بناءً على البيانات التي تم الحصول عليها خلال مرحلة التوصيف. من المنطقي استخدامه مع خيار التحسين بين الإجراءات -الاكتتاب العام. |
التوازي لأنظمة SMP | |
-openmp | تمكين الدعم لمعيار OpenMP 2.0 |
-موازي | تم تمكين موازاة الحلقة التلقائية |
أداء
وفقًا لنتائج تشغيل اختبارات SPEC CPU2000، المنشورة على خادم ixbt.com، كان الإصدار 6.0 من مترجمات Intel أفضل عالميًا تقريبًا مقارنة بإصدارات مترجمات دول مجلس التعاون الخليجي 2.95.3 و2.96 و3.1 وPGI الإصدار 4.0.2. تم إجراء هذه الاختبارات في عام 2002 على جهاز كمبيوتر مزود بمعالج Pentium 4/1.7 جيجا هرتز ونظام RedHat Linux 7.3.
وفقًا للاختبارات التي أجرتها شركة Polyhedron، كان الإصدار 7.0 من مترجم Intel Fortran متفوقًا عالميًا تقريبًا على مترجمات Fortran 77 الأخرى لنظام Linux (Absoft، وGNU، وLahey، وNAG، وNAS، وPGI). فقط في بعض الاختبارات، يكون مترجم Intel أدنى قليلاً من مترجمي Absoft وNAG وLahey. تم إجراء هذه الاختبارات على جهاز كمبيوتر مزود بمعالج Pentium 4/1.8 جيجا هرتز ونظام Mandrake Linux 8.1.
يتفوق الإصدار 9.1 من برامج التحويل البرمجي من Intel أيضًا على مترجمات دول مجلس التعاون الخليجي، ويظهر أداءً مشابهًا لـ Absoft وPathScale وPGI.
سنكون ممتنين للمستخدمين والقراء الذين يرسلون إلينا بيانات حول تأثير اختيار المترجم (دول مجلس التعاون الخليجي أو Intel) وخيارات التحسين على سرعة العمل على مشاكل حياتهم الواقعية.
المكتبات
يستخدم مترجم لغة C مكتبة وقت التشغيل التي تم تطويرها ضمن مشروع GNU ( libc.a).
يتم توفير المكتبات التالية مع برنامج التحويل البرمجي Intel C++:
- libcprts.a- مكتبة لغة C++ لوقت التشغيل تم تطويرها بواسطة Dinkumware.
- libcxa.a- مكتبة وقت تشغيل إضافية لتطوير C++ بواسطة Intel.
- libimf.a- مكتبة الدوال الرياضية التي طورتها شركة إنتل، والتي تتضمن تطبيقات محسنة وعالية الدقة للدوال المثلثية والزائدة والأسية والخاصة والمعقدة وغيرها (لمزيد من التفاصيل، راجع قائمة الوظائف).
- libirc.a- دعم وقت التشغيل للتوصيف (PGO) وإرسال التعليمات البرمجية اعتمادًا على المعالج (انظر أعلاه).
- libguide.a- تنفيذ برنامج OpenMP.
تحتوي هذه القائمة على مكتبات ثابتة، ولكن بالنسبة لمعظمها هناك أيضًا مكتبات ديناميكية، أي. الخيارات المتصلة أثناء بدء التشغيل ( .لذا).
يتم توفير المكتبات التالية مع مترجم Fortran: libCEPCF90.a, libIEPCF90.a, ليبنترينز.أ, libF90.a، يتم استخدام مكتبة الوظائف الرياضية libimf.a أيضًا.
بناء الملف القابل للتنفيذ
يمكن توصيل المكتبات بشكل ثابت (أثناء الإنشاء) أو ديناميكيًا (أثناء بدء تشغيل البرنامج). يتيح لك النهج الديناميكي تقليل حجم الملف القابل للتنفيذ ويسمح لك بمشاركة نفس نسخة المكتبة في الذاكرة، ولكن لهذا تحتاج إلى تثبيت مجموعة كاملة من المكتبات الديناميكية المستخدمة في كل عقدة حيث سيتم إطلاق البرامج .
وبالتالي، إذا قمت بتثبيت برنامج التحويل البرمجي Intel على جهاز Linux الخاص بك وترغب في تشغيل الملفات القابلة للتنفيذ المجمعة على أجهزة أخرى، فأنت بحاجة إما إلى استخدام بناء ثابت (وهو أسهل) أو نسخ مكتبات Intel الديناميكية إلى هذه الأجهزة (عادةً من دليل مثل /opt/intel /compiler70/ia32/lib) إلى أحد الأدلة المدرجة في الملف /etc/ld.so.conf، وتأكد أيضًا من تثبيت نفس مجموعة مكتبات GNU/Linux الديناميكية على هذه المجلدات آلات.
بشكل افتراضي، ترتبط جميع مكتبات تطوير Intel (باستثناء libcxa.so) بشكل ثابت، ويتم ربط جميع مكتبات نظام Linux ومكتبات GNU ديناميكيًا. باستخدام الخيار -ثابتةيمكنك إجبار المجمع (محرر الارتباط) على توصيل جميع المكتبات بشكل ثابت (مما سيؤدي إلى زيادة حجم الصوت ملف تنفيذي)، واستخدام الخيار -i_dynamicيمكنك ربط جميع مكتبات تطوير Intel ديناميكيًا.
عند توصيل مكتبات إضافية باستخدام خيار العرض -مكتبةقد تحتاج إلى استخدام الخيار -الدليللتحديد المسار حيث توجد المكتبات.
باستخدام الخيارات -بستاتيكو -ديناميكيةيمكنك تحديد اتصال ديناميكي أو ثابت بشكل صريح لكل مكتبة من المكتبات المحددة في سطر الأوامر.
باستخدام الخيار -جتم تعطيل تجميع الملف القابل للتنفيذ ويتم تنفيذ التجميع فقط (إنشاء وحدة نمطية للكائن).
وحدات المشاركة في Fortran وC
لمشاركة الوحدات المكتوبة بلغة Fortran وC، يتعين عليك الموافقة على تسمية الإجراءات في وحدات الكائنات، وتمرير المعلمات، والوصول إلى المتغيرات العامة، إن وجدت.
افتراضيًا، يقوم برنامج التحويل البرمجي Intel Fortran بتحويل أسماء الإجراءات إلى أحرف صغيرة وإضافة شرطة سفلية إلى نهاية الاسم. لا يغير مترجم C أسماء الوظائف أبدًا. وبالتالي، إذا أردنا استدعاء وظيفة أو إجراء تم تنفيذه في FNNAME في لغة C من وحدة Fortran، فيجب أن يطلق عليه في وحدة C اسم fnname_.
يدعم مترجم Fortran هذا الخيار -nus [اسم الملف]، والذي يسمح لك بتعطيل إضافة الشرطة السفلية إلى أسماء الإجراءات الداخلية. إذا تم تحديد اسم ملف، فسيتم ذلك فقط لأسماء الإجراءات المدرجة في الملف المحدد.
بشكل افتراضي، يتم تمرير المعلمات في Fortran حسب المرجع، وفي لغة C يتم تمريرها دائمًا حسب القيمة. وبالتالي، عند استدعاء إجراء Fortran من وحدة C، يجب علينا تمرير مؤشرات إلى المتغيرات المقابلة التي تحتوي على قيم المعلمات الفعلية كمعلمات. عند كتابة دالة في لغة C والتي يجب استدعاؤها من وحدة Fortran، يجب علينا وصف المعلمات الرسمية كمؤشرات للأنواع المقابلة.
في وحدات C، من الممكن استخدام كتل COMMON المحددة داخل وحدات Fortran (لمزيد من المعلومات، راجع دليل مستخدم Intel Fortran Compiler، الفصل Mixing C وFortran).
تقاسم المترجمين إنتل ودول مجلس التعاون الخليجي
وحدات كائن C التي ينتجها مترجم Intel C++ متوافقة مع الوحدات التي ينتجها مترجم دول مجلس التعاون الخليجي ومكتبة GNU C. وبالتالي، يمكن استخدام هذه الوحدات معًا في برنامج واحد تم تجميعه باستخدام أوامر icc أو gcc، ولكن يوصى باستخدام icc لتضمين مكتبات Intel بشكل صحيح.
يدعم مترجم Intel عددًا من امتدادات لغة C غير القياسية التي يستخدمها مشروع GNU ويدعمها مترجم دول مجلس التعاون الخليجي (ولكن ليس جميعها، انظر هنا لمزيد من التفاصيل).
لا يذكر دليل المستخدم أي شيء عن توافق وحدات الكائنات في لغات C++ وFortran، ويبدو أنه غير مدعوم.
دعم المعايير
يدعم Intel C++ Compiler 7.0 لنظام التشغيل Linux معيار اللغة ANSI/ISO C (ISO/IEC 9899/1990). من الممكن تحقيق توافق صارم مع معيار ANSI C ( -ansi) أو لهجة ANSI C الموسعة ( -Xa). عند استخدام الخيار -c99
ناقشنا في العدد السابق من المجلة منتجات من عائلة Intel VTune Performance Analyzer - أدوات تحليل الأداء التي تحظى بشعبية كبيرة بين مطوري التطبيقات وتسمح بالكشف في التعليمات البرمجية تطبيقات الفريق، والتي تهدر الكثير من موارد وحدة المعالجة المركزية، مما يمنح المطورين الفرصة لتحديد الإمكانات والقضاء عليها الأماكن الضيقة، المرتبطة بأقسام مماثلة من التعليمات البرمجية، وبالتالي تسريع عملية تطوير التطبيق. ومع ذلك، لاحظ أن أداء التطبيقات يعتمد إلى حد كبير على مدى كفاءة المترجمين المستخدمة في تطويرها، وما هي الميزات المعداتيتم استخدامها عند إنشاء رمز الجهاز.
تتيح لك أحدث الإصدارات من برامج التحويل البرمجي Intel Intel C++ وIntel Fortran لنظامي التشغيل Windows وLinux الحصول على فوائد أداء التطبيقات للأنظمة المعتمدة على معالجات إنتلإيتانيوم 2، وإنتل زيون و إنتل بنتيوم 4 ما يصل إلى 40% مقارنة بالمترجمين الحاليين من الشركات المصنعة الأخرى بسبب استخدام ميزات هذه المعالجات مثل تقنية Hyper-Threading.
تتضمن الاختلافات المرتبطة بتحسين التعليمات البرمجية من قبل هذه العائلة من المترجمين استخدام المكدس لتنفيذ عمليات الفاصلة العائمة، والتحسين بين الإجراءات (IPO)، والتحسين وفقًا لملف تعريف التطبيق (التحسين الموجه للملف الشخصي (PGO)، وتحميل البيانات مسبقًا في ذاكرة التخزين المؤقت ( الجلب المسبق للبيانات)، والذي يتجنب الكمون المرتبط بالوصول إلى الذاكرة، ودعم الميزات المميزة لمعالجات Intel (على سبيل المثال، امتدادات معالجة تدفق البيانات Intel Streaming SIMD Extensions 2، المميزة لـ Intel Pentium 4)، والتوازي التلقائي لتنفيذ التعليمات البرمجية، والتطبيق الخلق، ويعمل على عدة أنواع مختلفةالمعالجات عند تحسين أحدها، وأدوات "التنبؤ" بالكود اللاحق (التنبؤ بالفرع)، والدعم الموسع للعمل مع سلاسل التنفيذ.
لاحظ أنه يتم استخدام مترجمات Intel في شركات معروفة مثل Alias/Wavefront، وOracle، وFujitsu Siemens، وABAQUS، وSilicon Graphics، وIBM. وفقًا للاختبارات المستقلة التي أجراها عدد من الشركات، فإن أداء مترجمات Intel أعلى بكثير من أداء المجمعين من الشركات المصنعة الأخرى (انظر، على سبيل المثال، http://intel.com/software/products/compilers/techtopics/compiler_gnu_perf .بي دي إف).
أدناه سننظر في بعض الميزات أحدث الإصداراتمجمعات إنتل لسطح المكتب والخادم أنظمة التشغيل.
المترجمين لمنصة Microsoft Windows
إنتل C++ مترجم 7.1 لنظام التشغيل Windows
Intel C++ Compiler 7.1 هو مترجم تم إصداره في وقت سابق من هذا العام والذي يوفر تعليمات برمجية محسنة للغاية لمعالجات Intel Itanium وIntel Itanium 2 وIntel Pentium 4 وIntel Xeon، بالإضافة إلى معالج Intel Pentium M الذي يستخدم تقنية Intel Centrino والمخصص للاستخدام في أجهزة محمولة.
المترجم المحدد متوافق تمامًا مع أدوات التطوير Microsoft Visual C++ 6.0 وMicrosoft Visual Studio .NET: ويمكن دمجه في بيئات التطوير المقابلة.
يدعم هذا المترجم معايير ANSI وISO C/C++.
مترجم إنتل فورتران 7.1 لنظام التشغيل Windows
يسمح لك برنامج Intel Fortran Compiler 7.1 لنظام التشغيل Windows، الذي تم إصداره أيضًا في وقت سابق من هذا العام، بإنشاء تعليمات برمجية محسنة لمعالجات Intel Itanium وIntel Itanium 2 وIntel Pentium 4 وIntel Xeon وIntel Pentium M.
هذا المترجم متوافق تمامًا مع أدوات تطوير Microsoft Visual C++ 6.0 وMicrosoft Visual Studio .NET، أي أنه يمكن دمجه في بيئات التطوير المقابلة. بالإضافة إلى ذلك، يتيح لك هذا المترجم تطوير تطبيقات 64 بت لأنظمة التشغيل التي تعمل على معالجات Itanium/Itanium 2 باستخدام Microsoft Visual Studio على معالج Pentium 32 بت باستخدام مترجم Intel Fortran 64 بت. عند تصحيح التعليمات البرمجية، يسمح لك هذا المترجم باستخدام مصحح الأخطاء منصات مايكروسوفت.شبكة.
إذا كان لديك منتج Compaq مثبتًا، فيمكن استخدام Visual Fortran 6.6 بدلاً من Intel Fortran Compiler 7.1 الأصلي، نظرًا لأن هذه المترجمات متوافقة على المستوى مصدر الرمز.
Intel Fortran Compiler 7.1 لنظام التشغيل Windows متوافق تمامًا مع معيار ISO Fortran 95 ويدعم إنشاء وتصحيح التطبيقات التي تحتوي على تعليمات برمجية بلغتين: C وFortran.
المترجمين لمنصة لينكس
إنتل C++ مترجم 7.1 لنظام التشغيل Linux
مترجم آخر تم إصداره في بداية العام، Intel C++ Compiler 7.1 لنظام التشغيل Linux، يسمح لك بتحقيق درجة عالية من تحسين التعليمات البرمجية لمعالجات Intel Itanium وIntel Itanium 2 وIntel Pentium 4 وIntel Pentium M. هذا المترجم كامل متوافق مع مترجم GNU C في الكود المصدري ووحدات الكائن، مما يسمح لك بترحيل التطبيقات التي تم إنشاؤها باستخدام GNU C إليه دون تكاليف إضافية. يدعم مترجم Intel C++ C++ ABI (إضافة إلى Linux kernel الذي يسمح لك بتشغيل تحت السيطرة على لينكسالتعليمات البرمجية المترجمة لمنصات أخرى مثل أنظمة تشغيل SCO المبكرة، الإصدارات المبكرة Sun Solaris، وما إلى ذلك)، مما يعني التوافق الكامل مع مترجم gcc 3.2 على مستوى الكود الثنائي. أخيرًا، باستخدام Intel C++ Compiler 7.1 لنظام التشغيل Linux، يمكنك أيضًا إعادة ترجمة نواة Linux عن طريق إجراء بعض التغييرات الطفيفة على كود المصدر الخاص بها.
مترجم إنتل فورتران 7.1 لنظام التشغيل Linux
يتيح لك Intel Fortran Compiler 7.1 لنظام التشغيل Linux إنشاء تعليمات برمجية محسنة لمعالجات Intel Itanium وIntel Itanium 2 وIntel Pentium 4 وIntel Pentium M. هذا المترجم متوافق تمامًا مع مترجم Compaq Visual Fortran 6.6 على مستوى الكود المصدري، مما يتيح لك لإعادة ترجمة التطبيقات التي تم إنشاؤها باستخدام Compaq Visual Fortran، وبالتالي زيادة أدائها.
بالإضافة إلى ذلك، فإن المترجم المحدد متوافق مع الأدوات المساعدة التي يستخدمها المطورون مثل محرر emacs، ومصحح أخطاء gdb، والأداة المساعدة لإنشاء التطبيق.
مثل إصدار Windows من هذا المترجم، فإن Intel Fortran Compiler 7.1 لنظام التشغيل Linux متوافق تمامًا مع معيار ISO Fortran 95 ويدعم إنشاء وتصحيح التطبيقات التي تحتوي على تعليمات برمجية بلغتين: C وFortran.
يجب التأكيد بشكل خاص على أن المساهمة الكبيرة في إنشاء مجمعات Intel المدرجة قد تم تقديمها من قبل متخصصين من مركز تطوير البرمجيات Intel الروسي في نيجني نوفغورود. أكثر معلومات مفصلةيمكن العثور على معلومات حول برامج التحويل البرمجي لشركة Intel على موقع Intel على الويب www.intel.com/software/products/.
سيتم تخصيص الجزء الثاني من هذه المقالة لمترجمي Intel الذين يقومون بإنشاء تطبيقات للأجهزة المحمولة.
أنت لست عبدا!
دورة تعليمية مغلقة لأطفال النخبة: "الترتيب الحقيقي للعالم".
http://noslave.org
مادة من ويكيبيديا – الموسوعة الحرة
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). | ||||||||||||||||||||||||||||||||||||
يكتب | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
مؤلف |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
مطور | ||||||||||||||||||||||||||||||||||||
المطورين |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
وكتب على |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
واجهه المستخدم |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
نظام التشغيل | ||||||||||||||||||||||||||||||||||||
لغات الواجهة |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
الطبعة الأولى |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
منصة الأجهزة | ||||||||||||||||||||||||||||||||||||
احدث اصدار | ||||||||||||||||||||||||||||||||||||
الافراج عن مرشح |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
النسخة التجريبية |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
نسخة ألفا |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
نسخة تجريبية |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
تنسيقات الملفات القابلة للقراءة |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
تنسيقات الملفات التي تم إنشاؤها |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
ولاية |
خطأ Lua في الوحدة: ويكي بيانات في السطر 170: محاولة فهرسة حقل "قاعدة الويكي" (قيمة صفر). |
|||||||||||||||||||||||||||||||||||
رخصة |
الخصائص الرئيسية:
يدعم المترجم معيار OpenMP 3.0 لكتابة البرامج المتوازية. يحتوي أيضًا على تعديل لـ OpenMP يسمى Cluster OpenMP، والذي يمكنك من خلاله تشغيل التطبيقات المكتوبة وفقًا لـ OpenMP على مجموعات باستخدام MPI. يستخدم برنامج Intel C++ Compiler الواجهة الأمامية (جزء من برنامج التحويل البرمجي الذي يقوم بتوزيع البرنامج المترجم) من Edison Design Group. يتم استخدام نفس الواجهة الأمامية بواسطة مترجمي SGI MIPSpro وComeau C++ وPortland Group. يستخدم هذا المترجم على نطاق واسع لتجميع معايير SPEC CPU. هناك 4 سلاسل من المنتجات من Intel تحتوي على المترجم:
تشمل عيوب إصدار Linux من المترجم عدم التوافق الجزئي مع امتدادات GNU للغة C (المدعومة من قبل المترجم الخليجي)، مما قد يسبب مشاكل عند ترجمة بعض البرامج.
الخيارات التجريبيةتم نشر الإصدارات التجريبية التالية من المترجم:
الأعلام الأساسية
اكتب مراجعة عن مقالة "مترجم Intel C++"ملحوظاتأنظر أيضاروابط
مقتطف يميز مترجم Intel C++وأيضًا، عادت لرؤية الساحر الأبيض للمرة الأخيرة... زوجها وصديقها الحقيقي، الذي لا يمكن أن تنساه أبدًا. في قلبها غفرت له. لكن، ولأسفه الشديد، لم تستطع أن تقدم له مغفرة المجدلية... لذا، كما ترى، يا إيسيدورا، فإن الحكاية المسيحية العظيمة عن "المغفرة" هي مجرد كذبة طفولية للمؤمنين الساذجين، من أجل السماح لهم بذلك. لفعل أي شر، مع العلم أنه بغض النظر عما يفعلونه، فسوف يغفر لهم في النهاية. لكن لا يمكنك أن تسامح إلا ما يستحق المغفرة حقًا. يجب على الإنسان أن يفهم أنه يجب عليه الرد على أي شر يرتكب... وليس أمام إله غامض، ولكن أمام نفسه، مما يجبر نفسه على المعاناة بقسوة. لم تغفر ماجدالينا فلاديكا، رغم أنها تحترمه بشدة وأحبته بصدق. تمامًا كما فشلت في مسامحتنا جميعًا على الموت الرهيب لرادومير. بعد كل شيء، لقد فهمت أفضل من أي شخص آخر - كان بإمكاننا مساعدته، وكان بإمكاننا إنقاذه من الموت القاسي... لكننا لم نرغب في ذلك. نظرًا لأن ذنب الساحر الأبيض كان قاسيًا للغاية، فقد تركته ليعيش مع هذا الذنب، دون أن ينساه لمدة دقيقة... لم ترغب في منحه العفو السهل. لم نرها مرة أخرى. تمامًا كما لو أنهم لم يروا أطفالهم أبدًا. ومن خلال أحد فرسان معبدها - ساحرنا - نقلت المجدلية إجابة الرب على طلبه بالعودة إلينا: "الشمس لا تشرق مرتين في نفس اليوم... فرحة عالمك (رادومير) سوف لن أعود إليك أبدًا، تمامًا كما لن أعود إليك وأنا... لقد وجدت إيماني وحقيقتي، إنهما على قيد الحياة، لكن إيمانك مات... احزن على أبنائك - لقد أحبوك. لن أسامحك أبدًا على موتهم وأنا على قيد الحياة. وليبقى ذنبك معك. ربما تأتيك يومًا ما بالنور والمغفرة... لكن ليس مني." لم يتم إحضار رأس المجوس جون إلى ميتيورا لنفس السبب - لم يرغب أي من فرسان المعبد في العودة إلينا... لقد فقدناهم، كما فقدنا العديد من الآخرين أكثر من مرة، الذين لم يرغبوا في ذلك. افهم واقبل ضحايانا... من فعل مثلك تمامًا - لقد غادروا وأدانونا.كان رأسي يدور!.. مثل شخص عطشان، أروي جوعي الأبدي للمعرفة، استوعبت بجشع تدفق المعلومات المذهلة التي قدمها لي الشمال بسخاء... وأردت المزيد!.. أردت أن أعرف كل شيء لكي أعرفه. النهاية. لقد كانت نسمة ماء عذبة في صحراء محروقة بالآلام والمتاعب! ولم أكتفي منه.. – لدي آلاف الأسئلة! لكن لم يبق وقت... ماذا أفعل يا شمال؟.. - اسأل يا إيسيدورا!.. اسأل سأحاول أن أجيبك... – أخبرني يا سيفر، لماذا يبدو لي أن هذه القصة تبدو وكأنها تجمع بين قصتين من قصص الحياة، تتشابكان مع أحداث متشابهة، ويتم تقديمهما على أنها حياة شخص واحد؟ أم أنني لست على حق؟ - أنت على حق تماما، إيزيدورا. كما قلت لك سابقًا، فإن "قوى هذا العالم"، التي خلقت التاريخ الزائف للبشرية، "وضعت" على حياة المسيح الحقيقية الحياة الغريبة للنبي اليهودي يشوع، الذي عاش قبل ألف ونصف عام ( من زمن قصة الشمال). وليس نفسه فقط، بل أيضًا عائلته وأقاربه وأصدقائه وأصدقائه وأتباعه. بعد كل شيء، كانت زوجة النبي جوشوا، مريم اليهودية، التي كان لها أخت مارثا وأخ لعازر، أخت والدته ماريا يعقوب، وغيرهم ممن لم يكونوا بالقرب من رادومير وماجدالين. كما لم يكن هناك "رسل" آخرين بجانبهم: بولس ومتى وبطرس ولوقا والبقية... لقد كانت عائلة النبي يشوع هي التي انتقلت منذ ألف ونصف سنة إلى بروفانس (التي كانت تسمى في تلك الأيام بلاد الغال العابرة لجبال الألب)، إلى مدينة ماساليا اليونانية (مارسيليا الحالية)، إذ كانت ماساليا في ذلك الوقت هي المدينة "البوابة" بين أوروبا وآسيا، وكانت الطريق الأسهل لجميع "المضطهدين" لتجنب الاضطهاد والمتاعب.
|