Есть ли способ оптимизировать вызовы Sincos в CUDA?
Я пишу программу в CUDA, которая делает огромное количество звонков на sincos()
функция, используя двойную точность. Боюсь, это одно из самых больших узких мест в коде, и я не могу уменьшить количество вызовов этой функции.
Есть ли приличное приближение к sincos
в CUDA или в библиотеке я могу импортировать? Я также весьма обеспокоен точностью, поэтому чем лучше аппроксимация, тем счастливее будет мой код.
Я также думал о создании таблицы поиска или аппроксимации значений по их рядам Тейлора, но я хочу высказать некоторые мнения, прежде чем идти по этому пути.
1 ответ
Довольно быстрый и точный sincos
функция доступна в математическом интерфейсе CUDA. Просто включите math.h
, Или использовать sincosf
( здесь), если это будет работать для вас. (Я знаю, что вы сказали двойную точность в своем вопросе. Просто указав на некоторые вещи.)
Если вы можете использовать sincospif
вместо sincosf
@njuffa сотворил здесь свою магию, которая может вас заинтересовать.
Этот вопрос и этот вопрос также могут вас заинтересовать.