Примеры OpenCL с тестами

Я ищу некоторые вводные примеры для OpenCL, которые иллюстрируют типы приложений, которые могут испытать значительное (например, 50x-1000x) увеличение скорости. В Cuda есть много хороших примеров, но я не нашел ничего подобного для OpenCL. .

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


person Tristan    schedule 14.09.2009    source источник


Ответы (4)


Вот несколько замечательных примеров в SDK от nvidia:

http://developer.nvidia.com/object/get-opencl.html

person Ben    schedule 07.10.2009

Алгоритмы, которые вы описываете, не являются ни простыми, ни вводными с точки зрения программирования GPU. Причина, по которой у CUDA есть примеры в этих областях, заключается в том, что они существуют достаточно долго, чтобы люди разработали эти примеры. В настоящее время нет общедоступной версии OpenCL, работающей на графических процессорах. И ATI, и NVIDIA предлагают бета-версии своих драйверов OpenCL, но ATI поддерживает только вычисления ЦП, а NVIDIA требует подписания соглашения о неразглашении. Проще говоря, OpenCL не существует достаточно долго, чтобы были разработаны и продемонстрированы всеобъемлющие примеры, подобные этим.

Тем не менее, получить доступ к драйверам NVIDIA OpenCL несложно. Вы можете узнать, как это сделать, на их форумах здесь. Я предполагаю, что дистрибутив OpenCL содержит несколько примеров программ, которые помогут вам начать работу.

Это также означает, что у вас есть прекрасная возможность разработать некоторые из этих тестов и опубликовать свои результаты. Тогда люди будут ссылаться на вашу работу, а не вы на их работу. Хотя я бы не ожидал слишком много сюрпризов. Производительность OpenCL должна быть примерно на одном уровне с производительностью CUDA, как только она станет широко доступной и поддерживаемой.

person Eric    schedule 15.09.2009
comment
В настоящее время нет общедоступной версии OpenCL, работающей на графических процессорах. Не уверен, что это было так, когда вы ответили в сентябре, но сейчас это определенно не так. И AMD (ATI), и Nvidia имеют реализации OpenCL, которые отлично работают. - person dwf; 16.12.2009

Наша команда работала над алгоритмами и ускорением OpenCL, и мы хотели бы предложить статью

http://www.cmsoft.com.br/index.php?view=article&catid=1:latest-news&id=247:opencl-simulated-annealing

в качестве примера реализации алгоритма имитации отжига для минимизации.

person Douglas    schedule 21.10.2011

Вы можете попробовать следующие две книги:

Программирование массивно-параллельных процессоров... Практический подход (NVIDIA) (главы 1 и 2)

Книга по программированию OpenCL ... Параллельное программирование для многоядерных процессоров и графических процессоров (компоненты истории

Оба подробно объясняют, почему была сделана разработка и где можно найти настоящие бонусы.

Не уверен насчет бенчмаркинга, хотя мне тоже не повезло.

person Mnescat    schedule 02.09.2011