- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
Lavorare con OpenCL
I programmi in OpenCL sono utilizzati per l'esecuzione di calcoli sulle schede video che supportano OpenCL 1.1 o superiore. Schede video moderne contengono centinaia di piccoli processori specializzati che possono contemporaneamente eseguire semplici operazioni matematiche con i flussi di dati in entrata. Il linguaggio OpenCL organizza il calcolo parallelo ed offre una maggiore velocità per una certa classe di tasks.
In alcune schede grafiche il lavoro con i tipi di numeri double è disabilitato di default. Questo può portare ad un errore di compilazione 5105. Per abilitare il supporto per i numeri di tipo double, si prega di aggiungere la seguente direttiva al programma OpenCL: #pragma OPENCL EXTENSION cl_khr_fp64 : enable. Tuttavia, se una scheda grafica non supporta i double, l'abilitazione di questa direttiva non sarà di aiuto.
Si raccomanda di scrivere il codice sorgente per OpenCL in file separati CL, che possono essere successivamente inseriti nel programma MQL5 utilizzando le variabili di risorse.
Funzioni per l'esecuzione di programmi in OpenCL:
Funzione |
Azione |
---|---|
Restituisce il tipo di un handle OpenCL come valore dell'enumerazione ENUM_OPENCL_HANDLE_TYPE |
|
Restituisce il valore di una proprietà integer per un oggetto OpenCL o dispositivo |
|
Crea un contesto OpenCL |
|
Rimuove un contesto OpenCL |
|
Riceve la proprietà del dispositivo dal driver di OpenCL |
|
Crea un programma di OpenCL da un codice sorgente |
|
Rimuove un programma di OpenCL |
|
Crea una funzione di avvio OpenCL |
|
Rimuove una funzione di avvio OpenCL |
|
Imposta un parametro per la funzione OpenCL |
|
Imposta un buffer OpenCL come parametro della funzione OpenCL |
|
Imposta il buffer locale come argomento della funzione del kernel |
|
Crea un buffer di OpenCL |
|
Elimina un buffer OpenCL |
|
Scrive un array in un buffer OpenCL |
|
Legge un buffer OpenCL in un array |
|
Esegue un programma OpenCL |
|
Restituisce lo stato di esecuzione del programma OpenCL |
Vedi anche