Функция библиотеки математического ядра дает разные результаты на разных компьютерах - PullRequest
0 голосов
/ 27 февраля 2019

Я реализую метод собственного разложения, используя библиотеку математического ядра в Фортране.

Внутри метода я сначала пытаюсь применить zgehrd для преобразования входной матрицы в верхнюю форму Гессенберга.

Однако во время отладки я обнаружил, что при одинаковой входной матрице метод zgehrd дает разные результаты на разных компьютерах.Некоторые компьютеры находятся в Windows 10, а некоторые все еще в Windows 7.

Чтобы дополнительно проверить, является ли эта проблема системно-зависимой, я установил виртуальную машину Windows 10 (Pro 64 bit) на Windows 10 (Home 64 bit).) компьютер.Оказывается, результаты в этом случае немного отличаются.

Поскольку метод собственного разложения будет рекурсивно вызываться оптимизатором, небольшие различия будут накапливаться.Я пробовал решение путем обеспечения условной числовой воспроизводимости в Фортране, но это не помогает.Любая помощь будет оценена

1 Ответ

0 голосов
/ 26 июня 2019

, если вы хотите видеть результаты побитового вывода с Intel MKL на разных машинах, сначала вызовите режим MKL_VERBOSE (переменные среды установки / экспорта MKL_VERBOSE = 1) и проверьте самую низкую ответвленную ветвь кода.Пример: при запуске кода MKL в системах на базе AVX и AVX-512 мы увидим следующие сообщения: MKL_VERBOSE Intel(R) MKL 2019.0 Update 4 Product build 20190411 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions (**Intel(R) AVX**) enabled processors, Lnx 2.80GHz intel_thread

и в системе SkyLake: MKL_VERBOSE Intel(R) MKL 2019.0 Update 4 Product build 20190411 for Intel(R) 64 architecture Intel(R) Advanced Vector Extensions 512 (**Intel(R) AVX-512**) enabled processors, Lnx 2.20GHz intel_thread

Следующие шаги: вызовПобитовая воспроизводимость функций MKL обеспечивается установкой переменных среды: set / export MKL_CBWR = AVX Тогда MKL гарантирует, что вы увидите те же выходные данные в системах на основе AVX и AVX-512 в случае того же потока # и той же ОС.

...