OpenCl и инструменты для него. Отзывы и впечатления. - страница 7

 
icas:
"Всё правильно, всё верно, да? Но есть и другая сторона медали." ("Кавказкая пленница", C). Метаквоты, наконец-то, "идут в ногу со временем".

Они зачем-то решили идти в ногу с железом? А железо стареет быстрее всего.


Нормальные герои всегда идут в обход (с) Песня такая из какого-то кинофильма.


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

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

Самый эффективный способ повысить производительность софта - улучшить его алгоритм. Все остальные попытки свернуть с этого пути, а особенно зависимые от других разработчиков, частенько завершаются весьма плачевно.

 
Reshetov:

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

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

Самый эффективный способ повысить производительность софта - улучшить его алгоритм. Все остальные попытки свернуть с этого пути, а особенно зависимые от других разработчиков, частенько завершаются весьма плачевно.


Попробуйте MQL5 Cloud Network - скорость оптимизации такая, что в МТ4 и не снилась. На массивных вычислениях завораживает, как валится сотня результатов в секунду при использовании пары тысяч независимых агентов.

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

 
Renat:

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

Вау! Значит ли это, что пользователь будет иметь доступ к результатам расчетов агентов?
 
joo:
Вау! Значит ли это, что пользователь будет иметь доступ к результатам расчетов агентов?

Именно.

Можно будет передавать большие объемы данных с агентов назад на хостовый терминал, а по окончании расчетов автоматически запускать метод OnTesterFinalize() того же эксперта уже на самом терминале. Тем самым можно будет производить сложную постобработку результатов тестов.

 
Renat:

Именно.

Можно будет передавать большие объемы данных с агентов назад на хостовый терминал, а по окончании расчетов автоматически запускать метод OnTesterFinalize() того же эксперта уже на самом терминале. Тем самым можно будет производить сложную постобработку результатов тестов.

Круто!!!

Ещё, пока не поздно. Желателен ещё метод OnTesterFinalize() для агентов (может быть тем же самым, но с входным параметром хост/агент). Идея в том, чтоб создавать массивы в мап-файлах (например кешировать тяжёлые индикаторы) на агентских машинах, а в финале их корректно удалять.

 
Renat:

Попробуйте MQL5 Cloud Network - скорость оптимизации такая, что в МТ4 и не снилась. На массивных вычислениях завораживает, как валится сотня результатов в секунду при использовании пары тысяч независимых агентов.

Да пробовал я уже, на локальном 2 ядерном компьютере. Результаты огорчили. На МТ5 все еле вошкается на 2-х ядрах, в то время как на МТ4 оптимизация проходит быстро.

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

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

Но суть ведь в том, что на данный момент мне вполне хватает производительности которую дает МТ4. А поскольку МТ5 становится все более железозависимым, то переходить на такую платформу желание пропадает.


Renat:

Я не уверен, что GPU вычисления дадут прирост в базовых алгоритмах трейдинга, но у нас далеко идущие планы.

Если уж до конца разбираться, то GPU вычисления ни для чего, кроме компьютерных игр пока не шибко пригодны. Тут история совсем другая. А именно, получился парадокс, что 3D графику, т.е. изображения и мультипликацию создают, (рендерят) на основных процессорах компьютеров. С одной стороны вроде бы производятся видеокарты с мощными процессорами для графики с высокоскоростной памятью, а с другой стороны, все кто имеет дело с 3D, не покупают навороченные видяхи, а приобретают многоядерные процессоры и обычное, но высокоскоростное ОЗУ, иногда объединяют все это хозяйство в фермы и рендерят. Хлеще того, результаты рендеринга также можно посмотреть на достаточно дешевых видеокартах (тут большую роль играет качество изображения на мониторе).

Понятно, что производителей видях такое положение не устраивает, поскольку прибыли текут мимо, вот они со своей стороны и делают попытки подмять ситуацию под себя. Но пока весьма неудачно. Т.е. софт для рендеринга для отдельных линеек видеокарт появился, но если просчитать, то получается, что соотношение качество / цена, не в пользу GPU. Рекламному агентству или полиграфистам выгоднее подождать пока отрендерится 3D изображение на обычном многоядернике или на ферме, но зато с высочайшим качеством, нежели получить быстро на GPU и потом пытаться исправить косяки. Производители рендеров тоже не торопятся переходить на GPU, потому что в этом случае их софт станет зависимым от производителей видеокарт и привязка к конкретному железу только отпугнет клиентов.

Если бы MetaQuotes занимался бы разработкой ферм для 3D графики, тогда такой шаг был бы еще понятен. А так, ИМХО - только пустая трата времени, поскольку желательно было бы подождать когда у производителей видеокарт все устаканится, а не лезть на рожон в самое пекло.

