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

 
kaus_bonus:


Si te da un error al registrarte, comprueba de todas formas tu correo electrónico.

Al registrarse dice "Formato inválido" al introducir cualquier tipo de contraseña

aquí está el enlace, es de 300mb, se tarda mucho en arrastrar y soltar. puede que funcione sin cookies.

http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11058/intel_sdk_for_opencl_setup_6.3.0.1904.exe

Se está sacando, ¡gracias!
 
Después de eliminar el SDK de Intel para aplicaciones OpenCL apareció un nuevo dispositivo
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)
OpenCL  Device #1:  CPU Intel(R) Corporation  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 2.1 (8 units, 3500 MHz, 16301 Mb, version 6.3.0.1904)

Pero el error sigue siendo

OpenCL not found. Error code=5114
 
fxsaber:
Después de instalar Intel SDK para aplicaciones OpenCL hay un nuevo dispositivo

Pero el error sigue siendo

Por cierto, se han añadido nuevos códigos de error - Errores de ejecución

ERR_MATH_OVERFLOW

4019

Se ha producido un desbordamiento al calcular una función matemática


ERR_GLOBALVARIABLE_NOT_MODIFIED

4503

No se ha modificado ninguna variable global

ERR_GLOBALVARIABLE_CANNOTREAD

4504

Fallo al abrir y leer un archivo con valores de variables globales

ERR_GLOBALVARIABLE_CANNOTWRITE

4505

Fallo al escribir el archivo con los valores de las variables globales


ERR_TRADE_CALC_FAILED

4758

No se ha podido calcular el valor del beneficio o del margen


ERR_STRING_ARRAY_ONLY

5063

Debe ser un array de tipo cadena


ERR_OPENCL_TOO_MANY_OBJECTS

5113

Se ha superado el número máximo de objetos OpenCL

ERR_OPENCL_SELECTDEVICE

5114

Error de selección de dispositivos OpenCL

 
Rashid Umarov:

Por cierto, se han añadido nuevos códigos de error - Errores de tiempo de ejecución

No hay suficientes ejemplos que generen cada tipo de error.
 
Rashid Umarov:
Corregir la ayuda para el caso en que el parámetro de entrada CLContextCreate no se establezca explícitamente.
Документация по MQL5: Работа с OpenCL / CLContextCreate
Документация по MQL5: Работа с OpenCL / CLContextCreate
  • www.mql5.com
Работа с OpenCL / CLContextCreate - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

El error aún no se ha solucionado: las IGP de gráficos integrados en el procesadorde Intel no se seleccionan en el contexto como el único dispositivo de GPU con un filtro por tipo de dispositivo:

CLContextCreate(CL_USE_GPU_ONLY)
или
CLContextCreate()
Scripts script Seascape (GBPUSD,H1) loaded successfully
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
OpenCL  device performance test started
OpenCL  device #0 performance test error: 'cannot create OpenCL program (5105)'
OpenCL  device performance test finished with error(s)
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
Scripts script Seascape (GBPUSD,H1) removed

Curiosamente, en el mismo punto, Print da un código de error diferente:

Seascape (GBPUSD,H1)    OpenCL not found. Error=5114

Si se configura el dispositivo explícitamente:

CLContextCreate(0)

