Ecco cosa si può fare con OpenCL direttamente in MetaTrader 5 senza alcuna DLL - pagina 14

 
kaus_bonus:


Se ottieni un errore durante la registrazione, controlla comunque la tua email.

Al momento della registrazione dice "Formato non valido" quando si inserisce qualsiasi tipo di password

Ecco il link, è 300mb, ci vuole molto tempo per trascinare e rilasciare. potrebbe funzionare senza cookie.

http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11058/intel_sdk_for_opencl_setup_6.3.0.1904.exe

Si tira fuori, grazie!
 
Dopo aver rimosso l'Intel SDK for OpenCL Applications è apparso un nuovo dispositivo
OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
OpenCL  Device #1:  CPU Intel(R) Corporation  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 2.1 (8 units, 3500 MHz, 16301 Mb, version 6.3.0.1904)

Ma l'errore rimane

OpenCL not found. Error code=5114
 
fxsaber:
Dopo aver installato Intel SDK per applicazioni OpenCL c'è un nuovo dispositivo

Ma l'errore rimane

A proposito, sono stati aggiunti nuovi codici di errore - errori di runtime

ERR_MATH_OVERFLOW

4019

Si è verificato un overflow durante il calcolo di una funzione matematica


ERR_GLOBALVARIABLE_NOT_MODIFIED

4503

Non sono state fatte modifiche alle variabili globali

ERR_GLOBALVARIABLE_CANNOTREAD

4504

Impossibile aprire e leggere un file con valori di variabili globali

ERR_GLOBALVARIABLE_CANNOTWRITE

4505

Impossibile scrivere il file con i valori delle variabili globali


ERR_TRADE_CALC_FAILED

4758

Mancato calcolo del profitto o del margine


ERR_STRING_ARRAY_ONLY

5063

Deve essere un array di tipo stringa


ERR_OPENCL_TOO_MANY_OBJECTS

5113

Superato il numero massimo di oggetti OpenCL

ERRARE_OPENCL_SELECTDEVICE

5114

Errore di selezione del dispositivo OpenCL

 
Rashid Umarov:

A proposito, sono stati aggiunti nuovi codici di errore - Errori di tempo di esecuzione

Non ci sono abbastanza esempi che generano ogni tipo di errore.
 
Rashid Umarov:
Correggere la Guida per il caso in cui il parametro di input CLContextCreate non è impostato esplicitamente.
Документация по MQL5: Работа с OpenCL / CLContextCreate
Документация по MQL5: Работа с OpenCL / CLContextCreate
  • www.mql5.com
Работа с OpenCL / CLContextCreate - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Il bug non è ancora stato risolto - gli IGPIntel con grafica integrata nel processore non sono selezionati nel contesto come unico dispositivo GPU con un filtro per tipo di dispositivo:

CLContextCreate(CL_USE_GPU_ONLY)
или
CLContextCreate()
Scripts script Seascape (GBPUSD,H1) loaded successfully
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
OpenCL  device performance test started
OpenCL  device #0 performance test error: 'cannot create OpenCL program (5105)'
OpenCL  device performance test finished with error(s)
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
Scripts script Seascape (GBPUSD,H1) removed

Stranamente, allo stesso punto, Print dà un codice di errore diverso:

Seascape (GBPUSD,H1)    OpenCL not found. Error=5114

Se si imposta esplicitamente il dispositivo:

CLContextCreate(0)