Хотя не мне решать, т.к. хозяин-барин. Но суть остается, т.е. желания переходить на железозависимый софт пока нет и не скоро появится.

 
Reshetov:

Да пробовал я уже, на локальном 2 ядерном компьютере. Результаты огорчили. На МТ5 все еле вошкается на 2-х ядрах, в то время как на МТ4 оптимизация проходит быстро.

На двуядерном пробовали MQL5 Cloud Network с 2000 агентами?

Или все-таки, просто запустили одиночный проход локально и на этом успокоились?

Как раз именно с MQL5 Cloud Network мы достигли простого ускорения в сотни и тысячи раз. Без GPU, на любом эксперте. Посмотрите мой старый пример с видео: Пример ускорения расчетов с применением MQL5 Cloud Network


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

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

Мы дали возможность мгновенно одной кнопкой поднять (время разогрева сети около 20-30 секунд) тысячи агентов для быстрого расчета задач. Вместо сотен часов можно реально уложиться в полчаса.

Причем цены смешные - любой может проверить, каждому зарегистрировавшемуся на MQL5.com дается бонусных 2 доллара.

Это - реальная революция. Теперь любой пользователь может положить на лопатки практически любой суперкомпьютер через использование клауда. А с вводом GPU (в пятницу будет доступный билд) выигрывать у суперкомпьютеров можно будет пачками.


Но суть ведь в том, что на данный момент мне вполне хватает производительности которую дает МТ4. А поскольку МТ5 становится все более железозависимым, то переходить на такую платформу желание пропадает.

Производительности хватает (а вернее Вы себя в этом убеждаете) на простые случаи. Для массивных и детальнейших вычислений мощностей никак не хватает.

Ошибка со сравнением тестеров МТ4 vs МТ5 в том, что люди закрывают глаза на совершенно разный уровень детализации и возможность точного мультивалютного тестирования.

С железозависимостью Вы тоже промахнулись:

  • МТ5 поддерживает 32 и 64 битные архитектуры (64 битная версия реально быстрее и мощнее)
  • МТ5 использует все локальные ядра
  • МТ5 использует удаленных агентов (32 и 64 битных)
  • МТ5 использует MQL5 Cloud Network, когда простенький ноутбук получает результаты расчетов с компьютеров в несколько тысяч раз мощнее его
  • МТ5 использует железонезависимый OpenCL, который позволяет работать с разнообразными GPU процессорами

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


Понятно, что производителей видях такое положение не устраивает, поскольку прибыли текут мимо, вот они со своей стороны и делают попытки подмять ситуацию под себя. Но пока весьма неудачно. Т.е. софт для рендеринга для отдельных линеек видеокарт появился, но если просчитать, то получается, что соотношение качество / цена, не в пользу GPU. Рекламному агентству или полиграфистам выгоднее подождать пока отрендерится 3D изображение на обычном многоядернике или на ферме, но зато с высочайшим качеством, нежели получить быстро на GPU и потом пытаться исправить косяки. Производители рендеров тоже не торопятся переходить на GPU, потому что в этом случае их софт станет зависимым от производителей видеокарт и привязка к конкретному железу только отпугнет клиентов.

Хотя я не являюсь защитником GPU (был долгое время откровенно против), но Ваши выводы неверные.

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

Компании вынуждены использовать софтверные рендеры только из-за инерции и налаженности процессов. Заставить компанию сменить софт - это титанический труд, зачастую невозможный на протяжении последующих 3-5 лет. С учетом того, какой рывок сделали GPU за последние 3 года и явно видимый упор их авторов на универсализацию, вполне разумно не только ожидать улучшения результатов, но и активно использовать новые возможности.


Если бы MetaQuotes занимался бы разработкой ферм для 3D графики, тогда такой шаг был бы еще понятен. А так, ИМХО - только пустая трата времени, поскольку желательно было бы подождать когда у производителей видеокарт все устаканится, а не лезть на рожон в самое пекло.

Хотя не мне решать, т.к. хозяин-барин. Но суть остается, т.е. желания переходить на железозависимый софт пока нет и не скоро появится.

Мы достаточно ждали, тоже критиковали и не соглашались, но время пришло.

И уже третий раз повторение по "железозависимый софт".

 
Reshetov:

Да пробовал я уже, на локальном 2 ядерном компьютере. Результаты огорчили. На МТ5 все еле вошкается на 2-х ядрах, в то время как на МТ4 оптимизация проходит быстро.

Главным образом, при прочих равных, скорость тестирования на МТ5 ниже чем на МТ4 потому, что в МТ5 используется более качественное моделирование тиковой истории. Это сильно снижает скорость. Но, есть надежда, что MQ реализуют более простые методы генерации тиков (и варианты тестирования вообще без тиков) как в МТ4 (таких просьб очень много, а глядя на недавние нововведения есть надежда, что это будет реализовано).

