以下是你可以在MetaTrader 5中直接使用OpenCL而不需要任何DLLs的情况 - 页 14

 
kaus_bonus:


如果你在注册时得到一个错误,无论如何要检查你的电子邮件。

在注册时,当输入任何种类的密码时,都会显示 "无效的格式"。

这是链接,有300MB,拖放要花很长时间,没有cookie可能也行。

http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11058/intel_sdk_for_opencl_setup_6.3.0.1904.exe

拔出来了,谢谢!
 
在删除英特尔OpenCL应用程序的SDK后,出现了一个新的设备
OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
OpenCL  Device #1:  CPU Intel(R) Corporation  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 2.1 (8 units, 3500 MHz, 16301 Mb, version 6.3.0.1904)

但错误仍然存在

OpenCL not found. Error code=5114
 
fxsaber:
在安装英特尔OpenCL应用的SDK后,有一个新的设备

但错误仍然存在

顺便说一下,已经添加了新的错误代码--运行时错误

err_math_overflow

4019

在计算一个数学函数时发生溢出


err_globalvariable_not_modified

4503

没有进行全局变量的修改

误差_全局变量_不能读取

4504

打开和读取带有全局变量值的文件失败了

err_globalvariable_cannotwrite

4505

写入带有全局变量值的文件失败


误差_交易_计算_失败

4758

未能计算出利润或利润率


仅限字符串阵列

5063

必须是一个字符串类型的数组


错了!错了!错了!错了!错了!错了!错了!错了!错了!错了!错了!错了!错了!错了

5113

超过了OpenCL对象的最大数量

err_opencl_selectdevice

5114

OpenCL设备选择错误

 
Rashid Umarov:

顺便说一下,增加了新的错误代码 -执行时间错误

没有足够的例子来产生每种类型的错误。
 
Rashid Umarov:
纠正CLContextCreate 输入参数 没有明确设置的情况下的帮助。
Документация по MQL5: Работа с OpenCL / CLContextCreate
Документация по MQL5: Работа с OpenCL / CLContextCreate
  • www.mql5.com
Работа с OpenCL / CLContextCreate - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

这个错误仍未修复--英特尔的 处理器集成图形IGP在上下文中没有被选为唯一的GPU设备,并按设备类型进行过滤。

CLContextCreate(CL_USE_GPU_ONLY)
или
CLContextCreate()
Scripts script Seascape (GBPUSD,H1) loaded successfully
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
OpenCL  device performance test started
OpenCL  device #0 performance test error: 'cannot create OpenCL program (5105)'
OpenCL  device performance test finished with error(s)
OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 (20 units, 400 MHz, 1425 Mb, version 10.18.14.5117)
OpenCL  device #1: CPU Intel(R) Corporation Intel(R) Core(TM) i7-4500 U CPU @ 1.80 GHz with OpenCL 1.2 (4 units, 1800 MHz, 8087 Mb, version 4.2.0.148, rating 67)
Scripts script Seascape (GBPUSD,H1) removed

有趣的是,在同一点上,Print 给出了一个不同的错误代码。

Seascape (GBPUSD,H1)    OpenCL not found. Error=5114

如果你明确设置了设备。

CLContextCreate(0)

