Category: технологии

OpenCL

Наконец я разобрался в этой технологии достаточно для того, что бы читая примеры программ, прилагающиеся к SDK от AMD понимать, что эти программы делают.

Вообще - прикольный язык. Сами OpenCL-программы по задумке создателей OpenCL должны храниться в текстовом виде и компилироваться под конкретную железку подключаемыми библиотеками во время выполнения основной программы. Однако тут встаёт вопрос о том, что делать, если автор не хочет показывать своё, так сказать, НоуХау, распространяя программы в исходных кодах.

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

Прикольно было бы попробовать. Задал так программе попробовать всё и вся, и спать пошёл, а она за тебя эволюционным путём эффективные алгоритмы отбирает.