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

 
MetaDriver: Pero ahora lo ejecutaré en 4096 abejas. La CPU lo contará en cinco minutos.

Y al menos post ex5, deja que otros se diviertan.

La nueva compilación requiere una recompilación (debido a CLContextCreate(), obviamente). Y antes de que hayas publicado también ex5.

 
Mathemat:

Y al menos post ex5, deja que otros se diviertan.

La nueva construcción necesita ser recompilada (debido a CLContextCreate(), obviamente). Y también has publicado ex5 antes.

DE ACUERDO.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Resultado en Cpu MachResult==4.02701 a 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cuenta de inticadores = 16; Cuenta de barras históricas = 50.000; Cuenta de pasadas = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tiempo de CPU = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Resultado en Gpu MachResult==4.02701 a 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cuenta de inticadores = 16; Cuenta de barras históricas = 50.000; Cuenta de pasadas = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) Tiempo GPU = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) ¡Inicio de OpenCL OK!

Archivos adjuntos:
 
MetaDriver:

DE ACUERDO.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Resultado en Cpu MachResult==4.02701 a 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cuenta de inticadores = 16; Cuenta de barras históricas = 50.000; Cuenta de pasadas = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tiempo de CPU = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Resultado en Gpu MachResult==4.02701 a 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cuenta de inticadores = 16; Cuenta de barras históricas = 50.000; Cuenta de pasadas = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) Tiempo GPU = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) ¡Inicio de OpenCL OK!


¡Increíble! Confiesa de qué planeta eres. Usted habla el mismo idioma con sus desarrolladores. Estás haciendo cálculos a gran velocidad. Hay una razón para todo esto. :))))
 
MetaDriver: DE ACUERDO.

Es un asunto extraño. No me quejo de ti, por supuesto. Pero aquí está la cosa.

Ejecuto tu script y obtengo esto:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.


Ejecutando su primer script histórico (lo he retocado con las últimas modificaciones de CLContextCreate()):

2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 24.39193381592554
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.20315 at 21 pass
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23587 ms
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.20315 at 21 pass
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    GPU time = 967 ms
2012.04.08 03:12:36    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

Maravilloso... ¿Qué hacer, dónde escribir? ¿Tengo que volver al Servicio de Atención al Cliente?

P.D. Por cierto, ¿por qué no haces que los cálculos de la GPU no sean tan rápidos, al menos 300-400 ms. ¿Quizás tengas una aceleración real de 100500 (recuerda que es el único número mayor que el infinito) y no lo sepas? Sólo tengo la sospecha de que 140 ms es uno de los pocos números que no pueden ser más pequeños en GetTickCount() (e incluso si sucede, es raro).

 
tol64:
¡Esto es increíble! Dinos de qué planeta eres. Habla el mismo idioma que sus desarrolladores. Estás haciendo cálculos súper rápidos. Hay una razón para todo esto. :))))
No lo sé. En Kazan, todos escriben así.
 
MetaDriver:
No lo sé. Aquí en Kazán todos lo escriben así.
Y así es.
 
Mathemat:

1. negocio extraño. No me quejo de ti, por supuesto. Pero aquí está la cosa.

Cuando ejecuto tu script, sucede lo siguiente:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.

2. P.D. Por cierto, asegúrate de que los cálculos en la GPU no sean tan rápidos, al menos 300-400 ms. ¿Quizás tu velocidad real es de 100500 (recuerda que es el único número mayor que el infinito) y no lo sabes? Sólo tengo la sospecha de que 140 ms es uno de los pocos números que GetTickCount() nunca baja (y si lo hace, es raro).

1. Prueba la versión en el trailer. Lo recompilé con CLContextCreate(CL_DEVICE_ANY);

2. No, no. Está bien lo de los 140ms. (Y mucho más también :))

zy. La aceleración se consigue mediante operaciones vectoriales en OpenCL. Fuma el manual - se inserta. ;)

Archivos adjuntos:
 
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CpuTime/GpuTime = 162.8265625
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Cpu МахResult==4.07621 at 824 pass
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CPU time = 208418 ms
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Gpu МахResult==4.07621 at 824 pass
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    GPU time = 1280 ms
2012.04.08 09:12:21    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    OpenCL init OK!
 
joo:

¡¡¡Radeon manda!!!

;)

 
MetaDriver:

¡¡¡Radeon manda!!!

;)

Tienes muchos pases. :)