Intel Fortran: Release vs Debug mode - разный результат
Я бы под valgrind-ом для начала запустил.
По просьбе КО хотелось бы спросить - а опции компилятора (особенно, насчет оптимизации) в этих двух режимах сопоставимы ?
Интеловский компилятор в Release-конфигурации может включать оптимизации вычислений с плавающей точкой, которые могут приводить к изменениям в результатах вычислений. Можно начать с того, что передать ему -fp-model strict. Подробнее о флагах можно почитать, если запустить компилятор с опцией -help (раздел Floating Point).
Если это не поможет, можно попробовать включать разные уровни оптимизации, и выяснить, на каком возникает косяк.
Ну и не нужно забывать, что это может быть не только результат слишком агрессивных оптимизацией или баг в компиляторе, но баг в вашей программе, который не проявляется при консервативной компиляции в debug-режиме.
Если это не поможет, можно попробовать включать разные уровни оптимизации, и выяснить, на каком возникает косяк.
Ну и не нужно забывать, что это может быть не только результат слишком агрессивных оптимизацией или баг в компиляторе, но баг в вашей программе, который не проявляется при консервативной компиляции в debug-режиме.
Можно начать с того, что передать ему -fp-model strictЭта опция и в дебаге и в релизе по умолчанию fast. Т.к. в дебаге всё работает, то, наверное, не поможет.
В дебаге оптимизации не включены, так что состояние этой опции в дебаге влияет слабее, чем в релизе.
Никакие изменения опций компилятора не помогают, кроме как вместо Optimization: maximize speed сделать Optimization: disabled. Но тогда скорость такая же как при дебаге.
Рискну предположить что какие-то из переменных не инициализированы в коде. Отсюда разница: в Debug они все инициализируются в 0, а в Release - нет. Или в фортране нет такого? Лет десять не видел фортрана 
Присоединяюсь к предложению запустить под valgrind.

Присоединяюсь к предложению запустить под valgrind.
запустить под valgrindу меня windows...
И чего? Если надо, то Linux найдёшь (виртуалку готовую скачать хотя бы). IFC под Linux тот же самый.
Я в подобной ситуации заморачивался портированием/отделением windows-специфичного кода, лишь бы иметь возможность запускаться под valgrind на linux.
Я в подобной ситуации заморачивался портированием/отделением windows-специфичного кода, лишь бы иметь возможность запускаться под valgrind на linux.
Оставить комментарий
SawavsOlja
При компиляции в режиме Debug - программа работает правильно, но медленно. В режиме Release возникают ошибки - при расчетах в числах возникают бесконечности. Программа обрабатывает в цикле неструктурированные данные и содержит много вложенных if. Как отловить баг?