Вот что можно сделать с OpenCL прямо в терминале MetaTrader 5 без всяких DLL - страница 2

 
Renat Fatkhullin:

Мы готовим штатную библиотеку на OpenCL для математики и отрисовки, что займет несколько недель. Будет потрясающе быстро и красиво.

А пока посмотрите на обновленную графическую библиотеку для отрисовки научных графиков.

То есть, это всё для того, чтоб на нём ещё и писать самому программы в MetaEditor, или уже готовые, и только осталось ввиде скрипта бросить на график?
 

У меня тоже не запустился:

2016.12.10 07:00:47.388 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    
2016.12.10 07:00:47.418 Seascape (EURUSD,M1)    OpenCL program create failed
2016.12.10 07:00:57.263 Seascape (EURUSD,M1)    OpenCL: GPU device 'Redwood' selected
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    
2016.12.10 07:00:57.285 Seascape (EURUSD,M1)    OpenCL program create failed
 

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

 

prostotrader:
2016.12.10 03:57:08.218 Seascape (GOLD-12.16,H1)        OpenCL program create failed
2016.12.10 03:57:36.695 Seascape (GOLD-12.16,H1)        OpenCL: GPU device 'GeForce GTX 970' selected
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:188:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint b=(uint)(res[2]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:189:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint g=(uint)(res[1]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        <kernel>:190:18: error: subscripted access is not allowed for OpenCL vectors
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)           uint r=(uint)(res[0]*255);
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)                         ^   ~
2016.12.10 03:57:36.711 Seascape (GOLD-12.16,H1)        
2016.12.10 03:57:36.730 Seascape (GOLD-12.16,H1)        OpenCL program create failed

Это можно поправить так: найдите в скрипте эти строки -

                    "   uint b=(uint)(res[2]*255);\r\n"
                    "   uint g=(uint)(res[1]*255);\r\n"
                    "   uint r=(uint)(res[0]*255);\r\n"

и замените их на -

                    "   uint b=(uint)(res.z*255);\r\n"
                    "   uint g=(uint)(res.y*255);\r\n"
                    "   uint r=(uint)(res.x*255);\r\n"


 

 

Несколько вопросов:

  1. Если в одном терминале работают несколько советников, могут ли они совместно и независимо использовать OpenCL?
  2. То же самое с несколькими терминалами.

 
Renat Fatkhullin:

С помощью OpenCL можно использовать тысячи ядер GPU, чтобы ускорить в сотню (несколько сотен) раз математические расчеты.

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

В MQL4 копают лопаткой, а в MQL5 с OpenCL получается трактор по производительности. Чтобы вывести в массы расчеты на GPU, мы готовим новые математические библиотеки в дополнение к существующим.

Нужны еще и реальные примеры, что реально можно распараллеливать, к примеру, в советнике.

Можно ли использовать код с применением OpenCL при оптимизации?

 
Renat Fatkhullin:

С помощью OpenCL можно использовать тысячи ядер GPU, чтобы ускорить в сотню (несколько сотен) раз математические расчеты.

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

В MQL4 копают лопаткой, а в MQL5 с OpenCL получается трактор по производительности. Чтобы вывести в массы расчеты на GPU, мы готовим новые математические библиотеки в дополнение к существующим.

А для MQL4 когда-нибудь будет что-то подобное? Или, хотя бы, использование многопоточности, а то, от многоядерных процессоров мало пользы...

С такой графикой можно игры делать на терминале, вот только интересно, будут ли трейдеры играть вместо торговли ) 

 
Alexander Nikolaev:

А для MQL4 когда-нибудь будет что-то подобное? Или, хотя бы, использование многопоточности, а то, от многоядерных процессоров мало пользы...

С такой графикой можно игры делать на терминале, вот только интересно, будут ли трейдеры играть вместо торговли ) 

Что у Вас за задачи, что не хватает одного ядра?

Для оптимизации можно запустить копии терминалов, соответствующих числу ядер. 

 
-Aleks-:

Что у Вас за задачи, что не хватает одного ядра?

Для оптимизации можно запустить копии терминалов, соответствующих числу ядер. 

Ну если для оптимизации будут использоваться не только 8-16 ядер ЦП, но и тысячи ядер ГП, то это будет взрыв производительности. Если, конечно такая возможность будет воплощена в жизнь.
 
Vitalie Postolache:
Ну если для оптимизации будут использоваться не только 8-16 ядер ЦП, но и тысячи ядер ГП, то это будет взрыв производительности. Если, конечно такая возможность будет воплощена в жизнь.
Ренат давно говорил, что OpenCL работает в тестере МТ5, но только на локальной машине, в облаке нет. Так что хоть сейчас используйте.
 

Красивенно!!!

Даже придумал как потом можно будет использовать -  новости в прямом эфире прямо на графике, или свой канал с аналитикой или обучением (вебинары)

Разрабы молодцы. 

Причина обращения: