इंटेल फोरट्रान कंपाइलर

इंटेल वनएपीआई एचपीसी टूलकिट के हिस्से के रूप में इंटेल फोरट्रान कंपाइलर, माइक्रोसॉफ़्ट विंडोज़, मैकओएस और लिनक्स के लिए इंटेल के फोरट्रान संकलनकर्ता का समूह है।

अवलोकन
कंपाइलर IA-32 और इंटेल 64 प्रोसेसर और कुछ गैर-इंटेल किन्तु संगत प्रोसेसर, जैसे कि कुछ एएमडी प्रोसेसर के लिए कोड उत्पन्न करते हैं। IA-64 (इटेनियम) प्रोसेसर के लिए लिनक्स-आधारित अनुप्रयोगों के विकास के लिए कंपाइलर (11.1) की विशिष्ट रिलीज़ उपलब्ध रहती है। विंडोज़ पर, इसे इंटेल विज़ुअल फोरट्रान के नाम से जाना जाता है। MacOS और Linux पर, इसे इंटेल फोरट्रान के नाम से जाना जाता है। 2020 में उपस्तिथा कंपाइलर का नाम बदलकर "इंटेल फोरट्रान कंपाइलर क्लासिक" (आईफोर्ट) कर दिया गया और जीपीयू ऑफलोड को सपोर्ट करने वाले वनएपीआई (कंप्यूट एक्सेलेरेशन) (आईएफएक्स) के लिए नया इंटेल फोरट्रान कंपाइलर प्रस्तुत किया गया।

क्लासिक कंपाइलर की 2021 रिलीज में 2018 मानक, पूर्ण ओपनएमपी* 4.5 और केवल सीपीयू के लिए प्रारंभिक ओपन एमपी 5.1 के माध्यम से पूर्ण फोरट्रान समर्थन जोड़ा गया है। 2021 बीटा कंपाइलर जीपीयू ऑफलोड के लिए ओपनएमपी पर केंद्रित है। जब इंटेल वनएपीआई एचपीसी टूलकिट (नीचे पैकेजिंग का विवरण देखें) के साथ उपयोग किया जाता है, तब कंपाइलर ओपनएमपी निर्देशों से वितरित मेमोरी मल्टीप्रोसेसिंग के लिए स्वचालित रूप से संदेश पासिंग इंटरफ़ेस कॉल भी उत्पन्न कर सकता है।

फ़ोरट्रान मानकों पर अधिक जानकारी के लिए, संख्या या संसाधन उपलब्ध हैं, जैसे विकिपीडिया फ़ोरट्रान प्रविष्टि या फ़ोरट्रान विकि पृष्ठ।

इंटेल फोरट्रान पैकेज में इंटेल ऐरे विज़ुअलाइज़र सम्मिलित है, जो एफआईटीएस और नेटसीडीएफ जैसे वैज्ञानिक प्रारूपों के लिए विज़ुअलाइज़ेशन टूल है, जो एक्स-वाई प्लॉट, समोच्च प्लॉट और छवि प्लॉट का उत्पादन कर सकता है, और उन्हें अन्य प्रारूपों में सहेज सकता है।

अनुकूलन
इंटेल कंपाइलर अनुकूलित हैं इंटेल आर्किटेक्चर का समर्थन करने वाले प्रोसेसर का उपयोग करने वाले कंप्यूटर सिस्टम के लिए। वह स्टालों को कम करने और कोड का उत्पादन करने के लिए डिज़ाइन किए गए हैं जो कम से कम संभव संख्या में चक्रों में निष्पादित होते हैं। इंटेल फोरट्रान कंपाइलर्स संकलित प्रोग्राम को अनुकूलित करने के लिए तीन भिन्न -भिन्न  उच्च-स्तरीय तकनीकों का समर्थन करते हैं: अंतरप्रक्रियात्मक अनुकूलन (आईपीओ), प्रोफ़ाइल-निर्देशित अनुकूलन (पीजीओ), और अन्य कार्यक्रम अनुकूलन|उच्च-स्तरीय अनुकूलन (एचएलओ)।

इंटरप्रोसेड्यूरल ऑप्टिमाइज़ेशन विशिष्ट कंपाइलर ऑप्टिमाइज़ेशन (जैसे निरंतर प्रसार) क्रियान्वित करता है किन्तु व्यापक दायरे का उपयोग करता है जिसमें अनेक  प्रक्रियाएँ, अनेक  फ़ाइलें या संपूर्ण प्रोग्राम सम्मिलित हो सकते हैं। प्रोफ़ाइल-निर्देशित अनुकूलन के संबंध में, कंपाइलर प्रतिनिधि वर्कलोड के साथ एप्लिकेशन का उपयोग करने से प्रदर्शन-संबंधित जानकारी का डेटासेट उत्पन्न करता है, जिसका विश्लेषण यह पता लगाने के लिए किया जाता है कि एप्लिकेशन के कौन से हिस्से अधिक और कम बार निष्पादित होते हैं। कंपाइलर इन डेटा का उपयोग एप्लिकेशन निष्पादन को व्यवस्थित करने के लिए करता है जिससे कि एप्लिकेशन वास्तव में कैसे उपयोग किया जाता है इसके आधार पर प्रदर्शन को अनुकूलित किया जा सके। यह आईपीओ के विपरीत है जो कार्यभार से स्वतंत्र एप्लिकेशन के तार्किक प्रवाह के अनुसार अनुप्रयोगों को अनुकूलित करता है। कार्यभार-आधारित अनुकूलन प्रदान करने के लिए दोनों को जोड़ा जा सकता है जिसके भीतर तार्किक-प्रवाह अनुकूलित होता है। इस प्रकार, सभी अनुकूलन प्रोफ़ाइल-निर्देशित फीडबैक से लाभान्वित हो सकते हैं क्योंकि संकलन निर्णय लेते समय वह अनुमान पर कम निर्भर होते हैं।

