OpenCL: test di implementazione interna in MQL5 - pagina 66

 

Mathemat:

2012.06.02 05:49:25     OpenCL  CPU: GenuineIntel  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.2 (2 units, 2793 MHz, 8040 Mb, version 2.0 (sse2))
2012.06.02 05:49:25     OpenCL  GPU: Advanced Micro Devices, Inc. ATI RV770 with OpenCL 1.0 (10 units, 780 MHz, 512 Mb, version CAL 1.4.1720)
2012.06.02 05:49:25     OpenCL  CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.1 (2 units, 2800 MHz, 8040 Mb, version 1.1)

Cioè la CPU Intel prima con il motore OCL di Intel, poi il mio dinosauro HD 4870, e poi di nuovo pietra ma con motore AMD. Script:

Le versioni sono diverse, cioè la versione è indipendente dall'hardware?

Ho OCL AMD 1.1, c'è un modo per correggerlo alla 1.2? Forse sarà più veloce.

Trovato nuovo AMD APP SDK 2.7 con supporto per OCL 1.2, riporterò nuovi risultati (se cambiati).

L'ho installato e la versione non è cambiata. Forse non c'è supporto hardware o qualcos'altro.

 
fyords: Mettetelo dentro, la versione non è cambiata. Probabilmente non c'è supporto hardware o qualcosa del genere.

Non può essere. Dovrebbe essere 1.2. Prima di tutto AMD si occuperebbe delle proprie pietre, e poi delle altre. Si alzerebbe su quelli che non sono i suoi. Inoltre, SSE2 esiste da molto tempo in entrambi i produttori.

Ma la differenza non è grande, circa il 10%, forse.

 
Mathemat:

Non può essere. Deve essere 1.2. Almeno AMD si occuperebbe prima di tutto delle proprie pietre e poi di quelle degli altri. Funzionerebbe su quelli che non gli appartengono. Inoltre, entrambi i produttori hanno avuto SSE2 per molto tempo.

Ma la differenza non è grande, circa il 10%, forse.

Devo essermi schiantato. Recentemente gli aggiornamenti hanno smesso di funzionare e ora dice "versione non autentica". OK, finché respira, lasciatelo respirare. Poi reinstallerò e metterò un nuovo OCL.

Ho SSE2 e anche di più. Certo, il 10% non è molto, ma è comunque bello.

P.S.: Grazie per i chiarimenti.

 
ilovebtc:

Per esempio, ho una scheda grafica Radeon 6930, ha 1280 stream processor. Come apparirà nell'elenco degli agenti? Come 1 dispositivo, o tutti i 1280.

Da solo è volte più veloce di 10 processori, e il bonus non è per 1 dispositivo aggiunto.

Una scheda grafica non può lavorare con codice scritto in mql; può lavorare solo con codice scritto in linguaggi specializzati (OpenCL nel nostro caso). Pertanto, le schede video nel cloud saranno utili solo per i programmi mql che utilizzano OpenCL-API (con inserti OpenCL).

Se avete capito tutto questo, ignorate il mio commento. Mi è solo sembrato che alcune persone sul forum si aspettino un aumento della produttività della maggior parte dei comuni programmi mql5 che non usano OpenCL per connettersi al cloud. Questo non è il caso.

 

Installato Intel e AMD SDK.

2012.06.07 18:40:28 OpenCL CPU: Intel(R) Corporation Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.1 (2 units, 2100 MHz, 2045 Mb, version 1.1)

2012.06.07 18:40:28 OpenCL CPU: GenuineIntel Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.2 (2 units, 2094 MHz, 2045 Mb, version 2.0 (sse2)) 

2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) =======================================
2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) OCL martices mul:         ROWS1 = 2000; COLSROWS = 2000; COLS2 = 2000
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) CPUTime = 548.515
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) ---------------
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) Device = 0: time = 15.975 sec.
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 34.336
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1571,356 ) = 2.88011026;    thirdCPU[ 1571,356 ] = 2.88011026;    buf[ 1571,356 ] = 2.88010764
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 791,407 ) = 1.36050534;    thirdCPU[ 791,407 ] = 1.36050534;    buf[ 791,407 ] = 1.36050797
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1920,1928 ) = 2.97455144;    thirdCPU[ 1920,1928 ] = 2.97455144;    buf[ 1920,1928 ] = 2.97455001
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 386,216 ) = -1.05270028;    thirdCPU[ 386,216 ] = -1.05270028;    buf[ 386,216 ] = -1.05269444
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 158,1896 ) = 2.30077577;    thirdCPU[ 158,1896 ] = 2.30077577;    buf[ 158,1896 ] = 2.30077529
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1403,1477 ) = 5.44755507;    thirdCPU[ 1403,1477 ] = 5.44755507;    buf[ 1403,1477 ] = 5.44755411
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 190,97 ) = -0.19755134;    thirdCPU[ 190,97 ] = -0.19755134;    buf[ 190,97 ] = -0.19754831
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 694,1569 ) = 5.30565643;    thirdCPU[ 694,1569 ] = 5.30565643;    buf[ 694,1569 ] = 5.30566406
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1084,703 ) = -0.40982622;    thirdCPU[ 1084,703 ] = -0.40982622;    buf[ 1084,703 ] = -0.40982300
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 613,1814 ) = -2.08050942;    thirdCPU[ 613,1814 ] = -2.08050942;    buf[ 613,1814 ] = -2.08050990
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) ________________________
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) Device = 1: time = 14.868 sec.
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 36.892
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 726,1509 ) = -3.87149954;    thirdCPU[ 726,1509 ] = -3.87149954;    buf[ 726,1509 ] = -3.87148523
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 408,1551 ) = -3.54236746;    thirdCPU[ 408,1551 ] = -3.54236746;    buf[ 408,1551 ] = -3.54237366
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 837,1133 ) = -1.46401167;    thirdCPU[ 837,1133 ] = -1.46401167;    buf[ 837,1133 ] = -1.46400595
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1885,1406 ) = 3.41383481;    thirdCPU[ 1885,1406 ] = 3.41383481;    buf[ 1885,1406 ] = 3.41383505
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 419,930 ) = -2.05204225;    thirdCPU[ 419,930 ] = -2.05204225;    buf[ 419,930 ] = -2.05204272
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 895,1065 ) = 2.29360199;    thirdCPU[ 895,1065 ] = 2.29360199;    buf[ 895,1065 ] = 2.29360104
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1687,1449 ) = 2.12151670;    thirdCPU[ 1687,1449 ] = 2.12151670;    buf[ 1687,1449 ] = 2.12152243
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1227,1863 ) = 4.48004580;    thirdCPU[ 1227,1863 ] = 4.48004580;    buf[ 1227,1863 ] = 4.48004818
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1545,234 ) = 2.60638309;    thirdCPU[ 1545,234 ] = 2.60638309;    buf[ 1545,234 ] = 2.60638452
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 446,1500 ) = -8.61246967;    thirdCPU[ 446,1500 ] = -8.61246967;    buf[ 446,1500 ] = -8.61247253
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) ________________________

È buono o cattivo?

 
Manov: È un male o un bene?

Beh, è un processore mobile a 2 core, rilasciato 4,5 anni fa.

Il progresso è ancora in corso: sembra che le nuove istruzioni SSE e altre innovazioni architettoniche vi giochino il ruolo principale. Il mio ceppo di bilancio è 4-5 volte più veloce in questo compito :)

Ma dà un ottimo guadagno su OpenCL. Va bene, è così che dovrebbe essere.

 
Mathemat:

Beh, è un processore mobile a 2 core rilasciato 4,5 anni fa.

Il progresso non è fermo: sembra che le nuove istruzioni SSE e altre innovazioni architettoniche vi giochino un ruolo importante. Il mio ceppo di bilancio è 4-5 volte più veloce in questo compito :)

Ma dà un ottimo guadagno su OpenCL. Va bene, è così che dovrebbe essere.

Grazie mille!

Ho capito bene che per i grandi calcoli matematici, se striscio OpenCL, il tempo di calcolo sarà 30+ volte inferiore ?!?

 
Manov: Ho capito bene che se uso OpenCL per grandi calcoli matematici il tempo di esecuzione sarà 30+ volte inferiore?

Beh sì, più o meno - su una scheda discreta. Comunque, la mia HD 4870 fa gli stessi calcoli in 0,5 secondi.

Ma bisogna capire che non tutti i calcoli intensivi si prestano a un'accelerazione decente.

 

Sera a tutti.

Ho cercato di capire l'uso di OpenCL in Metatrader5, ma non sono riuscito a entrare nei dettagli.

Potete dirmi se è possibile utilizzare la scheda video per un'ulteriore accelerazione dei test in MT5 Tester e cosa fare per questo.

Ho anche provato lo script parallel_tester_00-01x_new_cycle, ma come funziona?

 
vittt:

Sera a tutti.

Ho cercato di capire l'uso di OpenCL in Metatrader5, ma non sono riuscito a entrare nei dettagli.

Potete dirmi se è possibile utilizzare la scheda video per un'ulteriore accelerazione dei test in MT5 Tester e cosa fare per questo.

Ho anche provato lo script parallel_tester_00-01x_new_cycle, ma come funziona?

Ci sono due grandi articoli su questo sito su questo argomento, che descrivono tutto in grande dettaglio: