OpenCL: pruebas de implementación interna en MQL5 - página 55

 

Instalado el tiempo de ejecución de Intel OpenCL (siguiendo la recomendación del equipo de soporte). Los resultados son los siguientes:

2012.04.20 03:09:38    OpenCL    CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.1 (2 units, 2800 MHz, 8040 Mb, version 1.1)

2012.04.20 03:58:47    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 75.90064102564102
2012.04.20 03:58:47    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==0.97908 at 665 pass
2012.04.20 03:58:47    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.20 03:58:47    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23681 ms
2012.04.20 03:58:24    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==0.97908 at 665 pass
2012.04.20 03:58:24    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.20 03:58:24    ParallelTester_00-01x (EURUSD,H1)    GPU time = 312 ms
2012.04.20 03:58:23    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!
2012.04.20 03:58:23    ParallelTester_00-01x (EURUSD,H1)    CLGetInfoInteger() returned 1

El resultado en el tiempo de ejecución nativo de Intel es casi tres veces mejor que el SDK de AMD APP.

Lo que hice: Después de haber instalado Intel Runtime, fui a HKEY_LOCAL_MACHINE\NSOFTWARE\NKhronos\NOpenCL\NVendors y cambié el nombre de IntelOpenCL64.dll por intelocl.dll.


P.D. Hice lo mismo en un sistema i3-2120 sin gráficos discretos.

2012.04.20 04:44:26    Terminal    CPU: Intel(R) Corporation  Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3300 MHz, 8039 Mb, version 1.1)

2012.04.20 04:45:25    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 109.6968085106383
2012.04.20 04:45:25    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.18579 at 919 pass
2012.04.20 04:45:25    ParallelTester_00-01x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.20 04:45:25    ParallelTester_00-01x (EURUSD,H1)    CPU time = 20623 ms
2012.04.20 04:45:04    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.18579 at 919 pass
2012.04.20 04:45:04    ParallelTester_00-01x (EURUSD,H1)    Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.20 04:45:04    ParallelTester_00-01x (EURUSD,H1)    GPU time = 188 ms
2012.04.20 04:45:04    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

El resultado es ciertamente mejor que en el G840, pero no demasiado, alrededor de un 40% como máximo. El hipercomercio, es decir, la competencia por los recursos, es probablemente una influencia. Es muy posible que en el i5 la ganancia sea mayor, alrededor de 140-150. Me alegro de que todo funcione, aunque después de jugar a la pandereta.

P.P.S. Se me olvidó decir lo más importante para los usuarios de Intel: Si ya tienes el SDK de AMD APP, desinstálalo correctamente. La forma más fácil y limpia es no desinstalarlo por partes a través del menú de Programas y Componentes, sino simplemente ejecutar el instalador Setup.exe del propio AMD APP SDK. Le ofrecerá dos opciones: desinstalar o instalar. Elige "desinstalar" y quedará limpio.

A continuación, reinicie el ordenador e instale Intel runtime (será suficiente) o Intel OpenCL SDK. Aquí también arreglaremos el registro y reiniciaremos de nuevo. Eso es todo. A partir de aquí puedes estar contento con lo que has conseguido. AMD es ciertamente genial, pero el tiempo de ejecución nativo sigue siendo mucho más rápido.

 
¡Por favor, ayuda! Ahora tengo tres dispositivos OpenCL.

No hay ningún controlador OpenCL de AMD en "Programas y características" del Panel de control o en su desinstalador.

Al intentar desinstalar ejecutando OpenCL.msi desde el SDK de AMD, me aparece una ventana de este tipo:

No sé qué hacer (creo que eso es lo que dicen).

 
joo:
¡Por favor, ayuda! Ahora tengo tres dispositivos OpenCL.

No hay ningún controlador OpenCL de AMD en "Programas y características" del Panel de control o en su desinstalador.

Al intentar desinstalar ejecutando OpenCL.msi desde el SDK de AMD, me aparece la siguiente ventana:

No sé qué hacer (creo que eso es lo que dicen).

Prueba a limpiar el registro con alguna herramienta como TuneUp. Lo uso siempre y no he tenido ningún problema en los últimos 5 años.
 
tol64:
Tal vez pruebe un limpiador de registro como TuneUp. Lo uso siempre y no he tenido ningún problema en los últimos 5 años.
Limpiar es cuando has borrado algo. Ni siquiera puedo borrar nada.
 
joo:
La limpieza se produce cuando se ha borrado algo. Ni siquiera puedo borrar nada.
Si no está en el panel de control "Programas y características" o en el desinstalador, un limpiador de registro podría servir.
 
Mathemat:
...

El resultado en el tiempo de ejecución "nativo" de Intel es casi tres veces mejor que el SDK de APP de AMD.

Lo que hice: después de instalar Intel Runtime, fui a HKEY_LOCAL_MACHINE\NSOFTWARE\NKhronos\NOpenCL\NVendors y cambié el nombre de IntelOpenCL64.dll a intelocl.dll.

...

P.P.S. Se me olvidó decir lo más importante para los usuarios de Intel: si tienes el SDK de AMD APP ya instalado, desinstálalo correctamente. La forma más fácil y limpia es no desinstalarlo por partes a través del menú de Programas y Componentes, sino simplemente ejecutar el instalador Setup.exe del propio AMD APP SDK. Le ofrecerá dos opciones: desinstalar o instalar. Elige "desinstalar" y quedará limpio.

A continuación, reinicie el ordenador e instale Intel runtime (será suficiente) o Intel OpenCL SDK. Aquí también arreglaremos el registro y reiniciaremos de nuevo. Eso es todo. A partir de aquí puedes estar contento con lo que has conseguido. AMD es ciertamente genial, pero el tiempo de ejecución nativo sigue siendo mucho más rápido.

i3-2100, W7SP1 x64. ¡No hay flor de piedra! ...

2012.04.20 11:10:23 Dispositivos OpenCL del terminal no encontrados
2012.04.20 11:10:23 Terminal MetaTrader 5 x64 build 630 iniciado (MetaQuotes Software Corp.)

 
joo:
¡Gente, ayuda! Ahora tengo tres dispositivos OpenCL.

¿Pueden eliminarse los proveedores de OpenCL innecesarios de estas ramas?

HKEY_LOCAL_MACHINE\NSOFTWARE\NKhronos\NOpenCL\NVendors
HKEY_LOCAL_MACHINE/SOFTWARE\NWow6432Node\NKhronos\NOpenCL\NVendors

 
Ashes:

i3-2100, W7SP1 x64. ¡La flor de piedra no sale! ...

2012.04.20 11:10:23 Dispositivos OpenCL del terminal no encontrados
2012.04.20 11:10:23 Terminal MetaTrader 5 x64 build 630 iniciado (MetaQuotes Software Corp.)

Trate de establecer la ruta completa a la biblioteca intelocl.dll (por defecto se almacena en "C:\N-Archivos de Programa (x86)\N-Intel\N-SDK1.1\N-")
 
mql5:

Puede eliminar los proveedores OpenCL innecesarios de estas ramas

HKEY_LOCAL_MACHINE\NSOFTWARE\NKhronos\NOpenCL\NVendors
HKEY_LOCAL_MACHINE/SOFTWARE\NWow6432Node\NKhronos\NOpenCL\NVendors

Funcionó, ¡gracias!
 
mql5:
Pruebe a configurar la ruta completa de la biblioteca intelocl.dll (por defecto se encuentra en "C:\N-Archivos de programa (x86)\N-Intel\N-SDK abierto1.1\N-")

No ayudó