LINUX.ORG.RU

чем чревато использование -ffast-math?

 ,


0

3

просьба поделится опытом использования

Мне нужно быстро вычислять среднее на довольно больших массивах данных, а также собирать статистику типа mix/max.

★★★★★

Последнее исправление: cvv (всего исправлений: 1)

иногда тормозами
иногда невозможностью собрать
иногда нестабильностью собранного
сия опция очень специфична и нужна/даёт профит мало где, а там где даёт разрабы сами знают и используют по умолчанию, как и -O3, например

megabaks ★★★★
()

Числодробилки на фортране всегда с этой опцией собираются. Проблем никогда не наблюдал.

-O3 -ffast-math -funroll-loops

greenzu
()
Последнее исправление: greenzu (всего исправлений: 1)

Теоретически SIGFPE-ом, практически ни разу не встречал.

anonymous
()

--fast-math тождественно:

-fno-math-errno: don't bother to set the global variable errno in case of a math error (diagnostic purposes). -funsafe-math-optimizations: IEEE754 calls for following the order in the source code, ruling out commutative operations, such as two multiplies, or associative operations, such as multiplication of a sum by a factor; this option does away with this restriction. -fno-trapping-math: some math operations can result in math errors, such as log (-1), so compilers tip-toe around such operations at the expense of performance; this option assumes that such invalid operation won't occur (diagnostic purposes). -ffinite-math-only: assumes that intermediary results will always be normal numbers (e.g., never infinite). -fno-rounding-math: this is the default anyways. -fno-signaling-nans: assumes that invalid results will not raise an exception (diagnostic purposes).

anonymous
()
Ответ на: комментарий от megabaks

только не делай это system-wide

Если у тебя кривые руки, то не надо говорить за всех.
Или у тебя -mfpmath=387 стоит еще, а то sse точность теряет?

devl547 ★★★★★
()
Ответ на: комментарий от megabaks

ты какой-то упоротый в последнее время. Неудивительно, что разработчики Gentoo тебя не любят.

anonymous
()

Мне нужно быстро вычислять среднее на довольно больших массивах данных

-O3 хватит за глаза. При вычислении такой фигни как всякие средние основная проблема в скорости доступа к памяти, а не в математике.

AIv ★★★★★
()
Ответ на: комментарий от AIv

Вот, прислушайтесь. Человек дело говорит!

Да ещё и если на

на довольно больших массивах данных

то так точно будет зависить исключительно от размера кеша.

nanoolinux ★★★★
()
Ответ на: комментарий от Pavval

малыш, я так-то по сути ответил
но куда тебе это осознать

megabaks ★★★★
()
Ответ на: комментарий от AIv

При вычислении такой фигни как всякие средние основная проблема в скорости доступа к памяти, а не в математике.

полностью согласен.

drBatty ★★
()
Ответ на: комментарий от nanoolinux

в моем случае данные льются довольно быстрым потоком из внешней железки. как будет влиять кэш в конкретной ситуации?

cvv ★★★★★
() автор топика
Ответ на: комментарий от AIv

-O3 хватит за глаза. При вычислении такой фигни как всякие средние основная проблема в скорости доступа к памяти, а не в математике.

можешь проиллюстрировать на каких вычислениях узким местом является математика?

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

В первом приближении никак, все упрется в скорость этого самого «довольно быстрого» потока. При условии, что данные обрабатываются локально, т.е. взяли отсчет - обработали - забыли. Иначе ХЗ, все зависит от прямизны рук того кто писал код;-)

AIv ★★★★★
()
Ответ на: комментарий от cvv

можешь проиллюстрировать на каких вычислениях узким местом является математика?

КОгда число тактов, необходимых для обработки единицы данных больше чем задержка при чтении этой единицы из памяти. Все зависит от локальности данных, последовательности их обработки и тд. Скажем так, при условии нормального написанного кода, для числодробилок с явными численными схемами решающими всякие гиперболические задачи на сетках все упирается в работу с памятью. Для мол динамики (особенно с электростатикой) - обычно в математику. Если задача не лезет в память - все упирается однозначно в своп (за очень редкими исключениями).

AIv ★★★★★
()

Фестиваль укурков итт.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, интересно

cvv ★★★★★
() автор топика
Ответ на: комментарий от cvv

вычислять среднее
статистику типа mix/max.
1 миллиону семплов

пффф. даже дебаг версия будет летать.

nanoolinux ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.