OpenCL: test di implementazione interna in MQL5 - pagina 37

 
joo: E molto probabilmente non si tratta di memoria, ma del meccanismo di parallelizzazione dei compiti del driver OpenCL stesso. È necessario sperimentare con multipli del numero di mosche.
Cosa succede se non so quante mosche ho (Intel HD Graphics 1000)? O 6 o molto di più... Se sono 6, da dove viene un aumento di 25 volte della velocità di esecuzione?
 
Mathemat:
Cosa succede se non so quante mosche ho (Intel HD Graphics 1000)? O 6 o molto di più... Se sono 6, da dove viene l'aumento di 25 volte della velocità di esecuzione?
Il guadagno x25 è dovuto al mio genio, beh, un po' alle operazioni vettoriali. Il prodotto scalare di vettori conta molto rapidamente sulla GPU.
 
MetaDriver: x25-crescita è dal mio genio, beh un po' dalle operazioni vettoriali. Il prodotto scalare di vettori conta molto rapidamente sulla GPU.

Tenete presente che queste 6 api girano a 1,1 GHz, che è 2,5 volte inferiore alla frequenza della pietra. Quindi sono 2,5 api condizionate che corrono alla frequenza della pietra. Ma da dove viene il 25x?

 
Mathemat:

Non dimenticate che queste 6 api funzionano a 1,1 GHz, che è 2,5 volte inferiore alla frequenza della pietra. Cioè 2,5 api condizionate che operano alla frequenza della pietra. Ma da dove viene il 25x?

SSE gestisce 4 float alla volta * 2 core + ottimizzazioni del compilatore.
 
mql5: SSE gestisce 4 float alla volta * 2 core + ottimizzazioni del compilatore.

Quindi tutto il lavoro viene fatto sui core della CPU - non sulle api della GPU incorporata?

E la seconda: se non sulle api, come far girare il codice esattamente su di esse?

P.S. AMD ha fatto questo casino con potenti GPU onboard per una ragione: A8-3850 ha ben 400 api...

P.P.S. Allora, un rappresentante dello sviluppatore si è presentato ed è scappato di nuovo :(

 
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 con OpenCL 1.1 (16 unità, 1225 MHz, 1536 Mb, versione 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 con OpenCL 1.1 (16 unità, 1225 MHz, 1536 Mb, versione 285.62)
^^ come testare?
 
casinonsk: ^^^^ come testare?
Esegui come script uno qualsiasi dei codici postati da MetaDriver.
 
Mathemat:
Esegui come script uno qualsiasi dei codici postati da MetaDriver.

EseguireOpenCL.

1 nucleo è stato caricato in media al 50%.

2 nucleo non utilizzato affatto.

 
casinonsk:
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 con OpenCL 1.1 (16 unità, 1225 MHz, 1536 Mb, versione 285.62)
2012.03.16 23:34:11 Terminal GPU: NVIDIA Corporation GeForce GTX 590 con OpenCL 1.1 (16 unità, 1225 MHz, 1536 Mb, versione 285.62)
^^ come testare?

Le GPU dual-boost sono qui. Molto interessante. Quale CPU è?

Eseguite lo script nell'allegato.

 
Mathemat:

Quindi tutto il lavoro viene fatto sui core della CPU - non sulle api della GPU incorporata?

E la seconda: se non sulle api, come far girare il codice esattamente su di esse?

P.S. AMD ha fatto questo casino con potenti GPU onboard per una ragione: ci sono ben 400 api in A8-3850...

P.P.S. Allora, un rappresentante degli sviluppatori è apparso ed è scappato di nuovo :(

Potrei sbagliarmi sul fatto che funzioni su CPU, ma a giudicare dal tuo post e conoscendo le peculiarità interne, è abbastanza possibile che il lavoro sia stato fatto sull'emulazione CPU di AMD.
Sfortunatamente nell'implementazione attuale la scelta del dispositivo spetta al terminale, ma nella prossima build sarà possibile scegliere da soli uno dei dispositivi disponibili.