none
Отличие вычислений с плавающей точкой в Windows7 и Windows10 RRS feed

  • Вопрос

  • Имеется программа численного моделирования (exe-файл), написанная на фортране и 
    скомпилированная компилятором Intel Visual Fortran Compiler 17.0.2.187 [Intel 64] 
    в среде MS Visual Studio 2013 под ОС Windows 7 pro X64 (Intel Core 2 Duo).
    При запуске этой программы под ОС Windows 10 pro X64 (Intel i3 6100) получается результат
    существенно отличающийся от результата работы под ОС Windows 7 pro X64. При этом, результаты
    работы программы под ОС Windows 8.1 X64 и ОС Windows XP X64 совпадают на разных компьютерах (Intel Core 2 Duo, Intel Xeon 5130, Intel i5 2400).
    В чем может быть дело?
    18 марта 2018 г. 17:23

Ответы

  • Вычисления выполняются процессором, а не ОС. Скорее всего дело в разных наборах инструкций которые используются для вычислений из за большой разницы в возрасте процессоров. Скомпилируйте программу запретив использование новых инструкций вроде AVX/AVX2.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    18 марта 2018 г. 18:08
    Модератор

Все ответы

  • Вычисления выполняются процессором, а не ОС. Скорее всего дело в разных наборах инструкций которые используются для вычислений из за большой разницы в возрасте процессоров. Скомпилируйте программу запретив использование новых инструкций вроде AVX/AVX2.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    18 марта 2018 г. 18:08
    Модератор
  • Последовал Вашему совету -- не помогло.  Более того, на компьютере с процессором Intel i3 6100 установил Windows 7 pro 64 и результат отличается от получавшегося при Windows 10 pro 64 и совпадает с результатом, полученным на компьютере с процессором Intel Core 2 Duo 6600 под Windows 7 pro 64. То есть версия Windows как-то оказывает влияние на вычислительный процесс. И что еще более интересно, что при загрузке Windows 10 pro 64 на компьютере с процессором Intel Core 2 Duo 6600 получается результат полностью совпадающий с результатом в случае Windows 7 pro 64.
    3 апреля 2018 г. 16:33
  • Смотрите, какие библиотеки использует приложение и откуда они грузятся на каждом компьютере. Стандартная библиотека фортрана, насколько я знаю, использует Visual C++ CRT, может на одном установлена ее старая версия, а на другом - обновленная.

    Пробуйте также уменьшать уровень оптимизации, параметр /fp:precise или /fp:strict и т.п. 


    • Изменено VadimTagil 3 апреля 2018 г. 18:05
    3 апреля 2018 г. 18:04