- BufferCreate
- BufferFree
- BufferFromArray
- BufferRead
- BufferWrite
- Execute
- GetContext
- GetKernel
- GetKernelName
- GetProgram
- Initialize
- KernelCreate
- KernelFree
- SetArgument
- SetArgumentBuffer
- SetArgumentLocalMemory
- SetBuffersCount
- SetKernelsCount
- Shutdown
- SupportDouble
Classe per lavorare con i programmi OpenCL
La classe COpenCL è un wrapper per facilitare il lavoro con le funzioni OpenCL. In alcuni casi, l'uso della GPU permette di aumentare notevolmente la velocità di calcolo.
Esempi di utilizzo della classe per i calcoli basati su valori float e double possono essere trovati nelle corrispondenti sottodirectory dei MQL5\Scripts\Examples\OpenCL\cartella\. I codici sorgente dei programmi OpenCL si trovano nelle sottodirectory MQL5\Scripts\Examples\OpenCL\Double\Kernels e MQL5\Scripts\Examples\OpenCL\Float\Kernels.
- MatrixMult.mq5 - esempio di moltiplicazione di matrici utilizzando la memoria globale e locale
- BitonicSort.mq5 - esempio di ordinamento parallelo di elementi dell'array nella GPU
- FFT.mq5 - esempio di calcolo di trasformata rapida di Fourier
- Wavelet.mq5 - esempio di trasformata wavelet dei dati utilizzando la Wavelet Morlet.
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.
Dichiarazione
class COpenCL |
Titolo
#include <OpenCL\OpenCL.mqh> |
Metodi della classe
Nome |
Descrizione |
---|---|
Crea un buffer OpenCL in corrispondenza dell'indice specificato |
|
Elimina buffer in corrispondenza dell'indice specificato |
|
Crea un buffer in corrispondenza dell'indice specificato da un array di valori |
|
Legge un buffer OpenCL all'indice specificato in un array |
|
Scrive un array di valori nel buffer in corrispondenza dell'indice specificato |
|
Esegue il kernel OpenCL con l'indice specificato |
|
Restituisce l' handle del contesto OpenCL |
|
Restituisce l'handle dell'oggetto kernel in corrispondenza dell'indice specificato |
|
Restituisce il nome dell'oggetto kernel in corrispondenza dell'indice specificato |
|
Restituisce l'handle del programma OpenCL |
|
Inizializza il programma OpenCL |
|
Crea un punto di ingresso nel programma OpenCL in corrispondenza dell'indice specificato |
|
Rimuove una funzione di avvio OpenCL in corrispondenza dell'indice specificato |
|
Imposta un parametro per la funzione OpenCL in corrispondenza dell'indice specificato |
|
Imposta un buffer OpenCL come parametro della funzione OpenCL in corrispondenza dell'indice specificato |
|
Imposta un parametro nella memoria locale per la funzione di OpenCL in corrispondenza dell'indice specificato |
|
Imposta il numero di buffer |
|
Imposta il numero di oggetti del kernel |
|
Scarica il programma OpenCL |
|
Controlla se i tipi di dati in virgola mobile sono supportati dal dispositivo |