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

 

Released beta version of terminal 3913 built with AVX2 support. ONNX support is also with AVX2.

You can upgrade:

  • from MetaQuotes-Demo server to 3913 where the update mode on AVX2 will be enabled, and then wait for the next update 3914, which will already be on AVX2 version
  • or from 3913 web-installer, which will immediately install AVX2 if it is supported by the processor.

 
Who has AVX2, please share the numbers.
 
fxsaber #:
Who has AVX2, please share the numbers.

Upgraded to 3914. I didn't see any difference on the release. But there is 20-40% acceleration on debug. On profiling there is no performance change either.
I don't understand what I'm doing wrong. It seems that something was not completed.
On OpenCL I get maths acceleration by tens of times.

 
Renat Fatkhullin #:

Released beta version of terminal 3913 built with AVX2 support. ONNX support also with AVX2.

It is possible to upgrade:

  • from MetaQuotes-Demo server to 3913 where the update mode on AVX2 will be enabled, and then wait for the next update 3914, which will already be on AVX2 version
  • or from 3913 web-installer, which will immediately install AVX2 if it is supported by the processor.

And if 3914 came immediately on 3905, what does that mean?

 
Andrey Khatimlianskii #:

And if 3905 was immediately followed by 3914, what does that mean?

Wait for the next update.

Only on the second update there will be a transparent migration to AVX2 version.

 
Renat Fatkhullin #:

Wait for the next update.

Only on the second update there will be a transparent migration to AVX2 version.

Then these exe files will not run on other PCs (without AVX2 support )?

There is no option to upgrade without AVX2?

 
Andrey Khatimlianskii #:

Further, these exe files will not run on other PCs (without AVX2 support )?

Is there no option to upgrade without AVX2 ?

No.

You have to update locally for a specific set.

 

Great in theory. Terrible in reality. Now a whole bunch of regular users, who know nothing about this, suddenly can't compile and run our EAs. And to make matters worse, they are intolerant, i.e. what I compile and run on my desktop doesn't necessarily work on my trading server.

So how do I know which of the three AVX options to use?

 
Scott Allen #:

Génial en théorie. Horrible in réalité. Désormais, de nombreux utilisateurs ordinaires qui n'y connaissent rien ne peuvent soudainement plus compiler et exécuter nos EA. Et pour aggraver les choses, ils ne sont pas portables, c'est-à-dire que ce que je compile et exécute sur mon ordinateur ne fonctionne pas nécessairement sur mon serveur de trading.

Et comment puis-je savoir laquelle des trois options AVX utiliser ?

Why not make it so that several compilation options are packed into one compiled file with priority... There should be a future for such an option. But for now it's just a toy.

 

By default everything is compiled in normal X64 mode. For those who know nothing and compile downloaded programs as is, nothing will change.

For those who want to move forward, there are all possibilities. During two releases all terminals will be automatically divided into three versions: x64, avx and avx2 - it is written in the start banner of the terminal. For a couple of years terminals have been distributed in two versions: x64 and avx.

When distributing software, including the market, you should build the x64 version. The other versions are for your controlled use. Finding out what instruction set is in the vps server is not a problem.

On MetaTrader VPS Hosting, the last few servers without AVX2 support will be replaced with modern ones by the end of the week and you can migrate x64/avx/avx2 programs to our cloud without any problems. On third-party VPS just check CPU brand, use CPU-Z programme or see the start banner of the terminal.

Clearly switching to specialised versions of terminals for modern processors is a big and right step. We are seriously focused on improving the performance of the whole platform and now we are free to directly implement new optimisation methods without building crutches.

Reason: