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

 
а можно doom запустить в окне МТ5?
 

Исправленный код перевыложен. Работает даже на CPU.

OpenCL в MetaTrader 5 мы выпустили еще в феврале 2012 года в 581 билде. Сейчас как сам OpenCL, так и поддержка в железе поднялись на приемлемый уровень и мы вернулись к теме использования OpenCL в математике и графике.

 
Alexey Volchanskiy:
Ренат давно говорил, что OpenCL работает в тестере МТ5, но только на локальной машине, в облаке нет. Так что хоть сейчас используйте.
Ну, в стантартном тестере ядра ГП пока никак не работают, все агенты - только на ЦП.
 

Так все же, как дела обстоят с многозадачностью? Так никто и не ответил. 

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

 
Vitalie Postolache:
Ну, в стантартном тестере ядра ГП пока никак не работают, все агенты - только на ЦП.
Работают в стандартном тестере в локальных агентах.
 
Alexey Volchanskiy:

Так все же, как дела обстоят с многозадачностью? Так никто и не ответил. 

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

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

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

А на GPU можно отправить только часть логики поддающейся распараллеливанию из советника, копия советника не может быть передана на GPU. Т.е. на "тысячи ядер ГП" можно отправить только часть логики советника из каждой из копий на локальных агентах.

Таким образом просто взять и указать в качестве агентов ядра ГП для любого советника не получится.  

 
Renat Fatkhullin:
Работают в стандартном тестере в локальных агентах.
Почему же я при оптимизации вижу только ядра ЦП (Core i5, 8 ядер - 8 агентов), при наличии NVIDIA 780GTX? 
 
Andrey Dik:

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

А на GPU можно отправить только часть логики поддающейся распараллеливанию из советника, копия советника не может быть передана на GPU. Т.е. на "тысячи ядер ГП" можно отправить только часть логики советника из каждой из копий на локальных агентах.

Таким образом просто взять и указать в качестве агентов ядра ГП для любого советника не получится.  

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