- BufferCreate
- BufferFree
- BufferFromArray
- BufferRead
- BufferWrite
- Execute
- GetContext
- GetKernel
- GetKernelName
- GetProgram
- Initialize
- KernelCreate
- KernelFree
- SetArgument
- SetArgumentBuffer
- SetArgumentLocalMemory
- SetBuffersCount
- SetKernelsCount
- Shutdown
- SupportDouble
Clase para trabajar con programas OpenCL
La clase COpenCL es un envoltorio para trabajar cómodamente con las funciones OpenCL. El uso de GPU en ciertos casos permite aumentar considerablemente la velocidad de cálculo.
Los ejemplos de uso de la clase para los cálculos en las cifras float y double se pueden encontrar en la carpeta MQL5\Scripts\Examples\OpenCL\, en los catálogos correspondientes, los códigos fuente de los propios programas OpenCL se encuentran en los subcatálogos MQL5\Scripts\Examples\OpenCL\Double\Kernels y MQL5\Scripts\Examples\OpenCL\Float\Kernels.
- MatrixMult.mq5 - ejemplo de multiplicación de matrices con uso de la memoria local y global
- BitonicSort.mq5 - ejemplo de clasificación paralela de los elementos de la matriz en GPU
- FFT.mq5 - ejemplo de cálculo de la transformada rápida de Fourier
- Wavelet.mq5 - ejemplo de cálculo de la transformada de ondícula de los datos con la ayuda de la ondícula de Morlet.
Es recomendable escribir el código fuente de OpenCL en archivos CL aparte, que después se puedan incluir en el programa MQL5 con la ayuda de las variables de recurso.
Declaración
class COpenCL |
Encabezamiento
#include <OpenCL\COpenCL.mqh> |
Métodos de la clase
Nombre |
Descripción |
---|---|
Crea un búfer OpenCL según el índice indicado |
|
Elimina un búfer según el índice indicado |
|
Crea un búfer según el índice indicado de la matriz de valores |
|
Lee en la matriz un búfer OpenCL según el índice indicado |
|
Escribe la matriz de datos en el búfer según el índice indicado |
|
Ejecuta un programa OpenCL según el índice indicado |
|
Retorna el manejador del contexto OpenCL |
|
Retorna el manejador del objeto núcleo según el índice indicado |
|
Retorna el nombre del objeto núcleo según el índice indicado |
|
Retorna el manejador de un programa OpenCL |
|
Inicia un programa OpenCL |
|
Crea un punto de entrada en un programa OpenCL según el índice indicado |
|
Elimina la función de inicio de OpenCL según el índice indicado. |
|
Establece un parámetro para una función OpenCL según el índice indicado. |
|
Establece un búfer de OpenCL como parámetro de una función OpenCL según el índice indicado |
|
Establece un parámetro en la memoria local para una función OpenCL según el índice indicado. |
|
Establece el número de búferes |
|
Establece el número de objetos núcleo |
|
Libera de la memoria un programa OpenCL. |
|
Aclara si se da soporte a los tipos reales de datos en el dispositivo |