Esto es lo que puedes hacer con OpenCL directamente en MetaTrader 5 sin ninguna DLL - página 18
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Renat Fatkhullin como me pongo en contacto con usted para discutir la posibilidad de escribir en MQL5+OpenCL. necesito utilizar la potencia de procesamiento de las tarjetas de video. si entiendo bien, a continuación, utilizando un ejemplo de la práctica: el robot escrito optimiza sólo 11 parámetros por 3 máquinas conectadas a una red local, el período es sólo 1 año 6 horas. traté de cobrar 5 años para la optimización con una búsqueda completa de datos, me mostró que 2 meses tienen que esperar.Si he entendido bien, OpenCL solucionará el problema. La velocidad debería aumentar cientos de veces, ya que los cálculos no implicarán a los procesadores, sino a las tarjetas de vídeo. Esto significa que, teniendo en cuenta todo el sistema de comercio, tendrá alrededor de 200-300 parámetros en la configuración.
Los cálculos de OpenCL no intervienen en la paralelización del proceso de optimización.
Con OpenCL, se puede calcular una parte específica del algoritmo más rápidamente y en paralelo. Tenemos muchos artículos y debates sobre OpenCL.
¿Qué te impide comprar una tarjeta más grande?
algunos A100https://www.nvidia.com/ru-ru/data-center/a100/
Ya está dicho y hecho.
Aceleración X2-X3 de los cálculos anteriores en Gforce RTX2080 TI
Pero hay un punto aparte para quien pruebe modelos de redes neuronales en el probador.
OpenCl no permite el acceso multihilo si hay más de 10-12 procesos (agentes).
Especialmente si se crean múltiples redes neuronales simultáneamente para analizar diferentes datos con una fusión en uno.
Y a pesar de que el servidor tiene ahora 96 procesadores lógicos, tenemos que utilizar 12.
Por lo tanto, es más rentable tener varios ordenadores viejos de la red, probablemente más baratos por muchas veces.
Por otra parte, me gustaría mencionar una oportunidad separada para instalar el SDK de AMD que permitía utilizar CPUs con OpenCL.
Ahora, hay 96 dispositivos preparados para realizar una tarea a la misma velocidad, pero sin depender únicamente de la potencia de la tarjeta.
Sin embargo, la biblioteca OpenCl tuvo que ser corregida porque el proceso de selección de dispositivos
CLContextCreate(CL_USE_ANY)
no permite entender qué dispositivo está cargado actualmente.
Y la selección de sólo GPU o sólo CPU no permite utilizar ambas opciones al mismo tiempo.
Para resolver este problema, hice una prueba de cada tarjeta para la velocidad de cálculo actual,
utilizando este interesante ejemplo para simular la computación (agradable)
https://www.mql5.com/ru/code/825
En el código de la biblioteca se plasma así
en el código EA
En la biblioteca OpenCL, tenga en cuenta la posibilidad de seleccionar el dispositivo
En la versión de mañana vamos a liberar tipos de datos matriciales/vectoriales internos para su uso en el aprendizaje automático.
El código de los programas MQL5 será mucho más sencillo y nos permitirá implementar un amplio conjunto de operaciones matemáticas.
Esta es la primera generación de funcionalidades y luego implementaremos mecanismos más complejos para implementar las capacidades de paquetes como TensorFlow. OpenCL será muy útil para esto.
¿Qué sentido tiene todo este multithreading para una red neuronal, cuando el paso de una nueva época debería basarse en los resultados del paso anterior? Y todos los hilos paralelos sólo repetirán los resultados del primero. Y al final depositarán los resultados en un archivo. Sobrescribiendo los resultados del hilo anterior pero en esencia sin cambiar el valor...
Renat exclama y tú te quejas. ¿Qué edad tienes?
Un poco de ajuste a la biblioteca, hecho a la belleza de la misma