Reshetov:

Если уж до конца разбираться, то GPU вычисления ни для чего, кроме компьютерных игр пока не шибко пригодны. Тут история совсем другая. А именно, получился парадокс, что 3D графику, т.е. изображения и мультипликацию создают, (рендерят) на основных процессорах компьютеров. С одной стороны вроде бы производятся видеокарты с мощными процессорами для графики с высокоскоростной памятью, а с другой стороны, все кто имеет дело с 3D, не покупают навороченные видяхи, а приобретают многоядерные процессоры и обычное, но высокоскоростное ОЗУ, иногда объединяют все это хозяйство в фермы и рендерят. Хлеще того, результаты рендеринга также можно посмотреть на достаточно дешевых видеокартах (тут большую роль играет качество изображения на мониторе).

Понятно, что производителей видях такое положение не устраивает, поскольку прибыли текут мимо, вот они со своей стороны и делают попытки подмять ситуацию под себя. Но пока весьма неудачно. Т.е. софт для рендеринга для отдельных линеек видеокарт появился, но если просчитать, то получается, что соотношение качество / цена, не в пользу GPU. Рекламному агентству или полиграфистам выгоднее подождать пока отрендерится 3D изображение на обычном многоядернике или на ферме, но зато с высочайшим качеством, нежели получить быстро на GPU и потом пытаться исправить косяки. Производители рендеров тоже не торопятся переходить на GPU, потому что в этом случае их софт станет зависимым от производителей видеокарт и привязка к конкретному железу только отпугнет клиентов.

Если бы MetaQuotes занимался бы разработкой ферм для 3D графики, тогда такой шаг был бы еще понятен. А так, ИМХО - только пустая трата времени, поскольку желательно было бы подождать когда у производителей видеокарт все устаканится, а не лезть на рожон в самое пекло.

Ситуация почти в точности наоборот. Все, кто думает о будущем переходят на вычисления на GPU. Строят целые суперкомпьютеры из видях.

На GPU считают нынче всё, и видео, и звук, и фото, и даже прочностные расчеты в динамике и статике.

Неофициальная информация:
Общая информация о CUDA
http://www.gpgpu.ru/
http://www.computerra.ru/interactive/423392/
http://cgm.computergraphics.ru/issues/issue16/cuda
http://www.ixbt.com/video3/cuda-1.shtml
http://www.ixbt.com/video3/cuda-2.shtml
http://www.thg.ru/graphic/nvidia_cuda_test/print.html
http://www.thg.ru/graphic/nvidia_cuda/print.html
https://ru.wikipedia.org/wiki/CUDA

Документация по CUDA
http://www.uraldev.ru/articles/id/33
http://www.steps3d.narod.ru/tutorials/cuda-tutorial.html

Примеры и статьи на CUDA
http://www.codeproject.com/info/search.aspx?artkw=CUDA

Литература в печатном виде:
http://www.ozon.ru/context/detail/id/5080841/
http://www.ozon.ru/context/detail/id/5432077/


Официальная информация:

Сопутствующие технологии
http://www.khronos.org/opencl/

http://www.nvidia.ru/object/cuda_home_new_ru.html
http://nvidia.custhelp.com/cgi-bin/nvidia.cfg/php/enduser/std_alp.php

http://developer.nvidia.com/object/gpucomputing.html
http://developer.nvidia.com/object/cuda_3_2_downloads.html
http://developer.nvidia.com/page/documentation.html
http://developer.nvidia.com/object/nsight-downloads.html

Примеры кода на CUDA

http://developer.download.nvidia.com/compute/cuda/sdk/website/samples.html

Области применения

http://www.nvidia.ru/object/cuda_research_ru.html

Демонстрации от сообщества

http://www.nvidia.ru/object/cuda_apps_flash_new_ru.html


Это ссыли в основном по CUDA (вытащил из запасников), но к OpenCL всё так же относится в полной мере. К тому же, будущее OpenCL выглядит более радужным (железо-независимая технология), чем CUDA (железо-зависимая технология).


Reshetov:
Хотя не мне решать, т.к. хозяин-барин. Но суть остается, т.е. желания переходить на железозависимый софт пока нет и не скоро появится.

Никто не запрещает писать программы по старинке, для CPU. Работать будут все программы.


ЗЫ Renat меня опередил.

 

joo:

...

ЗЫ Renat меня опередил.

Двойной удар. Информация лишней не бывает. :) Очень информативная ветка, её бы даже закрепить стоило, чтобы вниз не съезжала.
 
icas:
Ренат, будет ли поддержка OpenCL в MT4?

К сожалению, нет.

Но на следующей неделе выйдет большой апдейт МetaTrader 4, а новый MetaTrader 4 для iPhone/iPad уже на этой неделе.