跳至内容

OpenCL

处理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检查设备是否支持浮动点数据类型