Compilation of MQL5 programmes with AVX / AVX2 + FMA3 / AVX512 + FMA3 instruction set from build 3902 - page 6

 

Terminal:

Editor:


On startup in the terminal log:

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


In the editor settings:


And at compile in the log:

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

Why? Processor with AVX2, in compile settings AVX2+FMA3 is selected, but compiles in X64 Regular.... Why?

 
Dmitry Fedoseev #:

Why not make it so that several compilation options are packed into one compiled file with priority.... There must be a future for such a variant. But for now it is just a toy.

You don't need this. X64 works and that's fine. Why do I need to check all four variants to see if they work? I still remember times when MQL x32 and x64 had different results

 
Artyom Trishkin #:

And when compiling in the log:

Why? Processor with AVX2, in compilation settings AVX2+FMA3 is selected, but it compiles in X64 Regular... Why?

Most likely, you are compiling a project and not a single file.

Projects have their own personal compilation mode settings.

 
Renat Fatkhullin #:

The clear move to specialised versions of terminals for modern processors is a big and correct step. We are seriously focused on improving the performance of the entire platform and now we are free to directly implement new optimisation methods without building crutches.

It's not clear how to keep previous versions of terminals now.

For example, on the AVX2-home machine, a critical bug was found in release terminal b3521. I had backups of previous versions on my home machine in case of a temporary rollback until the bug was fixed.

And now on DDS (AVX2 does not support it), where combat terminals are running and release b3521 is installed, I need to rollback urgently. AVX2-exe-files from home machine will not work. How to rollback!

 

Added showing and selecting compilation mode right in the toolbar:


 
fxsaber #:

How do you roll back?!

Please create some mechanism that would automatically backup current exe-files when LiveUpdate starts.

 
Renat Fatkhullin #:

When distributing software, including the market, you have to build the x64 variant.

And for cloud agents?
 
Renat Fatkhullin #:

You are most likely compiling a project, not a single file.

Projects have their own personal compilation mode settings.

No, a single .mqh file

UPD. When compiling classes in the .mqh file, yes, X64 Regular is used, but when compiling .mq5 to which the file with classes is attached, everything is fine:

0 errors, 0 warnings, 3318 msec elapsed, cpu='AVX2 + FMA3'              1       1
 
fxsaber #:
And for cloud agents?

In MQL5 Cloud Network, the upper limit for EX5 will be on AVX2 and tasks will be automatically distributed to agents with the required CPU set.

That is, everything will work transparently in a couple of days. Tomorrow we are releasing an open beta for brokers, and in a week we will have a release.

 
Renat Fatkhullin #:

In MQL5 Cloud Network, the upper limit for EX5 will be on AVX2 and tasks will be automatically distributed to agents with the required CPU set.

That is, everything will work transparently in a couple of days. Tomorrow we are releasing the open beta for brokers, and in a week we will have the release.

Will agents without AVX2 get less assignments? If compiled on AVX512 - can't use the cloud?