LINUX.ORG.RU

OpenCL - где брать «батарейки»?

 , ,


0

3

Где вы берёте библиотеки для рутинных задач в OpenCL? Конечно, при желании (и наличии времени) можно написать всё самому, но если есть что-то готовое и проверенное - проще взять это и использовать.

CUDA поставляется с «батарейками» - cublas (матричные операции), curand (генераторы случайных чисел), cusparse (операции с разрежёнными матрицами), cufft (преобразование Фурье), npp - (пока не понял что, какие-то performance primitives).

Вот мне, например, нужны случайные числа для моделирования случайного процесса. Удобнее было бы генерировать их на device, чем на host, чтобы снизить задержку на копирование (возможно на практике это миллисекунды и я рано думаю об «оптимизации», но всё-таки).

К сожалению, в стандарте OpenCL ничего такого не описано, что плохо. Есть наверное куча библиотек - но где гарантия, что они заведутся как под CUDA OpenCL, так и под AMD APP OpenCL? и есть ещё Intel OpenCL...

Писать свой генератор - это уже крайняя мера =) (скорее уж обойдусь java.util.Random или rand из stdlib.h), тем более думать о том как это делать параллельно...

Библиотеки, примеры есть. Если они не из SDK от производителя, то обычно пишут на чём тестировали.

anonymous
()

npp - (пока не понял что, какие-то performance primitives).

Примитивы для обработки изображений и видео на GPU, аналог Intel Performance Primitives. Конкретика - в документалове, там тысячи функций, запарюсь перечислять. Colorspace conversion, арифметические и логические операции над изображениями (add/sub/mul/div/and/or/...), статистика, трансформации (аффинные/перспективные/етц), и так далее.

Где вы берёте библиотеки для рутинных задач в OpenCL?

Здесь :)

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