Компиляция для оптимизации операций с плавающей точкой
Некоторые опции оптимизации операций над вещественными числами, применяемые по умолчанию, можно изменить с целью повысить производительность программ, выполняющих большое число таких операций.
Некоторые из этих опций могут повлиять на соответствие стандартам операций над вещественными числами. Применение таких опций в принципе может повлиять на результаты, однако в большинстве случае оно повышает точность вычислений.
Рекомендации
Ниже приведены некоторые рекомендации:
- В случае программ с одинарной точностью операций,
предназначенных для платформ семейство POWER и POWER2, вы можете
повысить производительность, не снижая точность, с помощью
следующих опций:
-qfloat=fltint:rsqrt:hssnglЕсли программа с одинарной точностью не очень активно работает с памятью (например, программа не запрашивает больше данных, чем умещается в кэше), то вы можете повысить точность вычислений, сохранив или повысив производительность, с помощью следующих опций:
-qfloat=fltint:rsqrt -qautodbl=dblpad4Для программ, не содержащих переменных одинарной точности, следует указывать только опцию -qfloat=rsqrt:fltint. Учтите, что опция -O3 без опции -qstrict автоматически задает режим -qfloat=rsqrt:fltint.
- Программы с одинарной точностью обычно более эффективны, чем программы с двойной точностью, поэтому замена типа REAL (по умолчанию) на тип REAL(8) может снизить производительность. Поддерживаются следующие подопции -qfloat: