Qualcosa non funziona per me. La linea di inizializzazione va bene:
2012.04.01 05:52:01 Terminal CPU: GenuineIntel Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.2 (2 units, 2793 MHz, 7912 Mb, version 2.0 (sse2))
(Ho messo OpenCL 1.1 di AMD, e 1.2 sopra). Ma ora l ' esecuzione del test dà
2012.04.01 06:06:49 ParallelTester_00-01x (EURUSD,H1) OpenCL not found.
Prima di questo, ho aggiornato il driver grafico Intel per la versione più recente e poi ho tolto i driver AMD con la loro installazione, e poi l'ho installato di nuovo.
Cosa sto facendo di sbagliato adesso?
P.S. Presto arriverà Ivy e mostrerà davvero cosa può fare Intel nella grafica integrata, insieme a Intel HD 4000. Guarda la grafica.
Стали доступны утекшие в сеть слайды, где с демонстрируется разница между процессорами Intel Ivy Bridge и Sandy Bridge в бенчмарках. Если быть точным, то сравниваются модели Core i7-3770 и Core i7-2600 (i7-3770K и i7-2600K по какой-то причине не были использованы).
mql5: Nella nuova build, il parametro della funzione CLContextCreate è stato cambiato, viene usato int device invece di bool use_gpu.
con device>=0 viene usato come numero del dispositivo OpenCL nella sequenza con device==OPENCL_DEVICE_ANY (-1) usato per selezionare automaticamente tra tutti i dispositivi disponibili con device==OPENCL_DEVICE_GPU (-2) usato per selezionare automaticamente tra tutti i dispositivi GPU disponibili
Potresti per favore mostrarmi come fare questo nel codice?Chiamo CLContextCreate( OPENCL_DEVICE_ANY ) e ottengo il risultato alla compilazione:
Ho deciso di controllare come OpenCL funzionerà su i3-2120 (non è il mio calcolo, nessun video discreto nel sistema). Installato AMD APP SDK, OpenCL-Z ha rilevato tutto. Il terminale ha visualizzato una linea durante l'inizializzazione:
2012.04.02 03:59:47 Terminal CPU: GenuineIntel Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3310 MHz, 8039 Mb, version 2.0)
Controllato sul codice MetaDriver allegato a questo post e leggermente modificato con le ultime modifiche nella build 619 (vedi i primi test qui). Risultato:
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CpuTime/GpuTime = 0.741385550890401 2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Result on Cpu МахResult==0.79567 at 734 pass 2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280 2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CPU time = 20483 ms 2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Result on Gpu МахResult==0.79567 at 734 pass 2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280 2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) GPU time = 27628 ms 2012.04.02 03:59:55 ParallelTester_00-01x (EURUSD,H1) OpenCL init OK!
A runtime sulla "GPU", tutti e quattro i thread del processore erano completamente occupati, al 100%.
Cosa devo fare per ottenere l'accelerazione? Su un sistema basato su Pentium G840 (anche senza video discreto), era 25 volte più veloce:
P.S. Ho inviato un messaggio al Service Desk, ma temo che questo sia piuttosto un mio problema... A quanto pare ho imparato a installare e disinstallare correttamente AMD APP SDK a occhi chiusi, ma immagino di non essere arrivato a tutte le insidie. Anche se Intel OpenCL Runtime è installato sul mio sistema, non viene ancora riconosciuto nel terminale come dispositivo OpenCL.
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tempo GPU = 140 ms
Propongo di fare i test in modo che il tempo di calcolo della GPU non sia così piccolo. Comunque, 140 ms, imho, è un valore troppo inaffidabile, specialmente con errori di misurazione di GetTickCount() in decine di millisecondi.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Qualcosa non funziona per me. La linea di inizializzazione va bene:
2012.04.01 05:52:01 Terminal CPU: GenuineIntel Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.2 (2 units, 2793 MHz, 7912 Mb, version 2.0 (sse2))
(Ho messo OpenCL 1.1 di AMD, e 1.2 sopra). Ma ora l ' esecuzione del test dà
2012.04.01 06:06:49 ParallelTester_00-01x (EURUSD,H1) OpenCL not found.
Prima di questo, ho aggiornato il driver grafico Intel per la versione più recente e poi ho tolto i driver AMD con la loro installazione, e poi l'ho installato di nuovo.
Cosa sto facendo di sbagliato adesso?
P.S. Presto arriverà Ivy e mostrerà davvero cosa può fare Intel nella grafica integrata, insieme a Intel HD 4000. Guarda la grafica.
Cosa sto facendo di sbagliato adesso?
Ora cosa sto facendo di sbagliato?
Nella nuova build, il parametro della funzione CLContextCreate è stato cambiato, viene usato int device invece di bool use_gpu.
con device>=0 viene usato come numero del dispositivo OpenCL nella sequenza
con device==OPENCL_DEVICE_ANY (-1) usato per selezionare automaticamente tra tutti i dispositivi disponibili
con device==OPENCL_DEVICE_GPU (-2) usato per selezionare automaticamente tra tutti i dispositivi GPU disponibili
Potresti per favore mostrarmi come fare questo nel codice? Chiamo CLContextCreate( OPENCL_DEVICE_ANY ) e ottengo il risultato alla compilazione:
'OPENCL_DEVICE_ANY' - undeclared identifier ParallelTester_00-01x.mq5 145 31
Costruire 619.
E seconda domanda: dove posso trovare l'ultimo aiuto?
P.S. Ha funzionato non appena ho impostato l'argomento a -1. La costante OPENCL_DEVICE_ANY non è stata ancora dichiarata :)
Ma nelle build future sarà CL_USE_ANY/CL_USE_GPU_ONLY
Ho deciso di controllare come OpenCL funzionerà su i3-2120 (non è il mio calcolo, nessun video discreto nel sistema). Installato AMD APP SDK, OpenCL-Z ha rilevato tutto. Il terminale ha visualizzato una linea durante l'inizializzazione:
2012.04.02 03:59:47 Terminal CPU: GenuineIntel Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz with OpenCL 1.1 (4 units, 3310 MHz, 8039 Mb, version 2.0)
Controllato sul codice MetaDriver allegato a questo post e leggermente modificato con le ultime modifiche nella build 619 (vedi i primi test qui). Risultato:
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CpuTime/GpuTime = 0.741385550890401
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Result on Cpu МахResult==0.79567 at 734 pass
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.02 04:00:43 ParallelTester_00-01x (EURUSD,H1) CPU time = 20483 ms
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Result on Gpu МахResult==0.79567 at 734 pass
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) Соunt inticators = 16; Count history bars = 144000; Count pass = 1280
2012.04.02 04:00:22 ParallelTester_00-01x (EURUSD,H1) GPU time = 27628 ms
2012.04.02 03:59:55 ParallelTester_00-01x (EURUSD,H1) OpenCL init OK!
A runtime sulla "GPU", tutti e quattro i thread del processore erano completamente occupati, al 100%.
Cosa devo fare per ottenere l'accelerazione? Su un sistema basato su Pentium G840 (anche senza video discreto), era 25 volte più veloce:
P.S. Ho inviato un messaggio al Service Desk, ma temo che questo sia piuttosto un mio problema... A quanto pare ho imparato a installare e disinstallare correttamente AMD APP SDK a occhi chiusi, ma immagino di non essere arrivato a tutte le insidie. Anche se Intel OpenCL Runtime è installato sul mio sistema, non viene ancora riconosciuto nel terminale come dispositivo OpenCL.
P.P.S. A quanto pare, ecco un'altra cosa che ho scovato(https://www.mql5.com/ru/forum/6042/page25):
Ceneri: 2012.03.05 17:43:16 Terminale CPU: GenuineIntel Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz con OpenCL 1.1 (4 unità, 3092 MHz, 4008 Mb, versione 2.0)
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) CpuTime/GpuTime = 0.734767766287369
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) Risultato su Cpu MachResult==1.27347 a 1125 pass
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) Conte inticators = 16; Conte history bars = 144000; Count pass = 1280
2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD, M1) Tempo CPU = 21309 ms
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD,M1) Risultato su Gpu MachResult==1.27347 a 1125 pass
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) Conte inticators = 16; Conte history bars = 144000; Count pass = 1280
2012.03.05 17:45:02 ParallelTester_00-01x (EURUSD, M1) Tempo GPU = 29001 ms
2012.03.05 17:44:33 ParallelTester_00-01x (EURUSD,M1) OpenCL init OK!
:(((
Forse ho "granate del sistema sbagliato"? (Intendo la versione AMD SDK)
GPU+OpenCL è un grande strumento, dopo tutto!
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 728.1857142857143
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Risultato su Cpu MachResult==3.78654 a 50 passaggi
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Conta inticatori = 16; Conta barre storiche = 50.000; Conta pass = 1280
2012.04.08 00:41:22 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tempo CPU = 101946 ms
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Risultato su Gpu MachResult==3.78654 a 50 passaggi
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Conta inticatori = 16; Conta barre storiche = 50.000; Conta pass = 1280
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tempo GPU = 140 ms
GPU+OpenCL è un grande strumento, dopo tutto!
2012.04.08 00:39:40 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Tempo GPU = 140 ms
Propongo di fare i test in modo che il tempo di calcolo della GPU non sia così piccolo. Comunque, 140 ms, imho, è un valore troppo inaffidabile, specialmente con errori di misurazione di GetTickCount() in decine di millisecondi.
MD, sono io che sono molto geloso di te.
Suggerisco di fare i test in modo che il tempo di calcolo della GPU non sia così piccolo.
Non ho la pazienza di aspettare una CPU :) Più lontano è il bosco, più fredda è la GPU...
Allo stesso modo. :)
Ma lo eseguirò su 4096 api e la CPU lo conterà in cinque minuti.