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