o así

   long dCount = CLGetInfoInteger(0,CL_DEVICE_COUNT);
   for(int i = 0; i<dCount; i++)
     {
      int clCtx=CLContextCreate(i);

entonces todo funciona - el coprocesador gráfico trabaja hasta el cansancio, incluso admitiendo que es un coprocesador gráfico:

0: Intel(R) HD Graphics 4400
OpenCL platform ver: OpenCL 1.2 
OpenCL platform profile: FULL_PROFILE
OpenCL device name: Intel(R) HD Graphics 4400
OpenCL device profile: FULL_PROFILE
OpenCL device ver: OpenCL 1.2 
OpenCL open c ver: OpenCL C 1.2 
OpenCL type: CL_DEVICE_GPU

¿Quizás la letra clave en este caso según la especificación de OpenCL 1.2 es dispositivo(s)? Es decir, el wrapper MQL5 probablemente devolverá una matriz de dispositivos GPU filtrados por el tipoCL_DEVICE_TYPE_GPU en lugar de un único dispositivo.

Deberíamos fijar una implementación cercana a la especificación - seleccionar todos los dispositivos del tipo dado en el contexto e introducir una función más similar aclGetContextInfo(,CL_CONTEXT_NUM_DEVICES,). Al fin y al cabo, la gente puede tener una granja de varias GPUs haciendo diferentes tipos de tareas.

UPD: Tengo una sugerencia más - tal vez el problema es que no se define ninguna calificación para una IGP y MQL5 no puede elegir el dispositivo GPU con la calificación más alta?

Por cierto, ¿cuál es el criterio utilizado para determinar esta frialdad (calificación)? ¿Frecuencia de la GPU * número de unidades?

clCreateContextFromType
  • www.khronos.org
clCreateContextFromType. Create an OpenCL context from a device type that identifies the specific device(s) to use.
 
aim-1:

El error aún no se ha solucionado: las IGP de gráficos integrados en el procesador deIntel no se seleccionan en el contexto como el único dispositivo de GPU con un filtro por tipo de dispositivo:


Gracias, lo arreglaré ahora.

Comprobado en el portátil desactivando Nvidia:

device #0:  GPU NVIDIA Corporation GeForce GTX 1050 Ti with Max-Q Design with OpenCL 1.2 (6 units, 1417 MHz, 4096 Mb, version 442.70, rating 101)
device #1:  GPU Intel(R) Corporation Intel(R) UHD Graphics 630 with OpenCL 2.1 (24 units, 1200 MHz, 13014 Mb, version 26.20.100.7985, rating 73)

Después de desactivarlo, encuentra automáticamente la GPU integrada y funciona:

OpenCL.Seascape (GBPUSD,M30)    OpenCL: GPU device 'Intel(R) UHD Graphics 630' selected


Tenga en cuenta que su versión de los controladores Intel es 10.18.14.511 y la mía es 26.20.100.7985

Te recomiendo que actualices todos los drivers, pongas todas las actualizaciones en el sistema operativo y vuelvas a probar.
 
aim-1:

El error aún no se ha solucionado: las IGP de gráficos integrados en el procesador deIntel no se seleccionan en el contexto como un único dispositivo de GPU con un filtro de tipo de dispositivo:

Por favor, haga lo siguiente:

  1. Cerrar la Terminal
  2. Elimine OpenCL del índice de registro "HKEY_CURRENT_USER\Software\MetaQuotes Software
  3. Inicie el terminal y pruebe


Después, compruebe el registro del terminal para ver si hay errores de OpenCL

Por ejemplo:

Error de prueba de rendimiento del dispositivo N de OpenCL: 'error text'

o

Falló la prueba de rendimiento del dispositivo N de OpenCL


Debe comprobar si hay actualizaciones de su controlador de vídeo Intel

Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
 
Renat Fatkhullin:

Tenga en cuenta que su versión de los controladores Intel es 10.18.14.511 y la mía es 26.20.100.7985

Te recomiendo que actualices todos los drivers, pongas todas las actualizaciones del sistema operativo y vuelvas a intentarlo.

Gracias por el rápido apoyo, Renat.

Por supuesto, el tema de OpenCL es muy sabroso y me motiva a ir a MQL5, sobre todo porque ya hay mucho material bueno sobre este tema en los artículos de MQL5.com.

Se ha observado, por supuesto, la limpieza habitual en el tema de las actualizaciones antes de las Completas. Hoy me he pasado toda la noche intentando entender los drivers y el SDK.

El sitio web de Intel para esta piedra (IGP) instaló la última (desde el 25.11.2019 en la versión Q3'13, sus controladores de la generación de la CPU), es decir, tanto la CPU como la GPU son compatibles. Se ha eliminado el tiempo de ejecución de la CPU, se ha limpiado el registro en las ramas de Khronos.

El SDK original de Intel para aplicaciones OpenCL 2016 R2, que era el último compatible con Windows 8.1 y con las GPU de esta 4ª generación de CPUs Intel Core, ya no está disponible en la web de Intel. Si sabes dónde puedo descargarlo sin virus, te lo agradecería.

Pero el tiempo de ejecución también debería funcionar con normalidad, y así es. La GPU es visible tanto a través de los comandos de información MQL5 (ver arriba) cuando se selecciona explícitamente en CLContextCreate como a través de la velocidad de EA SeaScape. Tampoco se muestran errores en los registros.

Intentaré abrir tu rama del registro más tarde, después del trabajo, y utilizaré un arranque especial para jugar con ella, pero la ausencia de la calificación MQL5 asignada a mi GPU es la razón de su eliminación según el algoritmo del concurso de belleza del filtro CL_USE_GPU_ONLY.

 
aim-1:

Gracias por tu rápido apoyo, Renat.

Por supuesto, el tema de OpenCL es muy sabroso y me motiva a ir a MQL5, sobre todo porque ya hay mucho material bueno sobre este tema en los artículos de MQL5.com.

Por supuesto, se ha observado la limpieza habitual en el tema de las actualizaciones antes de las Completas. Esta noche he pasado toda la noche tratando de entender los drivers y el SDK.

El sitio web de Intel para esta piedra (IGP) instaló la última (desde el 25.11.2019 en la versión Q3'13, sus controladores de la generación de la CPU), es decir, tanto la CPU como la GPU son compatibles. Se ha eliminado el tiempo de ejecución de la CPU, se ha limpiado el registro en las ramas de Khronos.

El SDK original de Intel para aplicaciones OpenCL 2016 R2, que era el último compatible con Windows 8.1 y con las GPU de esta 4ª generación de CPUs Intel Core, ya no está disponible en la web de Intel. Si sabes dónde puedo descargarlo sin virus, te lo agradecería.

Pero el tiempo de ejecución también debería funcionar con normalidad, y así es. La GPU es visible tanto a través de los comandos de información MQL5 (ver arriba) cuando se selecciona explícitamente en CLContextCreate como a través de la velocidad de EA SeaScape.

Intentaré abrir su rama de registro más tarde en la noche después del trabajo y usar un arranque especial para jugar, pero imho la ausencia de mi calificación de GPU asignada por MQL5 es la razón de su eliminación según el algoritmo del concurso de belleza a través del filtro CL_USE_GPU_ONLY.

Por nuestra parte, también echaremos un vistazo y añadiremos más registros.