Обсуждение статьи "OpenCL: от наивного кодирования - к более осмысленному"

 

Опубликована статья OpenCL: от наивного кодирования - к более осмысленному:

В данной статье продемонстрированы некоторые возможности оптимизации, открывающиеся при хотя бы поверхностном учете особенностей "железа", на котором исполняется кернел. Полученные цифры весьма далеки от предельных, но даже они показывают, что при том наборе возможностей, который имеется здесь и сейчас (OpenCL API в реализации разработчиков терминала не позволяет контролировать некоторые важные для оптимизации параметры - - в частности, размер локальной группы), выигрыш в производительности в сравнении с исполнением хостовой программы очень существенен.

OpenCL в MQL5

Автор: Sceptic Philozoff

 
А можно огласить полный список статей и примерный порядок их выхода?

 
Interesting: А можно огласить полный список статей и примерный порядок их выхода?

Нет, нельзя - если Вы о том, что еще напишу. Сам толком не знаю.

Да и некоторых возможностей MQL5 OpenCL API еще не хватает. Но они будут, без них никак.

 
Mathemat:

Нет, нельзя - если Вы о том, что еще напишу. Сам толком не знаю.

Да и некоторых возможностей MQL5 OpenCL API еще не хватает. Но они будут, без них никак.

Понятно, спасибо.
 

Спасибо огромное, Алексей.

Статья оказалась для меня необычайно информативной, чего я, честно говоря, не ожидал.  Идею когерентного доступа к памяти  интуитивно чувствовал, но никогда не пытался толком формализовать. А тут всё разжевано и разложено по полкам. Супер!

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

--

Стилистика статьи вообще привела в восхищение.  Редкое для статей на mql-ресурсах (и не только!) сочетание подробности изложения и уважения к интеллекту читателя. Для реализации такого стиля необходимо утончённое чувство меры и точное реалистичное ощущение границ информированности аудитории (на грани телепатического контакта). Это реально круто. Ещё раз спасибо!

 

О том, какое спасибо я должен сказать тебе, Владимир, знаешь только ты. Реальная помощь от тебя была совсем не только тогда, когда надо было запустить что-нибудь на твоей карте, но и вообще по части кодирования. Опыт и знания профи многого стоят!

P.S. Чем-то мне этот рисунок напоминает карту России...

 

Mathemat, Вам и Вашему соратнику MetaDriver'y огромное спасибо за статью. Я давно так не чумел после прочитанного :-))

Конечно многое пока непонятно... буду пилить...

 
denkir: Конечно многое пока непонятно... буду пилить...

Начинайте с первой, ссылка в первом же предложении второй статьи. В освоении такого материала нужна постепенность и некоторое время, чтобы вся эта каша отложилась в голове и усвоилась.

Дальше будет еще труднее.

 
Mathemat:
Начинайте с первой, ссылка в первом же предложении второй статьи. В освоении такого материала нужна постепенность и некоторое время, чтобы вся эта каша отложилась в голове и усвоилась.

Да, так и сделал...

Имхо, нужны более простые примеры... и как-то связанные с трейдерским делом...  такое первое впечатление...

 
denkir: Имхо, нужны более простые примеры... и как-то связанные с трейдерским делом...  такое первое впечатление...

Можно было бы сразу начать с нервосетки. Она явно связана с трейдерским делом. Правда, сам в нервосетках ничего не понимаю, но, потратив несколько дней, разобрался бы в основах.

Как Вы думаете, это было бы проще, чем простенькое вычисление числа pi - даже без входных буферов?

Сомневаюсь что-то.

Да, так и сделал...

У каждого свой способ усвоения новой информации. Сам предпочитаю не просто читать, но и сразу начинать кодировать. Без практики эта информация точно останется неусвоенной.

 
Mathemat:

Можно было бы сразу начать с нервосетки. Она явно связана с трейдерским делом. Правда, сам в нервосетках ничего не понимаю, но, потратив несколько дней, разобрался бы в основах.

Как Вы думаете, это было бы проще, чем простенькое вычисление числа pi - даже без входных буферов?

Сомневаюсь что-то...

Mathemat, не считаю нейросеть простым примером :-))

Пример с ПИ очень удачен, имхо...

Можно было добавить например какой-нибудь статистический расчёт. Условно. Взять историю котировок по всем инструментам в терминале. Допустим минутную.  Синхронизировать котировки. Это будет двумерный массив. Строк там наверное будет несколько тысяч... Посчитать мувинги разных периодов по каждому инструменту. Массив уже вырастет в несколько раз. И посмотреть, как быстро OpenCL справиться с расчётом... такая пока что мысль...