Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=10880447&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 13:20:40 2016
Кодировка: Windows-1251
Intel Fortran: Release vs Debug mode - разный результат - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 1
No_Romance
only sky...

Рег.: 05.11.2005
Сообщений: 2755
Из: Nowhere
Рейтинг: 6191
  Intel Fortran: Release vs Debug mode - разный результат
      22.04.2012 13:55
-3

При компиляции в режиме Debug - программа работает правильно, но медленно. В режиме Release возникают ошибки - при расчетах в числах возникают бесконечности. Программа обрабатывает в цикле неструктурированные данные и содержит много вложенных if. Как отловить баг? :confused:




"Reality is merely an illusion, albeit a very persistent one." (Albert Einstein)
yegor
old hand

Рег.: 17.05.2006
Сообщений: 876
Рейтинг: 815
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: No_Romance]
      22.04.2012 14:04
-2

Я бы под valgrind-ом для начала запустил.



Пользователю все равно, в какой системе не разбираться.
tst
old hand

Рег.: 30.09.2008
Сообщений: 895
Рейтинг: 1531
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: No_Romance]
      22.04.2012 14:09
-2

По просьбе КО хотелось бы спросить - а опции компилятора (особенно, насчет оптимизации) в этих двух режимах сопоставимы ?


monoid

Рег.: 14.02.2004
Сообщений: 1689
Из: ГЗ::Б::12
Рейтинг: 1331
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: No_Romance]
      22.04.2012 14:26
-2

Интеловский компилятор в Release-конфигурации может включать оптимизации вычислений с плавающей точкой, которые могут приводить к изменениям в результатах вычислений. Можно начать с того, что передать ему -fp-model strict. Подробнее о флагах можно почитать, если запустить компилятор с опцией -help (раздел Floating Point).

Если это не поможет, можно попробовать включать разные уровни оптимизации, и выяснить, на каком возникает косяк.

Ну и не нужно забывать, что это может быть не только результат слишком агрессивных оптимизацией или баг в компиляторе, но баг в вашей программе, который не проявляется при консервативной компиляции в debug-режиме.



#
No_Romance
only sky...

Рег.: 05.11.2005
Сообщений: 2755
Из: Nowhere
Рейтинг: 6191
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: monoid]
      22.04.2012 14:32
-3

Quote:

Можно начать с того, что передать ему -fp-model strict



Эта опция и в дебаге и в релизе по умолчанию fast. Т.к. в дебаге все работает, то, наверное, не поможет.



"Reality is merely an illusion, albeit a very persistent one." (Albert Einstein)
monoid

Рег.: 14.02.2004
Сообщений: 1689
Из: ГЗ::Б::12
Рейтинг: 1331
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: No_Romance]
      22.04.2012 14:36
-2

В дебаге оптимизации не включены, так что состояние этой опции в дебаге влияет слабее, чем в релизе.



#
No_Romance
only sky...

Рег.: 05.11.2005
Сообщений: 2755
Из: Nowhere
Рейтинг: 6191
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: monoid]
      22.04.2012 15:48
-3

Никакие изменения опций компилятора не помогают, кроме как вместо Optimization: maximize speed сделать Optimization: disabled. Но тогда скорость такая же как при дебаге.



"Reality is merely an illusion, albeit a very persistent one." (Albert Einstein)
vond

Рег.: 08.04.2004
Сообщений: 6076
Из: Москва
Рейтинг: 1202
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: No_Romance]
      22.04.2012 16:05
-1

Рискну предположить что какие-то из переменных не инициализированы в коде. Отсюда разница: в Debug они все инициализируются в 0, а в Release - нет. Или в фортране нет такого? Лет десять не видел фортрана :)

Присоединяюсь к предложению запустить под valgrind.

No_Romance
only sky...

Рег.: 05.11.2005
Сообщений: 2755
Из: Nowhere
Рейтинг: 6191
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: vond]
      22.04.2012 16:10
-1

Quote:

запустить под valgrind



у меня windows...



"Reality is merely an illusion, albeit a very persistent one." (Albert Einstein)
vond

Рег.: 08.04.2004
Сообщений: 6076
Из: Москва
Рейтинг: 1202
  Re: Intel Fortran: Release vs Debug mode - разный результат [re: No_Romance]
      22.04.2012 16:16
-2

И чего? Если надо, то Linux найдешь (виртуалку готовую скачать хотя бы). IFC под Linux тот же самый.

Я в подобной ситуации заморачивался портированием/отделением windows-специфичного кода, лишь бы иметь возможность запускаться под valgrind на linux.

Страницы: 1

Technical >> Development (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в