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

 

Терминал:

Редактор:


При старте в журнале терминала:

2023.09.06 10:53:15.635 Terminal        MetaTrader 5 x64 build 3915 started for MetaQuotes Software Corp.
2023.09.06 10:53:15.635 Terminal        Windows 10 build 19045, 4 x Intel Core i3-7100  @ 3.90GHz, AVX2, 10 / 15 Gb memory, 205 / 476 Gb disk, UAC, GMT+7


В настройках редактора:


А при компиляции в журнале:

0 errors, 0 warnings, 14 msec elapsed, cpu='X64 Regular'                1       1

А почему? Процессор с AVX2, в настройках компиляции выбрано AVX2+FMA3, но компилируется в X64 Regular... Почему?

 
Dmitry Fedoseev #:

Почему бы не сделать так, чтобы в один откомпилированный файл упаковывалось несколько вариантов компиляции с указанием приоритета... За таким вариантом должно быть будущее. А пока просто игрушка. 

Вот этого не нужно. X64 работает и ладно. Зачем мне все четыре варианта проверять на работоспособность? Еще помню времена, когда в MQL x32 и x64 был разный результат

 
Artyom Trishkin #:

А при компиляции в журнале:

А почему? Процессор с AVX2, в настройках компиляции выбрано AVX2+FMA3, но компилируется в X64 Regular... Почему?

Скорее всего, вы компиляете проект, а не одиночный файл.

У проектов свои персональные настройки режима компиляции.

 
Renat Fatkhullin #:

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

Непонятно, как теперь сохранять предыдущие версии терминалов.

Например, на AVX2-домашней машине в релизном терминале b3521 была обнаружена критическая ошибка. Я меня на домашней машине были бэкапы предыдущих версий на случай временного отката, пока баг не исправят.

И вот на DDS (AVX2 не поддерживает), где работают боевые терминалы и стоят релизные b3521, нужно срочно откатиться. С домашней машины AVX2-exe-файлы не подойдут. Как откатываться?!

 

Добавили показ и выбор режима компиляции прямо в тулбаре:


 
fxsaber #:

Как откатываться?!

Просьба к умельцам создать какой-то механизм, который автоматом при запуске LiveUpdate делал бы бэкап текущих exe-файлов.

 
Renat Fatkhullin #:

При распространении программ, включая маркет, надо собирать x64 вариант.

И для облачных агентов?
 
Renat Fatkhullin #:

Скорее всего, вы компиляете проект, а не одиночный файл.

У проектов свои персональные настройки режима компиляции.

Нет, одиночный файл .mqh

UPD. При компиляции классов в файле .mqh да, используется X64 Regular, но при компиляции .mq5, к которому присоединён файл с классами, всё нормально:

0 errors, 0 warnings, 3318 msec elapsed, cpu='AVX2 + FMA3'              1       1
 
fxsaber #:
И для облачных агентов?

В MQL5 Cloud Network верхний лимит для EX5 будет на AVX2 и задачи автоматически будут распределяться на агентов с нужным процессорным сетом.

То есть, все будет работать прозрачно через пару дней. Завтра мы выпускаем открытую бету для брокеров, а через неделю будет релиз.

 
Renat Fatkhullin #:

В MQL5 Cloud Network верхний лимит для EX5 будет на AVX2 и задачи автоматически будут распределяться на агентов с нужным процессорным сетом.

То есть, все будет работать прозрачно через пару дней. Завтра мы выпускаем открытую бету для брокеров, а через неделю будет релиз.

Агенты без AVX2 будут меньше получать заданий? Если скомпилировал на AVX512 - нельзя воспользоваться облаком?

Причина обращения: