Вот что можно сделать с OpenCL прямо в терминале MetaTrader 5 без всяких DLL - страница 18
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Renat Fatkhullin как с вами связаться, обсудить возможность написания на языке MQL5+OpenCL. необходимо задействовать вычислительные мощности видеокарт. если я всё правильно понимаю, то на примере из практики: написанный робот всего 11 параметров оптимизирует 3 машинами, подключенными по локальной сети, период всего 1 год 6 часов. пробовал зарядить 5 лет оптимизацию с полным перебором данных, мне показало что 2 месяца надо ждать. если я правильно понял, то OpenCL данную задачу решает. скорость должна возрасти в сотни раз, так как в расчётах будут задействованы не процессоры, а видеокарты. то есть, с учётом всей торговой системы, примерно будет 200-300 параметров в настройках. такой объём вычислений периода лет 3-5 при исполнении робота в OpenCL будет производиться одной моей машиной за несколько минут-часов. правильно ли я понимаю и возможно ли с вами обсудить написание такого робота?
OpenCL расчеты не участвуют в параллелизации процесса оптимизации.
С помощью OpenCL вы можете конкретную специально подготовленную часть алгоритма просчитать быстрее и параллельно. У нас много статей и обсуждений OpenCL.
что мешает купить карточку посерьёзнее ?
какую-нить A100 https://www.nvidia.com/ru-ru/data-center/a100/
Сказано -Сделано.
Ускорение Х2-Х3 от предыдущих вычисления на Gforce RTX2080 TI
Но есть отдельный момент для всех, кто тестирует модели с нейронной сетью в тестере.
OpenCl не дает захватить устройство при многопоточном обращении, если процессов (агентов) больше 10-12.
Особенно если создается несколько одновременно нейронных сетей для анализа разных данных с объединением в одной.
И несмотря, на то, что на сервере сейчас 96 логических процессоров, пользовать приходится пока 12.
Поэтому в какой то степени выгодней иметь несколько старых компов с сети, вероятно дешевле в разы.
Отдельно хочу отметить отдельную возможность установить пакет AMD SDK , который позволил использовать CPU с OpenCL.
Теперь есть 96 устройств, готовых с той же скоростью выполнять задачу, но уже не зависеть только от мощности карточки.
Однако пришлось поправить библиотеку OpenCl, так как в процесс выбора устройства
CLContextCreate(CL_USE_ANY)
не дает возможность понять, какое устройство в данный момент загружено.
А выбор только GPU или только CPU не дает возможности использовать оба варианта одновременно.
Для решения этой задачи сделал тестирование каждой карточки на текущую скорость вычислений,
используя этот интересный пример на моделирование вычисления (красиво)
https://www.mql5.com/ru/code/825
в коде библиотеки воплотилось это так:
в коде советника
В библиотеке OpenCL учесть возможность выбора устройства
В завтрашнем релизе мы выпускаем штатные matrix/veсtor типы данных для использования в машинном обучении.
Код MQL5 программ здорово упростится и позволит реализовывать большой набор математических операций.
Это первая генерация функционала, а дальше пойдем реализовывать более сложные механизмы, чтобы реализовать возможности таких пакетов, как TensorFlow. Для этого пригодится OpenCL.
Какой смысл во всей этой многопоточности для нейросети, когда проход новой эпохи должен опираться на результаты предыдущего прохода. И все параллельные потоки всего лишь будут повторять результаты первого. И в конце концов зальют результат в один файл. Затирая результаты предыдущего потока но по сути не меняя значения...
Ренат восклицает, а ты ноешь. Годиков то сколько тебе?
Чуть поправил библиотеку, сделал по красоте