OpenCL: test di implementazione interna in MQL5 - pagina 48

 
MetaDriver: Ma ora lo eseguirò su 4096 api e la CPU lo conterà in cinque minuti.

E almeno post ex5, lascia che gli altri si divertano un po'.

La nuova build richiede una ricompilazione (a causa di CLContextCreate(), ovviamente). E prima che tu abbia postato anche ex5.

 
Mathemat:

E almeno post ex5, lascia che gli altri si divertano.

La nuova build deve essere ricompilata (a causa di CLContextCreate(), ovviamente). E anche tu hai già postato ex5.

OK.

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) Risultato su Cpu MachResult==4.02701 a 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Conte inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tempo CPU = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Risultato su Gpu MachResult==4.02701 a 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Conte inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) Tempo GPU = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!

 
MetaDriver:

OK.

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) Risultato su Cpu MachResult==4.02701 a 1529 pass
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Conte inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tempo CPU = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Risultato su Gpu MachResult==4.02701 a 1529 pass
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Conte inticators = 16; Count history bars = 50,000; Count pass = 4096
2012.04.08 01:58:07 ParallelTester_00-(16x7x3) (USDJPY,M30) Tempo GPU = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL init OK!


Incredibile! Confessa da quale pianeta provieni. Parlate la stessa lingua con i vostri sviluppatori. State facendo dei calcoli super veloci. C'è una ragione per tutto questo. :))))
 
MetaDriver: OK.

È un affare strano. Nessuna lamentela su di te, naturalmente. Ma il fatto è questo.

Eseguo il tuo script e ottengo questo:

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


Eseguendo il tuo primissimo script storico (l'ho modificato con le ultime modifiche di 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!

Meraviglioso... Cosa fare, dove scrivere? Devo tornare al Service Desk?

P.S. A proposito, perché non fate i calcoli della GPU non così veloci, almeno 300-400 ms. Forse avete un'accelerazione reale 100500 (ricordate, è l'unico numero più grande dell'infinito!), e non lo sapete? Ho solo il sospetto che 140 ms sia uno dei pochi numeri che non può essere più piccolo in GetTickCount() (e anche se succede, è raro).

 
tol64:
È incredibile! Dicci da quale pianeta vieni. Parlate la stessa lingua dei vostri sviluppatori. Stai facendo dei calcoli super-veloci. C'è una ragione per tutto questo. :))))
Non lo so, a Kazan tutti scrivono così.
 
MetaDriver:
Non lo so, qui a Kazan lo scrivono tutti così.
E questo è giusto.
 
Mathemat:

1. affari strani. Nessuna lamentela su di te, naturalmente. Ma il fatto è questo.

Quando eseguo il tuo script, va così:

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

2. P.S. A proposito, assicuratevi che i calcoli sulla GPU non siano così veloci, almeno 300-400 ms. Forse il vostro vero speedup è 100500 (ricordate, è l'unico numero maggiore di infinito!) e non lo sapete? Ho solo il sospetto che 140 ms sia uno dei pochi numeri che GetTickCount() non abbassa mai (e se lo fa, è raro).

1. Provate la versione nel trailer. L'ho ricompilato con CLContextCreate(CL_DEVICE_ANY);

2. No, no. Va bene circa 140ms. (E anche molto di più :))

zy. L'accelerazione è ottenuta attraverso operazioni vettoriali in OpenCL. Fuma il manuale - si inserisce. ;)

 
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 rules!!!

;)

 
MetaDriver:

Radeon rules!!!

;)

Hai un sacco di passaggi. :)