Как стать автором
Обновить

Комментарии 26

Давно хотел такую статью…
поддерживаю, вменяемого текста, который может дать отправную точку изучения технологии, очень мало. а собирать общую картину из разрозненного материала тяжело, я пока не осилил.
за статью спасибо, она значительно больше похожа на желаемую отправную точку) чем всё остальное что я читал.
Вот бы по OpenCL сделать такую же документацию, как делает noonv по OpenCV.
This source code was highlighted with Source Code Highlighter.

Хабр уже достаточно давно поддерживает тег source
О, спасибо. Я просто посмотрел на 2-3 статьи и сделал по аналогии с ними. В будующем исправлюсь.
«Так же быстрой памятью является „__privatE “. Это память к которой имеет доступ только отдельный поток (work-item). Всего на поток выделяется 32 регистра этой памяти.»…
Одкуда вы взяли 32 регистра? Приватная и локальная память очень совместимы, часто локальная это сумма всех приватных. Причём и это тоже не всегда правда. На каждом HW поразному…

«Вторая процедура (использующая оптимизацию) выполняется в 35 раз быстрее.»
На каком HW? ctrl+c & ctrl+v?

А где синхронизация с хоста?

«Сэмплер — это штука, которая будет оптимизировать вашу работу с изображением. У него есть три параметра:,, .»… запятая запятая и точка?

Это не введение, это что-то не продуманное с кучей скопированных примеров с сайта с которого вы учились :-).

" На каждом HW поразному…"
Ну, про тот же local везде пишут что он разный. Про private я в 2х местах натыкался про 32 регистра. Хотя на официальном сайте этого пожалуй нет. Что он любой может быть — спорить не буду, но что 32 — это очень часто на сегодняшний день встречающаяся конфигурация, всё-таки возьмусь утверждать.

«На каком HW? ctrl+c & ctrl+v?»
Откуда взят пример — я писал. Там у автора nVidia. У меня две разных карточки ADM 5700 серии. Примерно один и тот же результат на всём. Естественное, говорить строго «в 35 раз» может не правильно, но на мой взгляд было нужно показать порядок ускорения при использовании native кода.

«А где синхронизация с хоста?»
Показать ещё 5 вещей которые я тут не включил в описание? :-) Мне показалось что это менее нужная вещь чем те что я включил.

«запятая запятая и точка?»
Спасибо, сейчас поправлю. Какой-то глюк при копировании из ворда…

«Это не введение, это что-то не продуманное с кучей скопированных примеров с сайта с которого вы учились»
Во-первых, не с одного сайта а с 5-6 разных, разбавленных авторским текстом. Во-вторых, у каждого свой взгляд на мир, мне кажется что тут более-менее продуманно и структурировано для любого начинающего программиста. В принципе во избежание таких дискуссий я в первым абзаце написал что собой представляет эта статья.
Спасибо за ответ.

Если бы вы рассказали как кернелы спускаются, тогда бы наверное упомянули и об синхронизации на стороне хоста. Потому, что часто кернелы надо пускать несколько (тысяч) раз подряд с разными размерами локальной / глобальной группы.

Меня все-равно радует, что хоть кто-то об и на OpenCL пишет! Я бы тоже писал, да меня с моей критикой слили в унитаз.
Хотелось бы следующую статью и потом следующую!
Я может и немного строго, но всетаки душа хочет качества, когда разговор идёт об OpenCL.
Я сам на OpenCL только с весны начал писать. Да и по работе лишь к одному проекту и то по мелочи его подключал. В основном для себя баловался. Так что что-то сильно глубокое по OpenCl выдать не смогу…
Интересно, а вы его где-нибудь использовали? Я до сих пор только несколько проектов серьёзных на CUDA видел и ни одного на CL.
Я в университете писал на OpenCL. А так в практике мне не разрешают такие «бешенства» использовать, потому, что если я уйду, никто не сможет удерживать продукт. Планирую себе найти работу в будующем с OpenCL.
Кстати, предлагаю следующую статью сделать по мотивам www.cmsoft.com.br/index.php?option=com_content&view=category&layout=blog&id=99&Itemid=150.

ПС: изнасиловать в большое анальное отверстие карму! 2 комента посылаю 10 минут… ппц!
Ага, я читал, оно забавно. Но сам пока не сподобился написать код и помучать его. Как будет время — поиграюсь напишу что-нибудь.

ЗЮ, Я плюсанул:)
Я когда-то мучал мозг этой статьёй. Очень приятное занятие! :-)
НЛО прилетело и опубликовало эту надпись здесь
Хотите смотреть на граф с разницами в один или два процента? Google.
OpenMP будет немного быстрее, у него немножко другая архитектура. Но не на десятки процентов.
НЛО прилетело и опубликовало эту надпись здесь
ИМХО, написание прогаммы в ОпенЦЛ займёт примерно в 2-3 раза дольше времени…
Да, это точно. На OpenMP всё уже оптимизировано к тому же. Не факт, что удастся получить код того же качества для сложного проекта.
На хабре было уже: habrahabr.ru/blogs/hi/96122/
Правда там использовался Core 2 Duo
Это смешные тесты! Потому, что OpenCL вы должны >>сами
парсер лох…
Вы должны сами оптимализировать код (векторы, функции, итд..), у OpenMP за вас это делает компилятор. Когда кернел подргужается, компилируется или подгружается сразу скомпилированным, тогда это тоже время жрёт.
У ОпенМП всё уже в бинарном виде.
НЛО прилетело и опубликовало эту надпись здесь
Загрузка изображений возможна в типы image2d_t и image3d_t. Первые — это обычные изображения, вторые — двухмерные.

Может трехмерные? :-)
Да))) Спасибо, поправлю))
Блин… Поймал себя на мысли что: читаю — OpenCL, думаю — биткоины…
А за статью спасибо )
>> Так как в основе языка лежит практически стандартный с++…

Вы уверены?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.