或像这样

   long dCount = CLGetInfoInteger(0,CL_DEVICE_COUNT);
   for(int i = 0; i<dCount; i++)
     {
      int clCtx=CLContextCreate(i);

然后一切都能正常工作--图形协处理器的工作出了一身汗,包括承认它是一个图形协处理器。

0: Intel(R) HD Graphics 4400
OpenCL platform ver: OpenCL 1.2 
OpenCL platform profile: FULL_PROFILE
OpenCL device name: Intel(R) HD Graphics 4400
OpenCL device profile: FULL_PROFILE
OpenCL device ver: OpenCL 1.2 
OpenCL open c ver: OpenCL C 1.2 
OpenCL type: CL_DEVICE_GPU

根据OpenCL 1.2规范,在这种情况下的关键字母可能是device(s)?也就是说,MQL5包装器可能会返回一个由CL_DEVICE_TYPE_GPU 类型过滤的GPU设备阵列,而不是一个单一的设备?

我们应该固定为接近规范的实现方式--在上下文中选择所有给定类型的设备,并再引入一个类似于clGetContextInfo(,CL_CONTEXT_NUM_DEVICES,) 的函数。毕竟,人们可能有一个由几个GPU组成的农场,从事不同种类的任务。

UPD: 我还有一个建议--也许问题是没有为IGP定义等级,MQL5不能选择具有最高等级的GPU设备?

顺便问一下,用来确定这种酷的标准(评级)是什么? GPU频率*单位数量?

clCreateContextFromType
  • www.khronos.org
clCreateContextFromType. Create an OpenCL context from a device type that identifies the specific device(s) to use.
 
aim-1:

该错误仍未修复--英特尔 处理器集成的图形IGP在上下文中没有被选择为唯一的GPU设备,并按设备类型过滤。


谢谢,现在会想办法解决。

在笔记本电脑上通过禁用Nvidia进行了检查。

device #0:  GPU NVIDIA Corporation GeForce GTX 1050 Ti with Max-Q Design with OpenCL 1.2 (6 units, 1417 MHz, 4096 Mb, version 442.70, rating 101)
device #1:  GPU Intel(R) Corporation Intel(R) UHD Graphics 630 with OpenCL 2.1 (24 units, 1200 MHz, 13014 Mb, version 26.20.100.7985, rating 73)

禁用后,它自动找到嵌入式GPU并工作。

OpenCL.Seascape (GBPUSD,M30)    OpenCL: GPU device 'Intel(R) UHD Graphics 630' selected


请注意,你的英特尔驱动程序的版本是10.18.14.511,我的是26.20.100.7985

我建议你更新所有的驱动程序,把所有的操作系统更新打开,再试一次。
 
aim-1:

该错误仍未修复--英特尔 处理器集成的图形IGP在上下文中不能被选为具有设备类型过滤器的单一GPU设备。

请做以下工作。

  1. 关闭终端
  2. 从 "HKEY_CURRENT_USER/Software/MetaQuotes Software "注册表中删除OpenCL。
  3. 启动终端 并测试


之后,检查终端日志中的OpenCL错误

例如:

OpenCL设备N性能测试错误:'错误文本'


OpenCL设备N性能测试失败


你应该检查你的英特尔视频驱动程序的更新情况

Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
 
Renat Fatkhullin:

请注意,你的英特尔驱动程序的版本是10.18.14.511,我的是26.20.100.7985

我建议更新所有的驱动程序,把所有的操作系统更新后再试一次。

谢谢你的及时支持,Renat!

当然,OpenCL主题非常有味道,它促使我去参加MQL5,尤其是在MQL5.com文章中已经有很多关于这个主题的好材料。

当然,在晚祷前的更新问题上,也遵守了通常的清洁原则。今天,我花了一整夜的时间试图弄清楚驱动程序和SDK。

英特尔网站对这块石头(IGP)安装了最新的(从2019年11月25日在Q3'13发布,你的CPU一代驱动),即CPU和GPU都被支持。之前只删除了CPU的运行时间,Khronos分支中的注册表被清理。

原有的英特尔OpenCL应用SDK 2016 R2最后支持Windows 8.1和该英特尔第四代酷睿CPU的GPU,在英特尔网站上已不再提供。如果你知道我在哪里可以下载到无病毒的文件,我将不胜感激。

但运行时也应该正常工作,它确实如此。在CLContextCreate 中明确选择GPU时,通过MQL5信息命令(见上文)和EA SeaScape速度,GPU都是可见的。同时,日志中也没有显示任何错误。

晚上下班后我会试着打开你的注册表分支,用专门的启动器来玩,但没有分配给我的GPU的MQL5等级,根据CL_USE_GPU_ONLY 过滤器的选美算法,它被淘汰的原因。

 
aim-1:

谢谢你的及时支持,Renat!

当然,OpenCL话题很有味道,它促使我去参加MQL5,尤其是在MQL5.com文章中已经有很多关于这个话题的好材料。

当然,在晚祷前的更新问题上,也遵守了通常的清洁原则。今晚,我花了一整夜的时间试图弄清楚驱动程序和SDK。

英特尔网站对这块石头(IGP)安装了最新的(从2019年11月25日在Q3'13发布,你的CPU一代驱动),即CPU和GPU都被支持。之前只删除了CPU的运行时间,Khronos分支中的注册表被清理。

原有的英特尔OpenCL应用SDK 2016 R2最后支持Windows 8.1和该英特尔第四代酷睿CPU的GPU,在英特尔网站上已不再提供。如果你知道我在哪里可以下载到无病毒的文件,我将不胜感激。

但运行时也应该正常工作,它确实如此。通过MQL5信息命令(见上文),当在CLContextCreate 中明确选择它时,以及通过EA SeaScape的速度,GPU都是可见的。

我晚上下班后会试着打开你的注册表分支,用专门的启动器来玩,但imho没有我的MQL5分配的GPU等级,这是根据选美比赛的算法通过CL_USE_GPU_ONLY 过滤器淘汰的原因。

就我们而言,我们也会看一看并增加更多的日志。