MQL + CUDA
Страница 1 из 3 1 2 3 ПоследняяПоследняя
Показано с 1 по 10 из 23

Тема: MQL + CUDA

  1. #1
    Теоретик Аватар для PAZITIV
    Регистрация
    20.12.2011
    Адрес
    47°57′16.04″ с. ш. 33°25′22.28″ в. д
    Сообщений
    1,472
    Promo (¢)
    -10
    Благодарности
    Получено: 52
    Отправлено: 77

    MQL + CUDA

    Всем здравствуйте. Кто может подсказать, можно ли проводить тестирование или оптимизацию советником с помощью средств видеокарт. Если у меня Нвидиа поддерживает технологию CUDA , я могу её использовать для ускорения теста советников? Интересует MQL4. В MQL5 используется облако, но , насколько я понял, это распределённые вычисления , но с использованием ЦП, а не ГП

    Вы не можете благодарить!

  2. #2
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    603
    Promo (¢)
    0
    Благодарности
    Получено: 246
    Отправлено: 48
    Цитата Сообщение от PAZITIV Посмотреть сообщение
    Всем здравствуйте. Кто может подсказать, можно ли проводить тестирование или оптимизацию советником с помощью средств видеокарт. Если у меня Нвидиа поддерживает технологию CUDA , я могу её использовать для ускорения теста советников? Интересует MQL4. В MQL5 используется облако, но , насколько я понял, это распределённые вычисления , но с использованием ЦП, а не ГП
    Я с CUDA работал, но на языке С++, есть хорошая поддержка в Matlab и гейт на язык C#. MQL4, естественно, Куду не поддерживает, он даже обычные многоядерные процессоры не видит, куда уж там до Куды ))

    Я вижу только два пути:
    1. Вынести тяжелую расчетную часть в DLL на С++, из которой Куду и использовать
    2. Вынести тяжелую расчетную часть в Матлаб, использование Матлаба из МТ4 делается легко. Думаю, по времени разработки это будет быстрее, т.к. Матлаб использует Куду прозрачно, на автомате, просто надо задать опции.

    Вы не можете благодарить!

  3. #3
    Теоретик Аватар для PAZITIV
    Регистрация
    20.12.2011
    Адрес
    47°57′16.04″ с. ш. 33°25′22.28″ в. д
    Сообщений
    1,472
    Promo (¢)
    -10
    Благодарности
    Получено: 52
    Отправлено: 77
    Цитата Сообщение от Алексей Волчанский Посмотреть сообщение
    2. Вынести тяжелую расчетную часть в Матлаб, использование Матлаба из МТ4 делается легко. Думаю, по времени разработки это будет быстрее, т.к. Матлаб использует Куду прозрачно, на автомате, просто надо задать опции.
    При оптимизации ресурсы Матлаб+КУДА будут использоваться параллельно с ресурсами ЦП для работы терминала или как ? Вообще есть смысл париться или лучше подождать пока в МКЛ5 запилят поддержку ГП и выучить МКЛ 5 ?

    Вы не можете благодарить!

  4. #4
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    603
    Promo (¢)
    0
    Благодарности
    Получено: 246
    Отправлено: 48
    Цитата Сообщение от PAZITIV Посмотреть сообщение
    При оптимизации ресурсы Матлаб+КУДА будут использоваться параллельно с ресурсами ЦП для работы терминала или как ? Вообще есть смысл париться или лучше подождать пока в МКЛ5 запилят поддержку ГП и выучить МКЛ 5 ?
    Терминал о Матлабе, Куде и ГП ничего знать не будет. Просто для него будет вызов функция из внешней DLL, которая уже будет дергать функции, написанные в Матлабе, а тот умеет распределять нагрузку между ЦП и ГП. Например, расчет цифровых фильтров, тех же мувингов, каких-то матричных или векторных операций точно перенесет на ГП, так как это круто распараллеливается. А разнородные вычисления с кучей операций типа if-else оставит ЦП. Надо понимать, что использование ГП - это не волшебная палочка, алгоритм должен сильно распараллеливаться, иначе выигрыша по сравнению с ЦП не будет, наоборот пойдут минусы на пересылках в память и т.д.
    Например, перемножение двух массивов отлично параллелится, так как его можно разбить на сотни маленьких кусочков и Матлаб умеет это делать на автомате.

    Про MQL5 и GPU не в курсе, вроде чего-то обещали..меня пятерка не интересует, я роботов пишу на С++/С#/Матлаб + MQL4 для моста на терминал. Вообще, уже перенос кода на С++ с использованием компилятора от Intel дает огромный эффект по быстродействию без всякой Куды, я бы с этого начал. Интеловский компилятор просто монстр, распараллеливает все сам, просто галочку ставишь в опциях. Вот тут я на эту тему писал и в ветке есть мои коды примеров, сейчас прошло больше года, компилятор стал еще быстрее. Интел я реально уважаю, амд в плане разработки ПО для своих камней рядом не валялся ))

    Вы не можете благодарить!

  5. #5
    Теоретик Аватар для PAZITIV
    Регистрация
    20.12.2011
    Адрес
    47°57′16.04″ с. ш. 33°25′22.28″ в. д
    Сообщений
    1,472
    Promo (¢)
    -10
    Благодарности
    Получено: 52
    Отправлено: 77
    Цитата Сообщение от Алексей Волчанский Посмотреть сообщение
    Терминал о Матлабе, Куде и ГП ничего знать не будет. Просто для него будет вызов функция из внешней DLL, которая уже будет дергать функции, написанные в Матлабе, а тот умеет распределять нагрузку между ЦП и ГП. Например, расчет цифровых фильтров, тех же мувингов, каких-то матричных или векторных операций точно перенесет на ГП, так как это круто распараллеливается. А разнородные вычисления с кучей операций типа if-else оставит ЦП. Надо понимать, что использование ГП - это не волшебная палочка, алгоритм должен сильно распараллеливаться, иначе выигрыша по сравнению с ЦП не будет, наоборот пойдут минусы на пересылках в память и т.д.
    Например, перемножение двух массивов отлично параллелится, так как его можно разбить на сотни маленьких кусочков и Матлаб умеет это делать на автомате.

    Про MQL5 и GPU не в курсе, вроде чего-то обещали..меня пятерка не интересует, я роботов пишу на С++/С#/Матлаб + MQL4 для моста на терминал. Вообще, уже перенос кода на С++ с использованием компилятора от Intel дает огромный эффект по быстродействию без всякой Куды, я бы с этого начал. Интеловский компилятор просто монстр, распараллеливает все сам, просто галочку ставишь в опциях. Вот тут я на эту тему писал и в ветке есть мои коды примеров, сейчас прошло больше года, компилятор стал еще быстрее. Интел я реально уважаю, амд в плане разработки ПО для своих камней рядом не валялся ))
    А у вас так много вычислений, что вы используете такие костыли? Или действительно быстрее получается? Просто я считаю, что просто я для работы советника не нужны лишние костыли. А лаги могут быть из-за множества обьектов на графике. От этого никуда не деться.

    Вы не можете благодарить!

  6. #6
    Денис Кириченко
    Guest

    Exclamation OpenCL

    В MQL5 есть поддержка OpenCL.
    Документация: _http://www.mql5.com/ru/docs/opencl

    Несколько статей на заданную тему:

    Вы не можете благодарить!

  7. #7
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    603
    Promo (¢)
    0
    Благодарности
    Получено: 246
    Отправлено: 48
    Цитата Сообщение от PAZITIV Посмотреть сообщение
    А у вас так много вычислений, что вы используете такие костыли? Или действительно быстрее получается? Просто я считаю, что просто я для работы советника не нужны лишние костыли. А лаги могут быть из-за множества обьектов на графике. От этого никуда не деться.
    Причин много. Главная пожалуй, бедность MQL4. Хоть я его и преподаю, но надо смотреть правде в глаза - язык простой в освоении, но возможности ограничены. Ну а если вы предпочитаете ездить зимой на велосипеде (типа сел и сразу поехал), а хорошее авто с автоматической коробкой, климатом, ГУР и т.д. считаете костылем, то я не буду спорить. Из Питера до Москвы можно и на велике доползти)) По обочине, стуча зубами от холода, за неделю... Но с костылем как-то быстрее и комфортнее))
    Второе, у меня в робот встроена внутренняя самооптимизация на лету, запущено несколько потоков, в каждом прогоняется свой вариант и они никому не мешают, живут своей жизнью и все. Я с трудом представляю, как бы я это сделал на четверке или пятерке. А вот Куду я нечасто использую - почти нет подходящих задач.
    Ну и последнее, я в программировании больше 20 лет и все эти технологии знаю давно, так что мне их применение ничего не стоит. И самое последнее, робот, написанный на промышленных языках, легко перенести на другую платформу, а не быть жестко привязанным к МТ4 или МТ5.
    А вообще все это дело вкуса, давайте не будем спорить ))

    Вы не можете благодарить!

  8. #8
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    603
    Promo (¢)
    0
    Благодарности
    Получено: 246
    Отправлено: 48
    Цитата Сообщение от Денис Кириченко Посмотреть сообщение
    В MQL5 есть поддержка OpenCL.
    Документация: _http://www.mql5.com/ru/docs/opencl
    Денис, а я и забыл, спасибо, что напомнил! Читал на форуме MQL5 с год назад, что включили эту фичу, но не пробовал. Кстати, он же и GPU должен поддерживать? От себя добавлю, что OpenCL довольно простой в освоении и универсальный, я его немного пробовал не на МТ5.

    Вы не можете благодарить!

  9. #9
    Денис Кириченко
    Guest
    Цитата Сообщение от Алексей Волчанский Посмотреть сообщение
    Денис, а я и забыл, спасибо, что напомнил! Читал на форуме MQL5 с год назад, что включили эту фичу, но не пробовал. Кстати, он же и GPU должен поддерживать? От себя добавлю, что OpenCL довольно простой в освоении и универсальный, я его немного пробовал не на МТ5.
    Да! Есть уже скрипты, где можно посмотреть разницу между исполнением на CPU и GPU.

    Вы не можете благодарить!

  10. #10
    Новичок
    Регистрация
    15.08.2012
    Адрес
    Московская область
    Сообщений
    242
    Promo (¢)
    1,420
    Благодарности
    Получено: 15
    Отправлено: 20
    Коллеги, имел ли кто-то опыт реальной оптимизации советников MQL5 на OpenCL? Есть идея использовать AMD Radeon HD серии 7900 (обеспечивают гораздо бОльшую вычислительную производительность в вычислениях с двойной точностью по сравнению с другими продуктами) или будущие HD 8000. Основная идея: большое количество независимых друг от друга итераций при оптимизации большого количества параметров системы.
    Знаю, что поддержка OpenCL на MQL5 внедрена сравнительно недавно. На фоне облака MQL5 при постоянной загрузке данный подход должен себя оправдать. Есть ли какие-нибудь мнения на этот счёт.
    Что касается Cuda от Nvidia. Уже несколько лет пассивно наблюдаю за данной технологией (не будучи профессиональным программистом), но широкой поддержки она не находит, видимо, потому что код нельзя назвать в полной мере открытым (скорее, даже вообще нельзя - ведь технология Cuda принадлежит Nvidia). Если говорить о железе, то GeForce от Nvidia на архитектуре Kepler не выглядит лучшим образом на фоне не только AMD Radeon HD, но и предыдущих поколений GeForce, уступая им, по крайней мере, в вычислениях с двойной точностью. А приобретать профессиональные решения Tesla за несколько тысяч долларов не выглядит выгодной инвестицией для частных инвесторов с небольшим капиталом.

    Вы не можете благодарить!

Страница 1 из 3 1 2 3 ПоследняяПоследняя

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •