Compilación de programas MQL5 con juego de instrucciones AVX / AVX2 + FMA3 / AVX512 + FMA3 a partir de la compilación 3902 - página 6

 

Terminal:

Editor:


Al iniciar en el registro de la terminal:

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.90 GHz, AVX2, 10 / 15 Gb memory, 205 / 476 Gb disk, UAC, GMT+7


En la configuración del editor:


Y al compilar en el registro:

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

¿Por qué? Procesador con AVX2, en la configuración de compilación AVX2+FMA3 está seleccionado, pero compila en X64 Regular.... ¿Por qué?

 
Dmitry Fedoseev #:

¿Por qué no hacer que varias opciones de compilación se empaqueten en un archivo compilado con priority....? Debe haber un futuro para esta variante. Pero por ahora es sólo un juguete.

Usted no necesita esto. X64 funciona y está bien. ¿Por qué necesito comprobar las cuatro variantes para ver si funcionan? Todavía recuerdo los tiempos en que MQL x32 y x64 tenían resultados diferentes

 
Artyom Trishkin #:

Y al compilar en el registro:

¿Por qué? Procesador con AVX2, en los ajustes de compilación está seleccionado AVX2+FMA3, pero compila en X64 Regular... ¿Por qué?

Lo más probable es que esté compilando un proyecto y no un único fichero.

Los proyectos tienen su propio modo de compilación.

 
Renat Fatkhullin #:

El claro paso a versiones especializadas de terminales para procesadores modernos es un paso grande y correcto. Estamos seriamente centrados en mejorar el rendimiento de toda la plataforma y ahora somos libres de aplicar directamente nuevos métodos de optimización sin construir muletas.

Ahora no está claro cómo mantener las versiones anteriores de los terminales.

Por ejemplo, en la máquina AVX2-home, se encontró un error crítico en la versión terminal b3521. Tenía copias de seguridad de versiones anteriores en mi máquina doméstica en caso de un retroceso temporal hasta que el bug fuera corregido.

Y ahora en DDS (AVX2 no lo soporta), donde los terminales de combate están funcionando y la versión b3521 está instalada, necesito hacer un rollback urgentemente. Los archivos-exe AVX2 de la máquina de casa no funcionan. ¿Cómo hacer un rollback?

 

Se ha añadido la posibilidad de mostrar y seleccionar el modo de compilación directamente en la barra de herramientas:


 
fxsaber #:

¡¿Cómo se retrocede?!

Por favor, cree algún mecanismo que haga una copia de seguridad automática de los archivos exe actuales cuando se inicie LiveUpdate.

 
Renat Fatkhullin #:

Cuando se distribuye software, incluido el mercado, hay que construir la variante x64.

¿Y para los agentes en la nube?
 
Renat Fatkhullin #:

Lo más probable es que estés compilando un proyecto, no un único archivo.

Los proyectos tienen su propia configuración personal del modo de compilación.

No, un único archivo .mqh

UPD. Al compilar clases en el archivo .mqh, sí, se utiliza X64 Regular, pero al compilar .mq5 al que se adjunta el archivo con las clases, todo va bien:

0 errors, 0 warnings, 3318 msec elapsed, cpu='AVX2 + FMA3'              1       1
 
fxsaber #:
¿Y para los agentes en la nube?

En MQL5 Cloud Network, el límite superior para EX5 estará en AVX2 y las tareas se distribuirán automáticamente a los agentes con el conjunto de CPU necesario.

Es decir, todo funcionará de forma transparente en un par de días. Mañana lanzaremos una beta abierta para los agentes, y en una semana tendremos la versión de lanzamiento.

 
Renat Fatkhullin #:

En MQL5 Cloud Network, el límite superior para EX5 estará en AVX2 y las tareas se distribuirán automáticamente a los agentes con el conjunto de CPU necesario.

Es decir, todo funcionará de forma transparente en un par de días. Mañana lanzaremos la beta abierta para agentes, y en una semana tendremos el lanzamiento.

¿Los agentes sin AVX2 recibirán menos asignaciones? ¿Si se compila en AVX512 - no se puede utilizar la nube?

Razón de la queja: