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