Я разработал некоторый код на своем компьютере и сейчас выполняю точно такой же код в кластере, и я сравниваю результаты.Поскольку я вычисляю очень большой массив и не записываю его в файл, я вычисляю хеш-функцию (Adler32) для сравнения полученных массивов.
Где-то в коде, который я выполняю: SUP = (YPL*ELOG) + 1./(YPL*ELOG)
.При записи только YPL
в массив и вычислении хэша он одинаков в обоих случаях, и то же самое относится к ELOG
.Но при умножении дает разные ответы.Все перечисленные переменные являются REAL.
Я компилирую скрипт с точно такими же флагами компиляции, за исключением дополнительного флага компиляции -mcmodel=large
в кластере.Однако в кластере используется gcc версии 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC), и на моем компьютере я использую gcc версии 7.1.0 (Homebrew GCC 7.1.0).