इंटेल फोरट्रान कंपाइलर: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 30: Line 30:
|website=cnet.com}}</ref> MacOS और Linux पर, इसे इंटेल फोरट्रान के नाम से जाना जाता है। 2020 में उपस्तिथा कंपाइलर का नाम बदलकर "इंटेल फोरट्रान कंपाइलर क्लासिक" (आईफोर्ट) कर दिया गया और जीपीयू ऑफलोड को सपोर्ट करने वाले वनएपीआई (कंप्यूट एक्सेलेरेशन) (आईएफएक्स) के लिए नया इंटेल फोरट्रान कंपाइलर प्रस्तुत किया गया।
|website=cnet.com}}</ref> MacOS और Linux पर, इसे इंटेल फोरट्रान के नाम से जाना जाता है। 2020 में उपस्तिथा कंपाइलर का नाम बदलकर "इंटेल फोरट्रान कंपाइलर क्लासिक" (आईफोर्ट) कर दिया गया और जीपीयू ऑफलोड को सपोर्ट करने वाले वनएपीआई (कंप्यूट एक्सेलेरेशन) (आईएफएक्स) के लिए नया इंटेल फोरट्रान कंपाइलर प्रस्तुत किया गया।


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


फ़ोरट्रान मानकों पर अधिक जानकारी के लिए, संख्या या संसाधन उपलब्ध हैं, जैसे विकिपीडिया फ़ोरट्रान प्रविष्टि या [http://fortranswiki.org/fortrans/show/Standards फ़ोरट्रान] विकि पृष्ठ।
फ़ोरट्रान मानकों पर अधिक जानकारी के लिए, संख्या या संसाधन उपलब्ध हैं, जैसे विकिपीडिया फ़ोरट्रान प्रविष्टि या [http://fortranswiki.org/fortrans/show/Standards फ़ोरट्रान] विकि पृष्ठ।
Line 38: Line 38:
इंटेल कंपाइलर अनुकूलित हैं<ref>{{cite web
इंटेल कंपाइलर अनुकूलित हैं<ref>{{cite web
|url=http://www.nersc.gov/users/software/compilers/intel-fortran-c-and-c
|url=http://www.nersc.gov/users/software/compilers/intel-fortran-c-and-c
|title=इंटेल (फोरट्रान, सी, और सी++)|website=NERSC.gov}}</ref> इंटेल आर्किटेक्चर का समर्थन करने वाले प्रोसेसर का उपयोग करने वाले कंप्यूटर सिस्टम के लिए। वह स्टालों को कम करने और कोड का उत्पादन करने के लिए डिज़ाइन किए गए हैं जो कम से कम संभव संख्या में चक्रों में निष्पादित होते हैं। इंटेल फोरट्रान कंपाइलर्स संकलित प्रोग्राम को अनुकूलित करने के लिए तीन भिन्न -भिन्न उच्च-स्तरीय तकनीकों का समर्थन करते हैं: [[अंतरप्रक्रियात्मक अनुकूलन]] (आईपीओ), [[प्रोफ़ाइल-निर्देशित अनुकूलन]] (पीजीओ), और अन्य [[कार्यक्रम अनुकूलन]]|उच्च-स्तरीय अनुकूलन (एचएलओ)।
|title=इंटेल (फोरट्रान, सी, और सी++)|website=NERSC.gov}}</ref> इंटेल आर्किटेक्चर का समर्थन करने वाले प्रोसेसर का उपयोग करने वाले कंप्यूटर पद्धति के लिए। वह स्टालों को कम करने और कोड का उत्पादन करने के लिए डिज़ाइन किए गए हैं जो कम से कम संभव संख्या में चक्रों में निष्पादित होते हैं। इंटेल फोरट्रान कंपाइलर्स संकलित प्रोग्राम को अनुकूलित करने के लिए तीन भिन्न -भिन्न उच्च-स्तरीय तकनीकों का समर्थन करते हैं: [[अंतरप्रक्रियात्मक अनुकूलन]] (आईपीओ), [[प्रोफ़ाइल-निर्देशित अनुकूलन]] (पीजीओ), और अन्य [[कार्यक्रम अनुकूलन]]|उच्च-स्तरीय अनुकूलन (एचएलओ)।


इंटरप्रोसेड्यूरल ऑप्टिमाइज़ेशन विशिष्ट कंपाइलर ऑप्टिमाइज़ेशन (जैसे निरंतर प्रसार) क्रियान्वित करता है किन्तु व्यापक दायरे का उपयोग करता है जिसमें अनेक प्रक्रियाएँ, अनेक फ़ाइलें या संपूर्ण प्रोग्राम सम्मिलित हो सकते हैं।<ref>Intel compiler documentation. Select the Fortran compiler of choice and search for Profile-Guided Optimization. ''http://software.intel.com/en-us/intel-software-technical-documentation''</ref>
इंटरप्रोसेड्यूरल ऑप्टिमाइज़ेशन विशिष्ट कंपाइलर ऑप्टिमाइज़ेशन (जैसे निरंतर प्रसार) क्रियान्वित करता है किन्तु व्यापक सीमा का उपयोग करता है जिसमें अनेक प्रक्रियाएँ, अनेक फ़ाइलें या संपूर्ण प्रोग्राम सम्मिलित हो सकते हैं।<ref>Intel compiler documentation. Select the Fortran compiler of choice and search for Profile-Guided Optimization. ''http://software.intel.com/en-us/intel-software-technical-documentation''</ref>
प्रोफ़ाइल-निर्देशित अनुकूलन के संबंध में, कंपाइलर प्रतिनिधि वर्कलोड के साथ एप्लिकेशन का उपयोग करने से प्रदर्शन-संबंधित जानकारी का डेटासेट उत्पन्न करता है, जिसका विश्लेषण यह पता लगाने के लिए किया जाता है कि एप्लिकेशन के कौन से हिस्से अधिक और कम बार निष्पादित होते हैं। कंपाइलर इन डेटा का उपयोग एप्लिकेशन निष्पादन को व्यवस्थित करने के लिए करता है जिससे कि एप्लिकेशन वास्तव में कैसे उपयोग किया जाता है इसके आधार पर प्रदर्शन को अनुकूलित किया जा सके। यह आईपीओ के विपरीत है जो कार्यभार से स्वतंत्र एप्लिकेशन के तार्किक प्रवाह के अनुसार अनुप्रयोगों को अनुकूलित करता है। कार्यभार-आधारित अनुकूलन प्रदान करने के लिए दोनों को जोड़ा जा सकता है जिसके भीतर तार्किक-प्रवाह अनुकूलित होता है। इस प्रकार, सभी अनुकूलन प्रोफ़ाइल-निर्देशित फीडबैक से लाभान्वित हो सकते हैं क्योंकि संकलन निर्णय लेते समय वह अनुमान पर कम निर्भर होते हैं।
प्रोफ़ाइल-निर्देशित अनुकूलन के संबंध में, कंपाइलर प्रतिनिधि वर्कलोड के साथ एप्लिकेशन का उपयोग करने से प्रदर्शन-संबंधित जानकारी का डेटासेट उत्पन्न करता है, जिसका विश्लेषण यह पता लगाने के लिए किया जाता है कि एप्लिकेशन के कौन से हिस्से अधिक और कम बार निष्पादित होते हैं। कंपाइलर इन डेटा का उपयोग एप्लिकेशन निष्पादन को व्यवस्थित करने के लिए करता है जिससे कि एप्लिकेशन वास्तव में कैसे उपयोग किया जाता है इसके आधार पर प्रदर्शन को अनुकूलित किया जा सके। यह आईपीओ के विपरीत है जो कार्यभार से स्वतंत्र एप्लिकेशन के तार्किक प्रवाह के अनुसार अनुप्रयोगों को अनुकूलित करता है। कार्यभार-आधारित अनुकूलन प्रदान करने के लिए दोनों को जोड़ा जा सकता है जिसके अंदर तार्किक-प्रवाह अनुकूलित होता है। इस प्रकार, सभी अनुकूलन प्रोफ़ाइल-निर्देशित फीडबैक से लाभान्वित हो सकते हैं क्योंकि संकलन निर्णय लेते समय वह अनुमान पर कम निर्भर होते हैं।


उच्च-स्तरीय अनुकूलन प्रोग्राम के संस्करण पर किए गए अनुकूलन हैं जो स्रोत कोड को अधिक बारीकी से दर्शाते हैं। इसमें [[लूप इंटरचेंज]], [[पाश संलयन]], [[ लूप का खुलना |लूप का खुलना]] , [[ पाश वितरण |पाश वितरण]] , डेटा प्रीफ़ेच और बहुत कुछ सम्मिलित है।<ref>The Software Optimization Cookbook, High-Performance Recipes for IA-32 Platforms, Richard Gerber, Aart J.C. Bik, Kevin B. Smith, and Xinmin Tian, Intel Press, 2006</ref>
उच्च-स्तरीय अनुकूलन प्रोग्राम के संस्करण पर किए गए अनुकूलन हैं जो स्रोत कोड को अधिक बारीकी से दर्शाते हैं। इसमें [[लूप इंटरचेंज]], [[पाश संलयन]], [[ लूप का खुलना |लूप का खुलना]] , [[ पाश वितरण |पाश वितरण]] , डेटा प्रीफ़ेच और बहुत कुछ सम्मिलित है।<ref>The Software Optimization Cookbook, High-Performance Recipes for IA-32 Platforms, Richard Gerber, Aart J.C. Bik, Kevin B. Smith, and Xinmin Tian, Intel Press, 2006</ref>
Line 55: Line 55:


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


==2003 से इतिहास==
==2003 से इतिहास==
Line 67: Line 67:
| इंटेल फोरट्रान कंपाइलर 8.1 || सितंबर, 2004 || [[AMD64|एएमडी64]] आर्किटेक्चर (लिनक्स के लिए)।
| इंटेल फोरट्रान कंपाइलर 8.1 || सितंबर, 2004 || [[AMD64|एएमडी64]] आर्किटेक्चर (लिनक्स के लिए)।
|-
|-
| इंटेल फोरट्रान कंपाइलर 9.0 || 14 जून 2005 || [[AMD64|एएमडी64]] आर्किटेक्चर (विंडोज के लिए), सॉफ्टवेयर-आधारित सट्टा पूर्व-गणना (एसएसपी) अनुकूलन, बेहतर लूप अनुकूलन रिपोर्ट
| इंटेल फोरट्रान कंपाइलर 9.0 || 14 जून 2005 || [[AMD64|एएमडी64]] आर्किटेक्चर (विंडोज के लिए), सॉफ्टवेयर-आधारित सट्टा पूर्व-गणना (एसएसपी) अनुकूलन, उत्तम लूप अनुकूलन सूची
|-
|-
| इंटेल फोरट्रान कंपाइलर 10.0 || 5 जून 2007 || बेहतर पैरेललाइज़र और वेक्टराइज़र, स्ट्रीमिंग एसआईएमडी एक्सटेंशन 4 ([[SSE4|एसएसई4]]), उन्नत लूप ट्रांसफ़ॉर्मेशन के लिए नई और उन्नत अनुकूलन रिपोर्ट, नए अनुकूलित अपवाद हैंडलिंग कार्यान्वयन।
| इंटेल फोरट्रान कंपाइलर 10.0 || 5 जून 2007 || उत्तम पैरेललाइज़र और वेक्टराइज़र, स्ट्रीमिंग एसआईएमडी एक्सटेंशन 4 ([[SSE4|एसएसई4]]), उन्नत लूप ट्रांसफ़ॉर्मेशन के लिए नई और उन्नत अनुकूलन सूची, नए अनुकूलित अपवाद हैंडलिंग कार्यान्वयन।
|-
|-
| इंटेल फोरट्रान कंपाइलर 10.1 || 7 नवम्बर 2007|| नई ओपनएमपी* अनुकूलता रनटाइम लाइब्रेरी। नई लाइब्रेरीज़ का उपयोग करने के लिए, आपको विंडोज़ पर नए विकल्प "-Qopenmp /Qopenmp-lib:compat" और Linux पर "-openmp -openmp-lib:compat" का उपयोग करना होगा। एलेवेट्स कंपाइलर का यह संस्करण [[Microsoft Visual Studio|माइक्रोसॉफ्ट विज़ुअल स्टूडियो]] 2005 से अधिक आंतरिकताओं का समर्थन करता है। VS2008 समर्थन - केवल इस रिलीज में कमांड लाइन।
| इंटेल फोरट्रान कंपाइलर 10.1 || 7 नवम्बर 2007|| नई ओपनएमपी* अनुकूलता रनटाइम लाइब्रेरी। नई लाइब्रेरीज़ का उपयोग करने के लिए, आपको विंडोज़ पर नए विकल्प "-Qopenmp /Qopenmp-lib:compat" और Linux पर "-openmp -openmp-lib:compat" का उपयोग करना होगा। एलेवेट्स कंपाइलर का यह संस्करण [[Microsoft Visual Studio|माइक्रोसॉफ्ट विज़ुअल स्टूडियो]] 2005 से अधिक आंतरिकताओं का समर्थन करता है। VS2008 समर्थन - केवल इस रिलीज में कमांड लाइन।
Line 87: Line 87:
| इंटेल फोरट्रान कंपोजर XE 2013 SP1 अपडेट 1 (कंपाइलर 14.0.1) || 18 अक्टूबर 2013 || 14.0 का जापानी स्थानीयकरण; विंडोज 8.1 और एक्सकोड 5.0 सपोर्ट
| इंटेल फोरट्रान कंपोजर XE 2013 SP1 अपडेट 1 (कंपाइलर 14.0.1) || 18 अक्टूबर 2013 || 14.0 का जापानी स्थानीयकरण; विंडोज 8.1 और एक्सकोड 5.0 सपोर्ट
|-
|-
| इंटेल फोरट्रान कंपोजर XE 2015 (कंपाइलर 15.0) || 5 अगस्त 2014 || फोरट्रान 2003 के लिए पूर्ण समर्थन; फोरट्रान 2008 से ब्लॉक; फोरट्रान 2008 से EXECUTE_COMMAND_LINE; नई अनुकूलन रिपोर्ट विज़ुअल स्टूडियो के भीतर से स्रोत की व्याख्या करती है<ref>{{cite web |title=Intel Visual Fortran 15 now available |url=https://software.intel.com/en-us/forums/topic/529178}}</ref>
| इंटेल फोरट्रान कंपोजर XE 2015 (कंपाइलर 15.0) || 5 अगस्त 2014 || फोरट्रान 2003 के लिए पूर्ण समर्थन; फोरट्रान 2008 से ब्लॉक; फोरट्रान 2008 से EXECUTE_COMMAND_LINE; नई अनुकूलन सूची विज़ुअल स्टूडियो के अंदर से स्रोत की व्याख्या करती है<ref>{{cite web |title=Intel Visual Fortran 15 now available |url=https://software.intel.com/en-us/forums/topic/529178}}</ref>
|-
|-
| इंटेल फोरट्रान कंपोजर XE 2015 अपडेट 1 (कंपाइलर 15.0.1) || 30 अक्टूबर 2014 || [[AVX-512]] support; Japanese localization; MIN/MAX Reductions in एसआईएमडी Loop Directive
| इंटेल फोरट्रान कंपोजर XE 2015 अपडेट 1 (कंपाइलर 15.0.1) || 30 अक्टूबर 2014 || [[AVX-512]] support; Japanese localization; MIN/MAX Reductions in एसआईएमडी Loop Directive
Line 116: Line 116:
*पैरामीटरयुक्त व्युत्पन्न प्रकारों को छोड़कर पूर्ण फोरट्रान 2003
*पैरामीटरयुक्त व्युत्पन्न प्रकारों को छोड़कर पूर्ण फोरट्रान 2003
*कोअरे को छोड़कर पूर्ण फोरट्रान 2008
*कोअरे को छोड़कर पूर्ण फोरट्रान 2008
*रिपोर्ट की गई समस्याओं का सुधार<ref>{{cite web |url=https://www.intel.com/content/www/us/en/developer/articles/technical/fortran-language-and-openmp-features-in-ifx.html |title=Fortran Language and OpenMP* Features Implemented in Intel® Fortran Compiler |department=Intel® Fortran Compiler |website=[[Intel]] |access-date=2021-12-27}}</ref>
*सूची की गई समस्याओं का सुधार<ref>{{cite web |url=https://www.intel.com/content/www/us/en/developer/articles/technical/fortran-language-and-openmp-features-in-ifx.html |title=Fortran Language and OpenMP* Features Implemented in Intel® Fortran Compiler |department=Intel® Fortran Compiler |website=[[Intel]] |access-date=2021-12-27}}</ref>
|-
|-
|इंटेल फोरट्रान कंपाइलर वनएपीआई 2023.0.0
|इंटेल फोरट्रान कंपाइलर वनएपीआई 2023.0.0
Line 122: Line 122:
|
|
*फोरट्रान 2003, 2008, 2018 मानकों को पूरा करें
*फोरट्रान 2003, 2008, 2018 मानकों को पूरा करें
*IFX में अब IFORT के साथ फोरट्रान भाषा फीचर समानता है<ref>{{Cite web |date=2022-12-21 |title=The Next Chapter for the Intel® Fortran Compiler 2023 |url=https://community.intel.com/t5/Intel-Fortran-Compiler/The-Next-Chapter-for-the-Intel-Fortran-Compiler-2023/m-p/1440619#M164152 |access-date=2023-02-13 |website=community.intel.com |language=en}}</ref>
*IFX में अभी IFORT के साथ फोरट्रान भाषा फीचर समानता है<ref>{{Cite web |date=2022-12-21 |title=The Next Chapter for the Intel® Fortran Compiler 2023 |url=https://community.intel.com/t5/Intel-Fortran-Compiler/The-Next-Chapter-for-the-Intel-Fortran-Compiler-2023/m-p/1440619#M164152 |access-date=2023-02-13 |website=community.intel.com |language=en}}</ref>
|}
|}
==डिबगिंग==
==डिबगिंग==
इंटेल कंपाइलर डिबगिंग जानकारी प्रदान करता है जो सामान्य डिबगर्स के लिए मानक है (लिनक्स पर डीडब्ल्यूएआरएफ, [[जीडीबी]] के समान, और विंडोज़ के लिए सीओएफएफ)। डिबगिंग जानकारी के साथ संकलित करने के लिए झंडे हैं {{mono|/Zi}} विंडोज़ पर और {{mono|-g}} लिनक्स पर। विंडोज़ पर विज़ुअल स्टूडियो डीबगर का उपयोग करके और लिनक्स पर जीडीबी का उपयोग करके डिबगिंग की जाती है।
इंटेल कंपाइलर डिबगिंग जानकारी प्रदान करता है जो सामान्य डिबगर्स के लिए मानक है (लिनक्स पर डीडब्ल्यूएआरएफ, [[जीडीबी]] के समान, और विंडोज़ के लिए सीओएफएफ)। डिबगिंग जानकारी के साथ संकलित करने के लिए झंडे हैं {{mono|/Zi}} विंडोज़ पर और {{mono|-g}} लिनक्स पर। विंडोज़ पर विज़ुअल स्टूडियो डीबगर का उपयोग करके और लिनक्स पर जीडीबी का उपयोग करके डिबगिंग की जाती है।


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


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

Revision as of 07:39, 31 July 2023

इंटेल फोरट्रान कंपाइलर
Other names
  • ifx
Developer(s)इंटेल
Preview release
Operating systemलिनक्स, विंडोज़स
Typeसंकलक
Licenseफ्रीवेयर, वैकल्पिक प्राथमिकता समर्थन
Websitesoftware.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html
इंटेल फोरट्रान कंपाइलर क्लासिक
Other names
  • ifort
Developer(s)इंटेल
Stable release
Operating systemलिनक्स, विंडोज़स, macOS
Typeसंकलक
Licenseफ्रीवेयर, वैकल्पिक प्राथमिकता समर्थन
Websitesoftware.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html

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

अवलोकन

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

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

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

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

अनुकूलन

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

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

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

मानक समर्थन

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

वास्तुकला

पैकेजिंग का विवरण

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

2003 से इतिहास

संकलक संस्करण रिलीज़ की तारीख प्रमुख नई सुविधाएँ
इंटेल फोरट्रान कंपाइलर 8.0 15 दिसंबर 2003 पूर्व संकलित हेडर, कोड-कवरेज उपकरण।
इंटेल फोरट्रान कंपाइलर 8.1 सितंबर, 2004 एएमडी64 आर्किटेक्चर (लिनक्स के लिए)।
इंटेल फोरट्रान कंपाइलर 9.0 14 जून 2005 एएमडी64 आर्किटेक्चर (विंडोज के लिए), सॉफ्टवेयर-आधारित सट्टा पूर्व-गणना (एसएसपी) अनुकूलन, उत्तम लूप अनुकूलन सूची
इंटेल फोरट्रान कंपाइलर 10.0 5 जून 2007 उत्तम पैरेललाइज़र और वेक्टराइज़र, स्ट्रीमिंग एसआईएमडी एक्सटेंशन 4 (एसएसई4), उन्नत लूप ट्रांसफ़ॉर्मेशन के लिए नई और उन्नत अनुकूलन सूची, नए अनुकूलित अपवाद हैंडलिंग कार्यान्वयन।
इंटेल फोरट्रान कंपाइलर 10.1 7 नवम्बर 2007 नई ओपनएमपी* अनुकूलता रनटाइम लाइब्रेरी। नई लाइब्रेरीज़ का उपयोग करने के लिए, आपको विंडोज़ पर नए विकल्प "-Qopenmp /Qopenmp-lib:compat" और Linux पर "-openmp -openmp-lib:compat" का उपयोग करना होगा। एलेवेट्स कंपाइलर का यह संस्करण माइक्रोसॉफ्ट विज़ुअल स्टूडियो 2005 से अधिक आंतरिकताओं का समर्थन करता है। VS2008 समर्थन - केवल इस रिलीज में कमांड लाइन।
इंटेल फोरट्रान कंपाइलर 11.0 नवंबर 2008 अधिक फोरट्रान 2003 समर्थन। ओपनएमपी 3.0 के लिए समर्थन। स्थैतिक स्मृति/समानांतर निदान के लिए स्रोत परीक्षक। विंडोज़ संस्करण के लिए वाणिज्यिक लाइसेंस में माइक्रोसॉफ्ट विज़ुअल स्टूडियो 2005 प्रीमियर पार्टनर संस्करण सम्मिलित है।
इंटेल फोरट्रान कंपाइलर 11.1 23 जून 2009 नवीनतम इंटेल एसएसई, एवीएक्स और एईएस निर्देशों के लिए समर्थन। अधिक फोरट्रान 2003 समर्थन। नवीनतम इंटेल एमकेएल रिलीज के लिए समर्थन (कंपाइलर उत्पादों में सम्मिलित)। विंडोज़ संस्करण के लिए वाणिज्यिक लाइसेंस में माइक्रोसॉफ्ट विज़ुअल स्टूडियो 2008 शेल और लाइब्रेरी सम्मिलित हैं।
इंटेल फोरट्रान कंपोजर XE 2011 अपडेट 5 तक (कंपाइलर 12.0) 7 नवंबर 2010 कोरे फोरट्रान, अतिरिक्त 2003 (अंतिम सबरूटीन्स, जेनेरिक कीवर्ड) और 2008 (कोएरे, कोडिमेंशन, सभी को सिंक करें, छवियों को सिंक करें, मेमोरी को सिंक करें, क्रिटिकल, लॉक, त्रुटि रोकें, आवंटित/डीलोकेट करें)
इंटेल फोरट्रान कंपोजर XE 2011 अपडेट 6 और उससे ऊपर (कंपाइलर 12.1) 8 सितंबर 2011 ओपनएमपी 3.1, अतिरिक्त 2003 (स्रोत =, बहुरूपी स्रोत के साथ आवंटित) और 2008 मानकों का समर्थन, विंडोज संस्करण विजुअल स्टूडियो 2010 शेल के साथ आता है।
इंटेल फोरट्रान कंपोजर XE 2013 (कंपाइलर 13.0) 5 सितंबर 2012 इंटेल Xeon Phi कोप्रोसेसरों के लिए Linux-आधारित समर्थन, Microsoft Visual Studio 12 (डेस्कटॉप) के लिए समर्थन, gcc 4.7 के लिए समर्थन, इंटेल AVX 2 निर्देशों के लिए समर्थन, उत्तम एप्लिकेशन प्रदर्शन प्रदान करने पर केंद्रित उपस्तिथा कार्यक्षमता के अपडेट। विंडोज़ संस्करणों के लिए विज़ुअल स्टूडियो 2010 शेल की निरंतर उपलब्धता।
इंटेल फोरट्रान कंपोजर XE 2013 SP1 (कंपाइलर 14.0) 31 जुलाई 2013 उपयोगकर्ता-परिभाषित व्युत्पन्न प्रकार I/O; ओपनएमपी निर्देश, खंड और प्रक्रियाएं; कोरेरे; माइक्रोसॉफ्ट विज़ुअल स्टूडियो समानांतर निर्माण समर्थन
इंटेल फोरट्रान कंपोजर XE 2013 SP1 अपडेट 1 (कंपाइलर 14.0.1) 18 अक्टूबर 2013 14.0 का जापानी स्थानीयकरण; विंडोज 8.1 और एक्सकोड 5.0 सपोर्ट
इंटेल फोरट्रान कंपोजर XE 2015 (कंपाइलर 15.0) 5 अगस्त 2014 फोरट्रान 2003 के लिए पूर्ण समर्थन; फोरट्रान 2008 से ब्लॉक; फोरट्रान 2008 से EXECUTE_COMMAND_LINE; नई अनुकूलन सूची विज़ुअल स्टूडियो के अंदर से स्रोत की व्याख्या करती है[8]
इंटेल फोरट्रान कंपोजर XE 2015 अपडेट 1 (कंपाइलर 15.0.1) 30 अक्टूबर 2014 AVX-512 support; Japanese localization; MIN/MAX Reductions in एसआईएमडी Loop Directive
इंटेल फोरट्रान कंपाइलर 16.0, इंटेल पैरेलल स्टूडियो XE 2016 का हिस्सा 25 अगस्त 2015 फोरट्रान 2008 से सबमॉड्यूल, ड्राफ्ट फोरट्रान 2018 से सी के साथ फोरट्रान की बढ़ी हुई इंटरऑपरेबिलिटी, ओपनएमपी 4.1 एक्सटेंशन
इंटेल फोरट्रान कंपाइलर 17.0 4 मार्च 2016 ओपनएमपी 4.5 एक्सटेंशन
इंटेल फोरट्रान कंपाइलर 18.0 17 जनवरी 2017 पूर्ण फोरट्रान 2008 समर्थन
इंटेल फोरट्रान कंपाइलर 19.0 12 सितंबर 2018 कुछ फोरट्रान 2018 सुविधाएँ
इंटेल फोरट्रान कंपाइलर क्लासिक 2021.1.1 8 दिसंबर 2020 पूर्ण फोरट्रान 2018 समर्थन, ओपनएमपी 4.5 और केवल सीपीयू के लिए प्रारंभिक ओपन एमपी 5.1
इंटेल फोरट्रान कंपाइलर (बीटा) 2021.1.1 8 दिसंबर 2020 ओपनएमपी* 4.5 और सीपीयू और जीपीयू ऑफलोड के लिए प्रारंभिक ओपनएमपी समर्थन
इंटेल फोरट्रान कंपाइलर क्लासिक 2021.5.0 6 दिसंबर 2021 फोरट्रान भाषा सुधार और सुरक्षा अद्यतन
इंटेल फोरट्रान कंपाइलर वनएपीआई 2022.0.0 6 दिसंबर 2021
  • पैरामीटरयुक्त व्युत्पन्न प्रकारों को छोड़कर पूर्ण फोरट्रान 2003
  • कोअरे को छोड़कर पूर्ण फोरट्रान 2008
  • सूची की गई समस्याओं का सुधार[9]
इंटेल फोरट्रान कंपाइलर वनएपीआई 2023.0.0 21 दिसंबर 2022
  • फोरट्रान 2003, 2008, 2018 मानकों को पूरा करें
  • IFX में अभी IFORT के साथ फोरट्रान भाषा फीचर समानता है[10]

डिबगिंग

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

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

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

यह भी देखें

संदर्भ

  1. 1.0 1.1 "Intel® Fortran Compiler for oneAPI Release Notes". Intel (in English). Retrieved 2020-12-28.
  2. "Intel Visual Fortran Compiler Professional Edition for Windows". cnet.com.
  3. Readey, John (October 27, 2004). इंटेल ऐरे विज़ुअलाइज़र. HDF Workshop VIII. Retrieved 6 May 2023.
  4. "इंटेल ऐरे विज़ुअलाइज़र". Intel Developer Zone. 7 March 2016. Archived from the original on March 7, 2016. Retrieved 6 May 2023.
  5. "इंटेल (फोरट्रान, सी, और सी++)". NERSC.gov.
  6. Intel compiler documentation. Select the Fortran compiler of choice and search for Profile-Guided Optimization. http://software.intel.com/en-us/intel-software-technical-documentation
  7. The Software Optimization Cookbook, High-Performance Recipes for IA-32 Platforms, Richard Gerber, Aart J.C. Bik, Kevin B. Smith, and Xinmin Tian, Intel Press, 2006
  8. "Intel Visual Fortran 15 now available".
  9. "Fortran Language and OpenMP* Features Implemented in Intel® Fortran Compiler". Intel® Fortran Compiler. Intel. Retrieved 2021-12-27.
  10. "The Next Chapter for the Intel® Fortran Compiler 2023". community.intel.com (in English). 2022-12-21. Retrieved 2023-02-13.

बाहरी संबंध

  • No URL found. Please specify a URL here or add one to Wikidata.