OpenCL: test di implementazione interna in MQL5 - pagina 53

 
'CL_DEVICE_COUNT' - undeclared identifier    Struct_OpenCL__1.mq5    105    79


La guida ce l'ha, lo script no.


E quando finirà questo casino con gli identificatori?

 
Mathemat:
'CL_DEVICE_COUNT' - undeclared identifier    Struct_OpenCL__1.mq5    105    79

nella build 630 funziona.
 
joo: Ho rilevato un misterioso dispositivo 1 nel mio computer usando il metodo del professor Tychkov e funziona più velocemente di CL_USE_ANY e anche più velocemente di CL_USE_GPU_ONLY.

Che cos'è? :O

Esegui GPU Caps, ci saranno molte informazioni:

Probabilmente avete due dispositivi. 0 è l'host, cioè la CPU, e 1 è la vostra scheda discreta.

La differenza di tempo tra 125 ms e 78 ms non è così significativa che non dovrebbe essere considerata un errore di GetTicksCount().

CL_USE_ANY e CL_USE_GPU_ONLY sono solo "maschere" per selezionare i dispositivi, non dispositivi individuali.

 
Mathemat:

Esegui GPU Caps, ci saranno molte informazioni:

Probabilmente avete due dispositivi. 0 è l'host, cioè la CPU, e 1 è la vostra scheda discreta.

Dove lo mostra l'utilità?
 
joo:
Dove si può vedere dall'utilità?

Guarda qui:

Espandi l'elenco sulla destra e vedi quali dispositivi hai.

L'host dovrebbe essere sempre zero, ecco cos'è un host...

 
Mathemat:

E probabilmente avete due dispositivi. 0 è l'host, cioè la CPU, e 1 è la vostra scheda discreta.

Matematica:

Guarda qui:

Espandi l'elenco sulla destra e vedi quali dispositivi hai.

I conti non tornano:


 

Comunque... non è strano. Devi avere almeno due dispositivi, non c'è modo di evitarlo. Sono lì, solo su piattaforme diverse.

E MT5 riesce a vederli indipendentemente dalla piattaforma. Cosa vi dice CLGetInfoInteger(0, CL_DEVICE_COUNT)? Sono 2, giusto?

 
Mathemat:

E MT5 riesce a vederli indipendentemente dalla piattaforma. Cosa vi dice CLGetInfoInteger(0, CL_DEVICE_COUNT)? Sono 2, giusto?

Quindi 2, e allora? Come fate a sapere se il dispositivo 0 è la scheda grafica e 1 la CPU? Questo è il mio punto - non si può.

Beh, naturalmente, è possibile creare un programma OpenCL e ottenere tutte le informazioni necessarie internamente, quale dispositivo ha quale numero. Ma non si può fare fuori usando MQL5.

 
joo:

Quindi 2, e allora? Come fate a sapere se il dispositivo 0 è la scheda grafica e 1 la CPU? È quello che sto dicendo - non si può.

Naturalmente, è possibile utilizzare OpenCL e ottenere tutte le informazioni necessarie all'interno, ad esempio, quale dispositivo ha quale numero. Ma non è possibile farlo fuori usando MQL5.

La funzionalità OpenCL sarà presto estesa (aggiunta) al linguaggio. Quindi, ci sarà l'opportunità di scoprire chi è chi.
 
joo: Quindi 2, e allora? Come fate a sapere se il dispositivo 0 è la scheda video, 1 è la CPU?
Sei a 0 per il video?! È incredibile.