Esto es lo que puedes hacer con OpenCL directamente en MetaTrader 5 sin ninguna DLL - página 12

 
Marat Sultanov:

¿Nadie utiliza OpenCL en tareas prácticas? :)

DE ACUERDO. Perdona, ¿eres como yo, estás atascado por esto, o sólo quieres saberlo para el desarrollo general?


Estoy planeando usarlo en MQL5, así que decidí rastrear el tema
 

Grandes noticias :) Los desarrolladores han descubierto y arreglado todo. Esperando con ansias la nueva construcción :)

Añadido: todo arreglado en la compilación 1586.

 

Veo que en el optimizador no se puede tener más de un agente local usando OpenCL. Esto es lamentable.

Estimados desarrolladores:

1) ¿Qué significa el error 5114? Este error fue sacado de los agentes que no querían usar OpenCL. No hay ninguna descripción para este error en la ayuda.

2) ¿Habrá una forma de habilitar múltiples agentes locales con OpenCL en el optimizador en el futuro?

 
Marat Sultanov:

Veo que en el optimizador no se puede tener más de un agente local usando OpenCL. Esto es lamentable.

Estimados desarrolladores:

1) ¿Qué significa el error 5114? Este error fue sacado de los agentes que no querían usar OpenCL. No hay ninguna descripción para este error en la ayuda.

2) ¿Habrá una forma de habilitar múltiples agentes locales con OpenCL en el optimizador en el futuro?


Si hay un límite al usar OpenCL en el probador, tendría sentido usar OpenCL no desde MQL5, sino en una dll externa en C++ donde hay más opciones, incluyendo la biblioteca bajo OPenCL OOP
 
Konstantin:
Si hay limitaciones al usar OpenCL en el probador, tiene sentido usar OpenCL no desde MQL5, sino en una dll externa en C++ donde tienes más posibilidades, incluyendo una librería para OPenCL OOP

Por supuesto que sí. Eso es lo que hago. Es más fácil utilizar CUDA de inmediato, para mejorar la comodidad y el rendimiento de la codificación.

Pero estamos hablando de métodos nativos...

 
Marat Sultanov:

Por supuesto que sí. Eso es lo que hago. Es más fácil utilizar CUDA de inmediato, para mejorar la comodidad y el rendimiento de la codificación.

Pero estamos hablando de métodos nativos...

Desgraciadamente todavía tienen un rastrillo inexplorado, y tengo poco tiempo para estudiarlos, así que de momento miro hacia CUDA y TensorFlow
 
Konstantin:
Desgraciadamente todavía tienen un rastrillo inexplorado, y tengo poco tiempo para estudiarlos, así que por ahora miro hacia CUDA y TensorFlow.

Sí, pero todo en un solo lugar y de forma nativa :)

En general, estoy satisfecho con la implementación de MQL5: todo es sencillo, óptimo y hay un mínimo de errores, y los que se detectan se arreglan con bastante rapidez y voluntad. Y los promotores no han descuidado el desarrollo de este negocio, lo cual es muy alentador. Ahora los programadores disponen de más recursos y la escritura de código CL es mucho más cómoda y rápida.

CUDA es muy atractivo por su optimización para sus tarjetas y depurador, pero aun así, no es para un mercado amplio, donde no hay menos tarjetas de amd.

TensorFlow, al fin y al cabo, es para el aprendizaje automático, y son tareas más específicas. Pero es una tecnología interesante, sí.

He sacado conclusiones por mí mismo:

1) Para la universalidad y un amplio mercado es mejor utilizar OpenCL de MQL5.

2) Si lo haces para ti con el máximo rendimiento, no uses CUDA nativo.

 
Marat Sultanov:

Sí, pero todo en un solo lugar y de forma nativa :)

En general, estoy satisfecho con la implementación de MQL5: todo es sencillo, óptimo y hay un mínimo de errores, y los que se detectan se arreglan con bastante rapidez y voluntad. Y los desarrolladores no han descuidado el desarrollo de este caso, lo cual es muy alentador. Ahora los programadores disponen de más recursos y la escritura de código CL es mucho más cómoda y rápida.

CUDA es muy atractivo por su optimización para sus tarjetas y depurador, pero aun así, no es para un mercado amplio, donde no hay menos tarjetas de amd.

TensorFlow, al fin y al cabo, es para el aprendizaje automático, que son tareas más específicas. Pero es una tecnología interesante, sí.

He sacado conclusiones por mí mismo:

1) Para la universalidad y un amplio mercado es mejor utilizar OpenCL de MQL5.

2) Si quiero trabajar puramente para mí con el máximo rendimiento, entonces no el CUDA nativo.

Estoy de acuerdo con lo de los desarrolladores, pero aún así OpenCL no es conveniente para usar en cálculos estadísticos, ya que hay que portar mucho código a C, aunque esté escrito en un módulo o librería externa. Al menos no he encontrado la solución para conectar alglib con él. TensorFlow lo tiene todo a bordo, pero hay un escollo, tengo que escribir parte en Phyton )) y por supuesto limitación para usar tarjetas AMD.

Tal vez alguien aquí portará Alglib a funciones OpenCL.

 
Marat Sultanov:

Veo que en el optimizador no se puede tener más de un agente local usando OpenCL. Esto es lamentable.

Estimados desarrolladores:

1) ¿Qué significa el error 5114? Este error fue sacado de los agentes que no querían usar OpenCL. No hay ninguna descripción para este error en la ayuda.

2) ¿Habrá una forma de habilitar múltiples agentes locales con OpenCL en el optimizador en el futuro?

  1. El código de error 5114 se ha añadido muy recientemente; aún no se ha añadido a la Ayuda.
    No se encontraron dispositivos OpenCL adecuados entre los que estaban disponibles.
    Este error puede surgir si se especifica un contexto en el que sólo se van a utilizar dispositivos de la GPU mientras hay dispositivos de la CPU disponibles.
  2. Un agente por dispositivo OpenCL, sin más.
 
Ilyas:
Dado que esto es una posibilidad, ¿puede explicar cómo superar este error?

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Esto es lo que puedes hacer con OpenCL directamente en el terminal de MetaTrader 5 sin ninguna DLL

fxsaber, 2017.04.14 14:49

Primero dice
2017.04.14 15:47:04.255 OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
Y 20 segundos después dice
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       OpenCL not found. Error code=5101
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       Error in OpenCL initialization. Error code=5101

No hay tarjeta de vídeo.