使用第 3902 版的 AVX / AVX2 + FMA3 / AVX512 + FMA3 指令集编译 MQL5 程序 - 页 6

 

终点站

编辑器:


启动时在终端日志中:

2023.09.06 10:53:15.635 Terminal        MetaTrader 5 x64 build 3915 started for MetaQuotes Software Corp.
2023.09.06 10:53:15.635 Terminal        Windows 10 build 19045, 4 x Intel Core i3-7100  @ 3.90 GHz, AVX2, 10 / 15 Gb memory, 205 / 476 Gb disk, UAC, GMT+7


在编辑器设置中:


编译时在日志中:

0 errors, 0 warnings, 14 msec elapsed, cpu='X64 Regular'                1       1

为什么?使用 AVX2 的处理器,在编译设置中选择了 AVX2+FMA3,但编译时使用 X64 Regular....为什么?

 
Dmitry Fedoseev #:

为什么不能将多个编译选项打包到一个编译文件中,并优先....?未来一定会有这样的变体。但现在它只是一个玩具。

你不需要这个。X64 能用就行。为什么我需要检查所有四个变体,看看它们是否工作?我还记得 MQL x32 和 x64 有不同结果的时候

 
Artyom Trishkin #:

编译时也会出现日志:

为什么?使用 AVX2 的处理器,在编译设置中选择了 AVX2+FMA3,但却在 X64 常规下编译...为什么?

很可能您编译的是一个项目,而不是单个文件。

项目有自己的编译模式设置。

 
Renat Fatkhullin #:

为现代处理器开发专用版终端的明确举措是正确的一大进步。我们认真专注于提高整个平台的性能,现在我们可以自由地直接实施新的优化方法,而无需构建拐杖。

现在还不清楚如何保留以前版本的终端。

例如,在 AVX2-home 机器上,b3521 版本的终端发现了一个关键错误。我在本机上备份了以前的版本,以防在错误修复前临时回滚。

现在在 DDS 上(AVX2 不支持 DDS),战斗终端正在运行,并且安装了 b3521 版本,我急需回滚。本机的 AVX2-exe 文件无法使用。如何回滚!

 

增加了在工具栏中显示和选择编译模式的功能:


 
fxsaber #:

如何回滚?

请创建某种机制,在 LiveUpdate 启动时自动备份当前的 exe 文件。

 
Renat Fatkhullin #:

在发布软件(包括市场)时,您必须构建 x64 变体。

云代理呢?
 
Renat Fatkhullin #:

您编译的很可能是一个项目,而不是单个文件。

项目有自己的编译模式设置。

不,是单个 .mqh 文件

在编译 .mqh 文件中的类时,使用的是 X64 常规,但在编译附有类的 .mq5 文件时,一切正常:

0 errors, 0 warnings, 3318 msec elapsed, cpu='AVX2 + FMA3'              1       1
 
fxsaber #:
云代理呢?

在 MQL5 云网络中,EX5 的上限将是 AVX2,任务将自动分配给具有所需 CPU 集的代理。

也就是说,一切都将在几天内透明运行。明天我们将发布面向经纪人的开放测试版,一周后我们将发布正式版。

 
Renat Fatkhullin #:

在 MQL5 云网络中,EX5 的上限为 AVX2,任务将自动分配给具有所需 CPU 集的代理。

也就是说,一切都将在几天内透明运行。明天我们将发布面向经纪人的开放测试版,一周后我们将发布正式版。

没有 AVX2 的代理获得的任务会更少吗?如果在 AVX512 上编译 - 不能使用云?