उच्च-स्तरीय अनुकूलन प्रोग्राम के संस्करण पर किए गए अनुकूलन हैं जो स्रोत कोड को अधिक बारीकी से दर्शाते हैं। इसमें लूप इंटरचेंज, पाश संलयन, लूप का खुलना, पाश वितरण , डेटा प्रीफ़ेच और बहुत कुछ सम्मिलित है।

मानक समर्थन
इंटेल फोरट्रान कंपाइलर क्लासिक 2018 मानक के माध्यम से फोरट्रान का पूरी तरह से समर्थन करता है। इंटेल फोरट्रान कंपाइलर (बीटा) पूर्ण फोरट्रान 77/90/95 का समर्थन करता है और इसमें फोरट्रान 2003 मानक का आंशिक समर्थन है।

वास्तुकला

 * आईए-32
 * x86-64 (इंटेल 64 और एएमडी64)
 * इंटेल एमआईसी
 * आईए-64 (आइटेनियम 2)
 * इंटेल Xe|Xईवास्तुकला

पैकेजिंग का विवरण
कंपाइलर इंटेल और एपीटी और यम रिपॉजिटरी से स्टैंडअलोन उपलब्ध हैं। वह इंटेल वनएपीआई एचपीसी टूलकिट में भी उपलब्ध हैं जिसमें अन्य बिल्ड टूल, जैसे लाइब्रेरी, और त्रुटि जांच और प्रदर्शन विश्लेषण के लिए विश्लेषण टूल सम्मिलित हैं। कंपाइलर्स वाले कंटेनर डॉकर हब पर हैं।

डिबगिंग
इंटेल कंपाइलर डिबगिंग जानकारी प्रदान करता है जो सामान्य डिबगर्स के लिए मानक है (लिनक्स पर डीडब्ल्यूएआरएफ, जीडीबी के समान, और विंडोज़ के लिए सीओएफएफ)। डिबगिंग जानकारी के साथ संकलित करने के लिए झंडे हैं /Zi विंडोज़ पर और -g लिनक्स पर। विंडोज़ पर विज़ुअल स्टूडियो डीबगर का उपयोग करके और लिनक्स पर जीडीबी का उपयोग करके डिबगिंग की जाती है।

जबकि इंटेल कंपाइलर जीप्रोफ-संगत प्रोफाइलर (कंप्यूटर विज्ञान) आउटपुट उत्पन्न कर सकता है, इंटेल वीट्यून नामक भिन्न उत्पाद के रूप में कर्नेल-स्तर, सिस्टम-वाइड सांख्यिकीय प्रोफाइलर भी प्रदान करता है। वीट्यून में उपयोग में आसान जीयूआई (विंडोज के लिए विजुअल स्टूडियो, लिनक्स के लिए ग्रहण (सॉफ्टवेयर) में एकीकृत) के साथ-साथ कमांड-लाइन इंटरफ़ेस भी है। वीट्यून प्रोफाइलर के अतिरिक्त, इंटेल सलाहकार है जो सदिश ाइजेशन ऑप्टिमाइज़ेशन और थ्रेडिंग डिज़ाइन और प्रोटोटाइपिंग के लिए टूल में माहिर है।

इंटेल मेमोरी और थ्रेडिंग त्रुटि का पता लगाने के लिए इंटेल इंस्पेक्टर XE नामक टूल भी प्रदान करता है। मेमोरी त्रुटियों के संबंध में, यह स्मृति रिसाव, मेमोरी भ्रष्टाचार, एपीआई बेमेल के आवंटन/डी-आवंटन और असंगत मेमोरी एपीआई उपयोग का पता लगाने में सहायता करता है। थ्रेडिंग त्रुटियों के संबंध में, यह डेटा रेस (हीप और स्टैक दोनों), डेडलॉक और थ्रेड और सिंक एपीआई त्रुटियों का पता लगाने में सहायता करता है।

यह भी देखें

 * इंटेल एकीकृत प्रदर्शन आदिम (आईपीपी)
 * वनएपीआई डेटा एनालिटिक्स लाइब्रेरी (वनडीएएल)
 * इंटेल वनएपीआई गणित कर्नेल लाइब्रेरी (वनएमकेएल)
 * वनएपीआई थ्रेडिंग बिल्डिंग ब्लॉक्स (वनटीबीबी)
 * वीट्यून प्रोफाइलर
 * इंटेल सी++ कंपाइलर
 * इंटेल डेवलपर ज़ोन (इंटेल डीजेड; समर्थन और चर्चा)
 * इंटेल पैरेलल स्टूडियो XE