У меня есть библиотека, написанная в Fortran, которая использует MKL от Intel (связанный статически). Я использую ifort для компиляции и компоновки.
Когда я связываю свою библиотеку (динамически) с каким-то другим кодом, используя опцию -fpe0, я получаю исключения с плавающей запятой в MKL, что, по-видимому, является известной вещью в соответствии с Intel и не о чем беспокоиться. Я предполагаю, что это связано с некоторыми спекулятивными казнями.
Однако, когда кто-то использует мою библиотеку, они могут попытаться использовать -fpe0 для привязки своего кода к моей библиотеке, и это может привести к проблемам. Поэтому мне было интересно: есть ли способ отключить обработчик FPE во время выполнения при входе в мою библиотеку и вернуть его обратно в исходное состояние?
Спасибо!Отключить обработчик FPE во время выполнения в Fortran
1
A
ответ
0
Как Владимир отметил, запрашиваемая функциональность обеспечивается ieee_exceptions присущей модуль: See here
Это поддерживается ifort Intel, по крайней мере версий 12 на (проверено) и предположительно gfortran от версии 4.10 (не тестировалось).
Смежные вопросы
- 1. Политизм во время выполнения в fortran 2003
- 2. Динамические библиотеки Fortran, загрузка во время выполнения?
- 3. ContextMenuStrip обработчик события во время выполнения
- 4. Передать обработчик события во время выполнения
- 5. Отключить элементы JComboBox во время выполнения
- 6. Google Earth: отключить flyToView во время выполнения
- 7. Отключить предупреждения привязки Flex во время выполнения
- 8. Как отключить стили во время выполнения
- 9. Включить/отключить OpenMP локально во время выполнения
- 10. Включить и отключить gprof во время выполнения?
- 11. Отключить выбранные автоматические тесты во время выполнения
- 12. Отключить проверку_exists на models.URLField во время выполнения?
- 13. Включить/отключить поддержку RTL во время выполнения
- 14. AVAudioSession отключить фоновый звук во время выполнения
- 15. Включить/отключить стиль наведения во время выполнения?
- 16. Как отключить перехватчик методов во время выполнения
- 17. Как отключить расширение формы во время выполнения?
- 18. Включить/отключить буферизованный рендеринг во время выполнения
- 19. отключить покрытие gcov во время выполнения
- 20. Drools отключить правило во время выполнения
- 21. Отключить кнопку Tkinter во время выполнения команды
- 22. Python подпроцесс: Fortran ошибка во время выполнения: Конец файла
- 23. Включить/отключить Spring-ws во время выполнения
- 24. Как включить/отключить масштабирование во время выполнения?
- 25. Ошибка во время выполнения Fortran при использовании statsmodels в Python
- 26. Отключить ASL/NSLog во время выполнения
- 27. Как отключить кнопку во время выполнения AlphaAnimation
- 28. VBA Change CommandButton click event обработчик во время выполнения
- 29. Fortran 77 Установить размер массива во время выполнения
- 30. Fortran ошибки во время выполнения: Плохо значения при целочисленных чтения
Проверьте встроенный модуль 'ieee_exceptions'. Никогда не использовал его сам, поэтому я просто комментирую. –
Спасибо, что работает. Следует отметить, что с gfortran требуется не менее версии 4.10. ifort поддерживает его, по крайней мере, от v12 (нет старой версии для тестирования с ...) – fpnick
Можете ли вы опубликовать данные в качестве ответа? Это может быть полезно для других. –