हम दृढ़ता से हमारे सभी उपयोगकर्ताओं को -O3 -xHost -ipo
ifort 11 और ifort 12 दोनों के लिए शुरू करने की सलाह देते हैं । यदि O3 द्वारा विशेष रूप से फ़्लोटिंग पॉइंट ट्रांसफ़ॉर्मेशन सक्षम हैं जो आपकी कुछ संगणनाओं की सटीकता को प्रभावित करते हैं, तो आप उन लोगों को विशेष रूप से बंद कर सकते हैं -fp-model precise -fp-model except
(या, अधिक कठोर, -fp-model strict
) अन्य अनुकूलन को बनाए रखने के दौरान O3 सक्षम बनाता है, जैसे कि कैश के लिए लूप ब्लॉकिंग, लूप फ्यूजन और अनरोलिंग और मेमोरी एक्सेस ऑप्टिमाइजेशन।
मैं व्यक्तिगत फाइलों पर फ़्लोटिंग पॉइंट मॉडल सामान आज़माने और यह पता लगाने की सलाह दूंगा कि यह विश्व स्तर पर बंद करने के बजाय कहां फर्क करता है; यह एक ~ 15% स्पीड बम्प हो सकता है, और आप इसे वहां रखना चाहते हैं जहाँ यह आपकी गणनाओं को प्रभावित नहीं करता है। यदि आप सुनिश्चित नहीं हैं कि परिशुद्धता कहाँ प्रभावित हो रही है, तो आप उन फ़ाइलों के लिए फ़्लोटिंग पॉइंट मॉडल फ़्लैग को चालू या बंद कर सकते हैं, या राउंडिंग मोड के साथ खेल सकते हैं ।
हमने हाल ही में अपने उपयोगकर्ताओं को x86 के लिए ग्नू और इंटेल कम्पाइलर पर ध्यान केंद्रित करते हुए अनुकूलन झंडे के बारे में एक छोटी सी बात दी; आप यहाँ उस बात से स्लाइड देख सकते हैं ।
संयोग से, जब हम आपके कोड के लिए ऑप्टिमाइज़ेशन फ़्लैग चुनने के बारे में बात कर रहे हैं, तो अब-यह भी -vec-रिपोर्ट के आउटपुट को देखने के लायक है, यह देखने के लिए कि कंपाइलर ने एक लूप को कैसे वेक्टर करने का प्रयास किया और नहीं; कभी-कभी छोटे बदलाव होते हैं जो आप अपने पाश में कर सकते हैं जिसके परिणामस्वरूप वेक्टरकरण संभव हो सकता है (जो 4x स्पीडअप हो सकता है)। इसी तरह अधिक सामान्य -अपनाने-रिपोर्ट के लिए ।