o come questo

   long dCount = CLGetInfoInteger(0,CL_DEVICE_COUNT);
   for(int i = 0; i<dCount; i++)
     {
      int clCtx=CLContextCreate(i);

allora tutto funziona - il coprocessore grafico lavora su di giri, compreso l'ammettere che è un coprocessore grafico:

0: Intel(R) HD Graphics 4400
OpenCL platform ver: OpenCL 1.2 
OpenCL platform profile: FULL_PROFILE
OpenCL device name: Intel(R) HD Graphics 4400
OpenCL device profile: FULL_PROFILE
OpenCL device ver: OpenCL 1.2 
OpenCL open c ver: OpenCL C 1.2 
OpenCL type: CL_DEVICE_GPU

Forse la lettera chiave in questo caso secondo la specifica OpenCL 1.2 è dispositivo(i ) ? Cioè il wrapper MQL5 probabilmente restituirà un array di dispositivi GPU filtrati per tipoCL_DEVICE_TYPE_GPU piuttosto che un singolo dispositivo?

Dovremmo fissare un'implementazione vicina alla specifica - selezionare tutti i dispositivi di un dato tipo nel contesto e introdurre un'altra funzione simile aclGetContextInfo(,CL_CONTEXT_NUM_DEVICES,). Dopo tutto, le persone possono avere una fattoria di diverse GPU che fanno diversi tipi di compiti.

UPD: Ho un altro suggerimento - forse il problema è che non è definito alcun rating per un IGP e MQL5 non può scegliere il dispositivo GPU con il rating più alto?

A proposito, qual è il criterio utilizzato per determinare questa freddezza (rating)? Frequenza della GPU * numero di unità?

clCreateContextFromType
  • www.khronos.org
clCreateContextFromType. Create an OpenCL context from a device type that identifies the specific device(s) to use.
 
aim-1:

Il bug non è ancora risolto - gli IGP grafici integrati nel processoreIntel non sono selezionati nel contesto come unico dispositivo GPU con un filtro per tipo di dispositivo:


Grazie, lo risolverò ora.

Controllato sul portatile disabilitando Nvidia:

device #0:  GPU NVIDIA Corporation GeForce GTX 1050 Ti with Max-Q Design with OpenCL 1.2 (6 units, 1417 MHz, 4096 Mb, version 442.70, rating 101)
device #1:  GPU Intel(R) Corporation Intel(R) UHD Graphics 630 with OpenCL 2.1 (24 units, 1200 MHz, 13014 Mb, version 26.20.100.7985, rating 73)

Dopo la disabilitazione, trova automaticamente la GPU incorporata e funziona:

OpenCL.Seascape (GBPUSD,M30)    OpenCL: GPU device 'Intel(R) UHD Graphics 630' selected


Nota che la tua versione dei driver Intel è 10.18.14.511 e la mia è 26.20.100.7985

Ti consiglio di aggiornare tutti i driver, mettere tutti gli aggiornamenti del sistema operativo e riprovare.
 
aim-1:

Il bug non è ancora stato risolto - gli IGP grafici integrati nel processoreIntel non vengono selezionati nel contesto come un singolo dispositivo GPU con un filtro del tipo di dispositivo:

Si prega di fare quanto segue:

  1. Chiudere il terminale
  2. Rimuovere OpenCL dall'alveare del registro "HKEY_CURRENT_USER\Software\MetaQuotes Software
  3. Avviare il terminale e testare


Dopo di che, controllate il log del terminale per gli errori OpenCL

Per esempio:

Errore di test delle prestazioni del dispositivo OpenCL N: 'error text'

o

Test delle prestazioni del dispositivo OpenCL N fallito


Dovresti controllare gli aggiornamenti del tuo driver video Intel

Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
 
Renat Fatkhullin:

Nota che la tua versione dei driver Intel è 10.18.14.511 e la mia è 26.20.100.7985

Consiglio di aggiornare tutti i driver, mettere tutti gli aggiornamenti del sistema operativo e riprovare.

Grazie per il rapido supporto, Renat!

Naturalmente, l'argomento OpenCL è molto gustoso e mi motiva ad andare a MQL5, soprattutto perché c'è già un sacco di buon materiale su questo argomento negli articoli di MQL5.com.

La consueta pulizia in materia di aggiornamenti prima della Compieta è stata osservata, naturalmente. Oggi ho passato tutta la notte a cercare di capire i driver e l'SDK.

Il sito web di Intel per questa pietra (IGP) ha installato l'ultima (dal 25.11.2019 al rilascio Q3'13, i driver della tua generazione di CPU), cioè sia la CPU che la GPU sono supportate. CPU solo runtime rimosso prima, registro in rami Khronos pulito.

L'originale Intel SDK for OpenCL Applications 2016 R2 che ha supportato per l'ultima volta Windows 8.1 e le GPU di questa CPU Intel 4th Generation Core non è più disponibile sul sito web di Intel. Se sapete dove posso scaricarlo senza virus, ve ne sarei grato.

Ma anche il runtime dovrebbe funzionare normalmente, cosa che fa. La GPU è visibile sia attraverso i comandi informativi MQL5 (vedi sopra) quando la si seleziona esplicitamente in CLContextCreate sia attraverso la velocità EA SeaScape. Inoltre nessun errore viene visualizzato nei log.

Proverò ad aprire il tuo ramo del registro più tardi in serata dopo il lavoro e userò un avvio speciale per giocarci, ma l'assenza del rating MQL5 assegnato alla mia GPU è la ragione della sua eliminazione secondo l'algoritmo del concorso di bellezza del filtro CL_USE_GPU_ONLY.

 
aim-1:

Grazie per il tuo rapido supporto, Renat!

Naturalmente, l'argomento OpenCL è molto gustoso e mi motiva ad andare a MQL5, soprattutto perché c'è già un sacco di buon materiale su questo argomento negli articoli di MQL5.com.

La consueta pulizia in materia di aggiornamenti prima della Compieta è stata osservata, naturalmente. Oggi ho passato tutta la notte a cercare di capire i driver e l'SDK.

Il sito web di Intel per questa pietra (IGP) ha installato l'ultima (dal 25.11.2019 al rilascio Q3'13, i driver della tua generazione di CPU), cioè sia la CPU che la GPU sono supportate. CPU solo runtime rimosso prima, registro in rami Khronos pulito.

L'originale Intel SDK per applicazioni OpenCL 2016 R2 che ha supportato l'ultima volta Windows 8.1 e le GPU di questa CPU Intel 4th Generation Core non è più disponibile sul sito web di Intel. Se sapete dove posso scaricarlo senza virus, ve ne sarei grato.

Ma anche il runtime dovrebbe funzionare normalmente, cosa che fa. La GPU è visibile sia attraverso i comandi info di MQL5 (vedi sopra) quando la si seleziona esplicitamente in CLContextCreate sia attraverso la velocità di EA SeaScape.

Proverò ad aprire il tuo ramo del registro più tardi in serata dopo il lavoro e utilizzare un avvio speciale per giocare, ma imho l'assenza della mia valutazione della GPU assegnata da MQL5 è la ragione della sua eliminazione secondo l'algoritmo del concorso di bellezza attraverso il filtro CL_USE_GPU_ONLY.

Da parte nostra, daremo anche un'occhiata e aggiungeremo altri log.