- BufferCreate
- BufferFree
- BufferFromArray
- BufferRead
- BufferWrite
- Execute
- GetContext
- GetKernel
- GetKernelName
- GetProgram
- Initialize
- KernelCreate
- KernelFree
- SetArgument
- SetArgumentBuffer
- SetArgumentLocalMemory
- SetBuffersCount
- SetKernelsCount
- Shutdown
- SupportDouble
Classe para trabalhar com programas OpenCL
A classe COpenCL é um wrapper (pano de embrulho) para facilitar o trabalho com as funções OpenCL. O uso da GPU, em alguns casos, pode aumentar significativamente a velocidade de computação.
Exemplos de utilização de classe para cálculos nos números float e double podem ser encontrados na pasta MQL5\Scripts\Examples\OpenCL\ nos respectivos sub-diretórios, os códigos-fontes dos programas OpenCL residem nos sub-diretórios MQL5\Scripts\Examples\OpenCL\Double\Kernels e MQL5\Scripts\Examples\OpenCL\Float\Kernels .
- MatrixMult.mq5 - exemplo de multiplicação de matrizes usando as memórias global e local
- BitonicSort.mq5 - exemplo de classificação paralela de elementos de matriz na GPU
- FFT.mq5 - exemplo de cálculo de transformada rápida de Fourier
- Wavelet.mq5 - exemplo de cálculo da transformação de dados por ondulação usando a transformação por ondulação Morlet.
É recomendado escrever o código-fonte OpenCL em arquivos CL separados, que podem então ser ligados ao programa MQL5 usando variáveis de recursos.
Declaração
class COpenCL |
Cabeçalho
#include <OpenCL\COpenCL.mqh> |
Métodos de classe
Nome |
Descrição |
---|---|
Cria o buffer OpenCL segundo o índice especificado |
|
Remove o buffer segundo o índice especificado |
|
Cria o buffer segundo o índice especificado a partir da matriz de valores |
|
Lê - na matriz - o buffer OpenCL segundo o índice especificado |
|
Escreve a matriz de dados no buffer segundo o índice especificado |
|
Executa o programa OpenCL segundo o índice especificado |
|
Retorna o identificador de contexto OpenCL |
|
Retorna o identificador de objeto kernel segundo o índice especificado |
|
Retorna o nome do objeto kernel segundo o índice especificado |
|
Retorna o identificador de programa OpenCL |
|
Inicializa o programa OpenCL |
|
Cria o ponto de entrada para o programa OpenCL segundo o índice especificado |
|
Exclui a função que inicia OpenCL segundo o índice especificado |
|
Define o parâmetro para a função OpenCL segundo o índice especificado |
|
Define o buffer OpenCL como um parâmetro da função OpenCL segundo o índice especificado |
|
Define o parâmetro na memória local para a função OpenCL segundo o índice especificado |
|
Define o número de buffers |
|
Define o número de objetos kernel |
|
Descarrega o programa OpenCL |
|
Confere a presença de suporte - no dispositivo - de tipos de dados reais |