下载MetaTrader 5
MQL5参考使用OpenCL工作 

使用OpenCL工作

OpenCL 程序用来执行支持OpenCL 1.1或更高版本视频卡上的计算. 现代视频卡包含数百个小型专用处理器,可以同时与输入数据流进行简单的数学运算. OpenCL语言组织了并行计算并且为一类特定任务提供了更快的速度.

在一些图形卡中默认禁止处理double类型数字。这可能会导致编译错误5105。若要启用支持double类型数字,请添加以下指令到您的OpenCL程序:#pragma OPENCL EXTENSION cl_khr_fp64 : enable。但是,如果图形卡不支持double型,启用该指令则不会有帮助。

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

运行OpenCL程序中的函数:

函数

操作

CLHandleType

返回OpenCL处理类型作为 ENUM_OPENCL_HANDLE_TYPE 详表中的某个值.

CLGetInfoInteger

为OpenCL对象或设备返回一个整数属性值

CLContextCreate

创建OpenCL背景

CLContextFree

移除OpenCL背景

CLGetDeviceInfo

从OpenCL驱动程序接收设备属性

CLProgramCreate

从源代码创建OpenCL程序

CLProgramFree

移除OpenCL程序

CLKernelCreate

创建OpenCL开始函数

CLKernelFree

移除OpenCL开始函数

CLSetKernelArg

为OpenCL函数设置一个参数

CLSetKernelArgMem

设置OpenCL缓冲作为OpenCL函数的参数

CLSetKernelArgMemLocal

设置本地缓冲区作为内核函数参数

CLBufferCreate

创建OpenCL缓冲

CLBufferFree

删除OpenCL缓冲

CLBufferWrite

写入数组到OpenCL缓冲

CLBufferRead

读取OpenCL缓冲到数组

CLExecute

运行OpenCL程序

CLExecutionStatus

返回OpenCL程序执行状态。

另见

OpenCL, 资源


更新: 2017.02.06