处理OpenCL程序的类

COpenCL类是帮助处理OpenCL函数的封装器。在某些情况下,使用GPU可以大幅度提高计算速度。

对于基于浮动值和双精度值计算的类的使用示例可以在MQL5\Scripts\Examples\OpenCL\ 文件夹相应的子目录中找到。OpenCL程序的源代码位于MQL5\Scripts\Examples\OpenCL\Double\Kernels和MQL5\Scripts\Examples\OpenCL\Float\Kernels子目录中。

  • MatrixMult.mq5 - 使用全局内存和本地内存的矩阵乘法示例
  • BitonicSort.mq5 - GPU数组元素平行排序的示例
  • FFT.mq5 - 快速傅里叶变换计算的示例
  • Wavelet.mq5 - 使用Morlet小波进行的小波数据变换的示例。

建议以单独的CL文件编写OpenCL源代码,稍后将其包含进使用资源变量MQL5程序。

声明

   class COpenCL

标题

   #include <OpenCL\OpenCL.mqh>

类方法

名称 描述
BufferCreate 在指定索引创建OpenCL缓冲区
BufferFree 在指定索引删除缓冲区
BufferFromArray 在指定索引从数组值创建缓冲区
BufferRead 在指定索引读取OpenCL缓冲区到数组
BufferWrite 在指定索引编写数组值到缓冲区
Execute 在指定索引执行OpenCL内核
GetContext 返回OpenCL上下文处理
GetKernel 在指定索引返回内核对象句柄
GetKernelName 在指定索引返回内核对象名称
GetProgram 返回OpenCL 程序句柄
Initialize 初始化OpenCL程序
KernelCreate 在指定索引创建OpenCL程序切入点
KernelFree 在指定索引移除OpenCL起始函数
SetArgument 在指定索引设置OpenCL函数的参数
SetArgumentBuffer 在指定索引设置OpenCL缓冲区作为OpenCL函数的参数
SetArgumentLocalMemory 在指定索引为OpenCL函数设置本地内存的参数
SetBuffersCount 设置缓冲区数量
SetKernelsCount 设置内核对象数量
Shutdown 卸载OpenCL程序
SupportDouble 检查设备是否支持浮动点数据类型