处理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

检查设备是否支持浮动点数据类型