Как лучше всего разобраться с выражениями в ядрах cudaC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как лучше всего разобраться с выражениями в ядрах cuda

Сообщение Anonymous »

В настоящее время я работаю над проектом C ++, который требует возможности динамически модифицировать и оценивать математические выражения во время выполнения, с сильным акцентом на использование ускорения графического процессора. В то время как exprtk изначально казался простым решением для анализа и оценки выражений, его зависимость от STL и предварительной компиляции создает проблемы при работе с графическими процессорами, которые часто предпочитают более динамические подходы к генерации кода. Я изучал nvrtc < /code> как потенциальное решение для компиляции выражений на летании для выполнения на графических процессорах, но вовлеченные сложности кажутся ненужными для сферы действия моего проекта. < /P>
контекст: < /strong> < /p>

[*]. функции (sin, cos , pow , abs и т. Д.).
Производительность важна, потому что эти выражения будут оцениваться многократно в больших масштабах. /> Вопрос: [/b]
Какие альтернативные библиотеки, методы или шаблоны проектирования могут использоваться для изменения и оценки выражений во время выполнения с хорошей совместимостью с графическим процессором, без накладных расходов и сложности полного компиляции времени выполнения с такими инструментами, как nvrtc ? Существуют ли легкие анализаторы/оценщиков выражения, разработанные с учетом совместимости среды GPU?template
__global__ void kernel(float* out, Func eval, const char* expr) {
out[threadIdx.x] = eval(expr, threadIdx.x);
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... da-kernels
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»