MQL5参考使用OpenCL工作
- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
使用OpenCL工作
OpenCL 程序用来执行支持OpenCL 1.1或更高版本视频卡上的计算. 现代视频卡包含数百个小型专用处理器,可以同时与输入数据流进行简单的数学运算. OpenCL语言组织了并行计算并且为一类特定任务提供了更快的速度.
在一些图形卡中默认禁止处理double类型数字。这可能会导致编译错误5105。若要启用支持double类型数字,请添加以下指令到您的OpenCL程序:#pragma OPENCL EXTENSION cl_khr_fp64 : enable。但是,如果图形卡不支持double型,启用该指令则不会有帮助。
建议以单独的CL文件编写OpenCL源代码,稍后将其包含进使用资源变量MQL5程序。
运行OpenCL程序中的函数:
函数 |
操作 |
---|---|
返回OpenCL处理类型作为 ENUM_OPENCL_HANDLE_TYPE 详表中的某个值. |
|
为OpenCL对象或设备返回一个整数属性值 |
|
创建OpenCL背景 |
|
移除OpenCL背景 |
|
从OpenCL驱动程序接收设备属性 |
|
从源代码创建OpenCL程序 |
|
移除OpenCL程序 |
|
创建OpenCL开始函数 |
|
移除OpenCL开始函数 |
|
为OpenCL函数设置一个参数 |
|
设置OpenCL缓冲作为OpenCL函数的参数 |
|
设置本地缓冲区作为内核函数参数 |
|
创建OpenCL缓冲 |
|
删除OpenCL缓冲 |
|
写入数组到OpenCL缓冲 |
|
读取OpenCL缓冲到数组 |
|
运行OpenCL程序 |
|
返回OpenCL程序执行状态。 |
另见