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

 

En la próxima beta hemos lanzado la posibilidad de compilar programas MQL5 utilizando el conjunto ampliado de instrucciones AVX / AVX2 + FMA3 / AVX512 + FMA3.

Estas instrucciones permiten generar código más eficiente y rápido.

Puedes configurar tanto ajustes generales para programas individuales como ajustes personales para proyectos:




Por favor, únase a las pruebas descargando la versión beta desde el servidor MetaQuotes-Demo o actualice a través de la sección de menú "Ayuda".

 

¿Puedo obtener algunas explicaciones/comentarios de los desarrolladores sobre el funcionamiento de MT5 en procesadores con núcleos "energéticamente eficientes"?

La gente suele estar interesada en el trabajo de tester, pero yo estoy más interesado en el trabajo de MT5 con un montón de EAs en ejecución (y "multi EAs" - muchos independientes en uno).

 

Foro sobre negociación, sistemas automatizados de negociación y ensayo de estrategias de negociación

Procesador para MT4/MT5

Stanislav Korotky, 2023.08.26 21:09

Todo esto es adivinar en los posos del café. MQ debería proporcionar su propio benchmark (un programa como PCMark, CineBench, Geekbench, etc.) - como MetaTraderBench. Se eliminarían las preguntas sobre el rendimiento de la CPU/GPU, los gráficos, el manejo del disco, etc. en las tareas de la aplicación. Sería más fácil elegir una configuración de PC para MT.

No hay Bench, por desgracia.

 
MetaQuotes:

permiten generar código más eficiente y rápido.

¿Cuáles son sus recomendaciones para elegir la mejor configuración para la máquina local y para la máquina remota (para Market, Agentes, etc.)?
 
JRandomTrader #:

¿Podemos obtener alguna aclaración/comentario de los desarrolladores sobre la ejecución de MT5 en procesadores con núcleos de "bajo consumo"?

La gente suele estar interesada en el trabajo de tester, pero yo estoy más interesado en el trabajo de MT5 con muchos EAs en ejecución (y "multi EAs" - muchos independientes en uno).

Nuestras pruebas han demostrado:

  1. El cambio de compilador MSVC a Clang/LLVM da un aumento global de hasta un 25% - sólo un crecimiento tan monstruoso, Google sobre Chrome construye de manera similar declaró

    Es por eso que MetaTrader 5 se ha construido en Clang durante mucho tiempo.

  2. El uso de AVX en la plataforma da un aumento serio, sin especificar porcentajes

    Por eso tenemos dos conjuntos de terminales cliente: la anticuada versión NoAVX en MSVC para procesadores antiguos y AVX en Clang para los modernos.

    El instalador determina automáticamente qué versión poner. Livapdate también.

  3. Nuestra última investigación muestra que AVX2 + FMA3 da una mejora sobre AVX

    FMA3 ayuda en matemáticas vectoriales, lo que debería funcionar bien para nuestra clase de problemas.

    Pronto lanzaremos el tercer conjunto de programas con AVX2. En la próxima actualización el propio terminal seleccionará de forma transparente la nueva versión.


Trabajar con kernels P/E depende totalmente de Windows Scheduler e incluso Intel Thread Director (extensión de Thread Manager) no es totalmente eficiente en la asignación de tareas por importancia. Existen varios casos límite en los que el despachador es ineficaz o cuestionable.

Intentar utilizar la máscara de afinidad en el caso general sólo empeora las cosas. Especialmente cuando la aplicación se ejecuta en una máquina virtual.

Usted puede clavar la máscara de afinidad sólo en casos especiales de optimización estricta de una aplicación en particular.



Las recomendaciones generales sobre procesadores son sencillas: más núcleos, mayor frecuencia, más cachés L1/L2, suficiente RAM de alta velocidad y discos NVME.

Ahora los procesadores de consumo han tomado con confianza el umbral de los 5 gigahercios . Por ejemplo, Ryzen 7950X por 600 dólares con 32 hilos funciona fácilmente a plena carga a 4,5 - 5,0 gigahercios en cada núcleo y produce resultados asombrosos.

 

Renat Fatkhullin #:

El instalador detecta automáticamente qué versión instalar. Livapdate también.

Actualizo todos los terminales copiando tres archivos exe (terminal, tester, editor). La gente mantiene las versiones anteriores en la misma forma - estos tres archivos.

Ahora afirman que pueden ser diferentes en la misma construcción. Y, en consecuencia, tener un rendimiento diferente.

 

Foro sobre trading, sistemas automatizados de trading y prueba de estrategias de trading

Cómo empezar con MT5, ¡resumen!

Fernando Carreiro, 01.09.2023 12:43 pm.

¿Cómo afectará esto a los productos de Market en el futuro?

Supongo que el proceso de validación requerirá que el producto se compile sin él para asegurar el mínimo común denominador.

 
fxsaber #:

Actualizo todos los terminales copiando tres archivos exe (terminal, tester, editor). La gente mantiene las versiones anteriores en la misma forma - estos tres archivos.

Ahora afirman que pueden ser diferentes en la misma compilación. Y, en consecuencia, tener un rendimiento diferente.

Exactamente - ver la presencia de AVX en el banner de descripción del equipo al iniciar el terminal.


Recomendamos no bloquear las actualizaciones, porque pronto los terminales se detendrán con una advertencia al iniciar después de detectar el bloqueo.

Varias granjas están siendo baneadas constantemente debido a:

  1. bloquear las actualizaciones y bombear cientos de gigabytes de actualizaciones durante los reinicios constantes, sobrecargando nuestra infraestructura
  2. borrar todas las cachés al inicio del terminal y crear una carga en los servidores de los brokers
  3. reiniciar terminales en todo tipo de dockers/contenedores/etd con un entorno desnudo decenas de miles de veces al día.

En vez de quejarse tienen que girar la cabeza y pensar en los que les sirven. "Tengo un disco de 5gb y me estoy ahorrando dinero y el tráfico me sale gratis" no molesta mucho si se traduce en malgastar recursos de un proveedor tecnológico o broker.

 
Fernando Carreiro #:

Sólo se aceptarán en el mercado los programas compilados en modo "x64 Regular".

Lo más probable es que en el futuro ampliemos las posibilidades en el mercado.


El lanzamiento de MT5 está previsto para el viernes de la semana que viene. Por eso le pedimos que pruebe los nuevos modos más activamente.

 
Renat Fatkhullin #:

Recomendamos no bloquear las actualizaciones, ya que los terminales se detendrán pronto con un aviso al iniciarse tras detectar el bloqueo.

¿Estás operando con builds con bugs? Creo que estás lejos de la práctica del algo-trading.
 
fxsaber #:
¿Estás comerciando con construcciones con fallos? Creo que estás lejos de la práctica del algo-trading.

Así que no actualices a betas en proda.

Las versiones salen cada 3 meses. Y esos agricultores malvados, que no actualizan, se sientan en versiones obsoletas durante un año o más - no se preocupan por el comercio. Tienen un enfoque puramente utilitario "he hecho mi tarea, no me importa el resto".

Escribo específicamente sobre casos malvados, ya que sus propietarios sin duda leen este foro - mis explicaciones son para ellos.