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

 
Ilyas:
  1. 关闭终端
  2. 从 "HKEY_CURRENT_USER/Software/MetaQuotes Software "注册表组中删除OpenCL值。
  3. 运行终端 并测试

运行前删除了OpenCL密钥。行为并没有改变。

也就是说,用CLContextCreate(CL_USE_GPU_ONLY)首次启动专家顾问时,产生了上述错误,专家顾问没有启动。从第二次运行开始,OpenCL设备的初始化日志不再显示,EA的日志中只有一个错误,EA不工作了。当重新启动终端时,带有正确的CLContextCreate(0) 命令的EA工作了--出现了一个超现实的海景同时,在初始化日志中出现同样的性能测试 错误,但在EA日志中 却没有出现。

钥匙稍有变化。

[HKEY_CURRENT_USER/Software/MetaQuotes Software]。

before - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,6c,2a,09,a4,b3,d8,e2,3f

после - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00,00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,98,6b,19,ab,41,5c,fd,3f

原则上,这种行为并不关键,如果你通过明确寻址和检查CL_DEVICE_TYPE符号来修复EA/脚本和绕过设备。甚至可以说,把任务分配给有自己等级的设备来管理会更好。出现初始化错误只是令人沮丧的事情。谁知道OpenCL接下来在战斗中会有什么表现。

请帮助我找到英特尔OpenCL应用的原始SDK 2016 R2来编写和测试内核用俄语给英特尔写信是没有用的;)

你为什么不尝试使用AMD SDK?

 
尝试升级到测试版2543
 
directx更稳定,但你必须为计算做很多工作,而且没有配音。
 
Ilyas:
尝试升级到测试版2543

测试版2545,发布版2560。

每当脚本第一次运行 时。

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 21)
OpenCL  device performance test started
OpenCL  test compilation failed with error: 
':9:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 
:10:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 
:11:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 
:12:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 
:13:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 
:20:4: error: use of type 'double' requires cl_khr_fp64 extension to b
                
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 21)
Scripts script Seascape (GBPUSD,H1) removed
当用CLContextCreate(CL_USE_GPU_ONLY)运行脚本 时。
Seascape (GBPUSD,H1)    OpenCL not found. Error=5114
 

我有类似的错误,但一年前在一个较弱的平板电脑上,它工作得很好。

OpenCL  device #0: GPU Intel(R) Corporation Intel(R) HD Graphics 400 with OpenCL 1.2 (12 units, 600 MHz, 1598 Mb, version 20.19.15.4364)
OpenCL  device #1: CPU Intel(R) Corporation  Intel(R) Atom(TM) x5-Z8550 CPU @ 1.44 GHz with OpenCL 1.2 (4 units, 1440 MHz, 4016 Mb, version 5.2.0.10094)
OpenCL  device performance test started
OpenCL  test compilation failed with error: '1:9:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:10:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:11:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:12:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:13:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 1:20:4: error: use of type 'double' requires cl_khr_fp64 extensio
OpenCL  device #0 performance test error: 'cannot create OpenCL program (5105)'
OpenCL  test compilation failed with error: 'Compilation started 2:9:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:10:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:11:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:12:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:13:25: error: use of type 'double' requires cl_khr_fp64 extension to be enabled 2:20:4: error: use of type 'double' requires 
OpenCL  device #1 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 400 with OpenCL 1.2 (12 units, 600 MHz, 1598 Mb, version 20.19.15.4364)
OpenCL  device #1: CPU Intel(R) Corporation  Intel(R) Atom(TM) x5-Z8550 CPU @ 1.44 GHz with OpenCL 1.2 (4 units, 1440 MHz, 4016 Mb, version 5.2.0.10094)
而现在,即使这样做也没有用。
void OnStart()
{
        Print(CLContextCreate( CL_USE_ANY ));
}

参数:CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - 结果:-1,错误代码。5115

参数为:0,1 - 结果为正数

 
aim-1:

测试版2545,发布版2560。

每当第一次运行 该脚本时。

当用CLContextCreate(CL_USE_GPU_ONLY)运行脚本 时。

你的卡不支持双重计算。

use of type 'double' requires cl_khr_fp64 extension to be enabled

由于巨大的四舍五入,你不能在金融计算中使用浮动数学,因此我们明确要求支持双重计算。

以前,我们允许在没有双倍的情况下激活OpenCL,但这并没有什么意义。

现在我们明确地限制它。

 
A100:

我有类似的错误,但一年前在一个较弱的平板电脑上,它工作得很好。

而现在,即使这样做也没有用。

参数:CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - 结果:-1,错误代码。5115

参数为:0,1 - 结果为正数

非常奇怪的是,Atom产生了关于双倍的相同错误。

我们将不得不去看看。

 
Renat Fatkhullin:

Atom 给出了同样的关于双倍的错误,这非常奇怪。

它也不支持双倍。

这本身就很奇怪,需要终端的这种支持...我的.cl文件完全没有双倍,我也没有用OpenCL进行精确的科学计算。

此外,这不是一个老式的Atom,而是一个带有独立GPU的现代Atom。

 
Renat Fatkhullin:

你的卡不支持重复计算

我们来问问设备本身。

void OnStart() {
   int clCtx=CLContextCreate(0);
   if(clCtx == -1) Print("ERROR in CLContextCreate");
   string str;
   if(CLGetInfoString(clCtx,CL_DEVICE_NAME,str))       Print("OpenCL device name: ",str);
   if(CLGetInfoString(clCtx,CL_DEVICE_EXTENSIONS,str)) Print("OpenCL device ext: ",str);
   CLContextFree(clCtx); }

坦克的回答。


OpenCL设备名称:Intel(R) HD Graphics 4400

OpenCL设备扩展。Cl_intel_accelerator Cl_intel_advanced_motion_estimation Cl_intel_ctz Cl_intel_3d11_nv12_media_sharing Cl_intel_dx9_media_sharing Cl_intel_motion_estimationcl_intel_simultaneous_sharing cl_intel_subgroups cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d10_sharing cl_khr_d3d11_sharingcl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomicscl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir


事实上,没有对cl_khr_fp64的支持

我在网上找不到带有缺乏双精度信息的英特尔高清图形4400 的官方数据表,以确保这不是一个驱动问题。

 

只有当它像这样--用左撇子的基准来确定显卡是否有FP64。

https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_HD-Graphics-4400

顺便说一下,Renata的图形协处理器似乎也没有FP64支持。

https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_UHD-Graphics-630

Renat,你可以运行我上面的脚本来确定你的IGP是否支持双精度?

如果是,那么就可以清楚地知道为什么你的性能测试是成功的。

也许可以尝试在CPU上将mqlrates数组 转换为int,然后再发送给OpenCL,将其乘以Digits 的选项。内存消耗减半。之后,玩玩向量,或者尽量不要在使用浮点数时出错。原则上,Digits+1指标的准确性应该是绰绰有余的。

如果一天中的1440分钟在前12位(或前2个字节),而日子在高位,那么Datetime也可以很容易地转换为int。int与double的速度提升应该足以覆盖内核 中自定义iTime-like函数的开销。

Главная
Главная
  • askgeek.io
Сравнительный анализ видеокарт Intel HD Graphics 515 и Intel UHD Graphics 630 по всем известным характеристикам в категориях: Общая информация, Технические характеристики, Видеовыходы и порты, Совместимость, размеры, требования, Поддержка API, Память, Поддержка технологий. Анализ производительности видеокарт по бенчмаркам: PassMark - G2D Mark...