Будет ли atan2 использовать SSE2,
самый лучший способ это узнать - проверить самому
SSE2 во-первых работает только с float, а во-вторых трасцендентных функций не поддерживает. Так что это целиком зависит от разработчиков. Самый простой способ скомпилить и дизассемблировать программу. Если используется команда fpatan или что-то вроде того, то используется FPU.
atan has an implementation that uses Streaming SIMD Extensions 2 (SSE2). See _set_SSE2_enable for information and restrictions on using the SSE2 implementation.> Самый простой способ скомпилить и дизассемблировать программу.
C++ allows overloading, so you can call overloads of atan and atan2. In a C program, atan and atan2 always take and return doubles.
уже.
Что-то не нашел ответа на этот вопрос. Мне не очень нравится, что без SSE-оптимизации выполняется изящный fpatan, а с оной - происходит call какой-то функции ___libm_sse2_atan2 (к тому же, после movapd - не знаю, быстрее ли он, чем fld).
а с оной - происходит call какой-то функции ___libm_sse2_atan2а если /Oi написать?
интринсики чтобы вызывать? /Oi установлен.
PS Если нужна экстремальная скорость при точности float, то можно использовать CUDA. Во многих параллелизуемых задачах она оказывается быстрее.
Если нужна экстремальная скорость при точности float, то можно использовать CUDA. Во многих параллелизуемых задачах она оказывается быстрее.это только если у тебя есть два миллиона флоатов, и тебе нужно для них сразу посчитать миллион арктангенсов. Ну и видюха у юзера есть соответствующая...
Оставить комментарий
mkrec
если проц и настройки соответствующие?в хелпе написано про atan. про atan2 непонятно.