Tüm kullanıcılarımıza -O3 -xHost -ipo
hem ifort 11 hem de ifort 12 için başlamalarını şiddetle tavsiye ediyoruz . O3 tarafından etkinleştirilen, bazı hesaplamalarınızın kesinliğini etkileyen belirli kayan nokta dönüşümleri varsa, bunları özellikle -fp-model precise -fp-model except
(veya daha sert bir şekilde -fp-model strict
) ile kapatabilirsiniz. diğer optimizasyonları korurken O3, önbellek için döngü engelleme, döngü füzyon ve açma işlemlerini ve bellek erişim optimizasyonlarını sağlar.
Kayan nokta modelini tek tek dosyalar üzerinde denemeyi ve onu küresel olarak kapatmak yerine nerede bir fark yaratacağını bulmanızı öneririm; % ~ 15'lik bir hız artışı olabilir ve bunu hesaplamalarınızı etkilemeyeceği bir yerde tutabilmek istersiniz. Kesinliğin nerede etkilendiğinden emin değilseniz, bu dosyalar için kayan nokta model bayraklarını açıp kapatarak ya da yuvarlama modlarıyla oynayabilirsiniz .
Son zamanlarda kullanıcılarımıza x86 için gnu ve intel derleyicilerine odaklanarak optimizasyon bayrakları hakkında kısa bir konuşma yaptık; Bu konuşmadaki slaytları burada görebilirsiniz .
Bu arada, kodunuz için optimizasyon bayraklarını seçmekten bahsederken, şimdi ve sonra derleyicinin bir döngüyü vektörleştirmeye çalıştığı ve yapamayacağını görmek için -vec-raporunun çıktısına bakmaya değer ; Bazen, döngünüzde yapabileceğiniz küçük değişiklikler olabilir ve bu da vektörleşmenin mümkün olmasına neden olur (4x hızlık olabilir). Benzer şekilde daha genel -opt-raporu için .