Компиляция MQL5 программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с 3902 билда

 

В очередной бете мы выпустили возможность компиляции MQL5 программ с применением расширенного набора инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3.

Они позволяют генерировать более эффективный и быстрый код.

Настраивать можно как общие настройки для одиночных программ, так и персональные для проектов:




Просим присоединиться к тестирования, скачав бета-версию с сервера MetaQuotes-Demo или обновиться через раздел меню "Справка".

 

Можно получить какие-нибудь пояснения/комментарии от разработчиков по работе MT5 на процессорах с "энергоэффективными" ядрами?

Народ обычно интересуется работой тестера, но мне интереснее просто работа MT5 с большим количеством запущенных советников (и "мультисоветников" - много независимых в одном).

 

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Процессор для MT4/MT5

Stanislav Korotky, 2023.08.26 21:09

все это - гадание на кофейной гуще. По-хорошему, MQ должны были бы предоставить свой собственный бенчмарк (программу а-ля PCMark, CineBench, Geekbench и пр.) - типа MetaTraderBench. Снялись бы вопросы по производительности CPU/GPU, графики, работы с диском и т.д. именно в прикладных задачах. Проще было бы подбирать конфигурацию ПК под MT.

Нет бенча, к сожалению.

 
MetaQuotes:

позволяют генерировать более эффективный и быстрый код.

Какие рекомендации по выбору лучших настроек для локальной машины и для удаленной (для Маркета, Агентов и т.д.)?
 
JRandomTrader #:

Можно получить какие-нибудь пояснения/комментарии от разработчиков по работе MT5 на процессорах с "энергоэффективными" ядрами?

Народ обычно интересуется работой тестера, но мне интереснее просто работа MT5 с большим количеством запущенных советников (и "мультисоветников" - много независимых в одном).

Наши тесты показали:

  1. Переход от компилятора MSVC к Clang/LLVM дает общий прирост до 25% - именно такой чудовищный рост, Google про сборку Chrome аналогичное заявлял

    Поэтому MetaTrader 5 давно собирается на Clang.

  2. Применение AVX в платформе дает серьезный прирост, без указания процентов

    Поэтому мы имеем два набора клиентских терминалов: устаревшая NoAVX версия на MSVC для старых процессоров и AVX на Clang для современных.

    Инсталлер автоматически автоматически определяют, какую версию ставить. Лайвапдейт тоже.

  3. Последние наши исследования показывают, что AVX2 + FMA3 дают улучшение по сравнению с AVX

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

    Скоро мы выпустим третий сет программ с AVX2. При очередном обновлении терминал сам прозрачно выберет новую версию.


Работа с P/E ядрами полностью зависит от Windows Scheduler и даже Intel Thread Director (расширение диспетчера потоков) не до конца эффективно распределяет задачи по важности. Там есть разные пограничные кейсы, где диспетчер неэффективен или сомнителен.

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

Гвоздями прибивать affinity mask можно только в особых случаях жесткой оптимизации конкретного приложения.



Общие рекомендации по процессорам просты: больше ядер, больше частота, больше объема кешей L1/L2, достаточно скоростной оперативки и NVME диски.

Сейчас потребительские процессоры уверенно взяли порог в 5 гигагерц . Например, Ryzen 7950X за 600 долларов с 32 потоками легко работает при полной нагрузке с частотой 4.5 - 5.0 гигагерц на каждом ядре и выдает потрясающие результаты.

 

Renat Fatkhullin #:

Инсталлер автоматически автоматически определяют, какую версию ставить. Лайвапдейт тоже.

Обновляю все терминалы через копирование трех exe-файлов (терминал, тестер, редактор). Предыдущие версии люди хранят в том же виде - три эти файла.

Сейчас утверждаете, что они могут быть разными у одного и того же билда. И, соответственно, иметь различную производительность.

 

Форум по трейдингу, автоматизированным торговым системам и тестированию торговых стратегий

Как начать работу с МТ5, краткое содержание!

Фернандо Каррейро , 01.09.2023 12:43

Как это повлияет на продукцию Market в будущем?

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

 
fxsaber #:

Обновляю все терминалы через копирование трех exe-файлов (терминал, тестер, редактор). Предыдущие версии люди хранят в том же виде - три эти файла.

Сейчас утверждаете, что они могут быть разными у одного и того же билда. И, соответственно, иметь различную производительность.

Именно - смотрите наличие AVX в баннере описания компьютера при старте терминала.


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

Разнообразные фермы постоянно попадают в баны из-за:

  1. блокируют обновления и при постоянных перезапусках выкачивают сотни гигабайт обновлений, нагружая нашу инфраструктуру
  2. стирают все кеши на старте терминала и создают нагрузку на серверы брокеров
  3. перезапускают терминалы во всяких докерах/контейнерах/итд с голым окружением десятками тысяч раз в сутки

Вместо жалоб им нужно включать голову и думать о тех, кто их обслуживает. "У меня 5 гб диск и я экономлю, а траф для меня бесплатный" мало кого волнует, если это приводит к расходу ресурсов поставщика технологий или брокера.

 
Fernando Carreiro #:

В маркет будут приниматься только программы, скомпилированные в "x64 Regular" режиме.

Скорее всего в будущем расширим возможности в маркете.


Релиз МТ5 запланирован на пятницу следующей недели. Поэтому просим активнее тестировать новые режимы.

 
Renat Fatkhullin #:

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

Вы торгуете на билдах с багами? По-моему, далеки от практики алготрейдинга.
 
fxsaber #:
Вы торгуете на билдах с багами? По-моему, далеки от практики алготрейдинга.

Так не обновляйтесь на беты в проде.

Релизы выходят каждые 3 месяца. А те злостные фермеры, кто не обновляются, сидят на устаревших версиях по году и больше - им никакой трейдинг не важен. У них чисто утилитарный подход "я свою задачу сделал, на остальных мне плевать".

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