Here's what you can do with OpenCL directly in MetaTrader 5 without any DLLs - page 3

 
can doom be run in the mt5 window?
 

The corrected code is reposted. Works even on CPU.

We released OpenCL in MetaTrader 5 back in February 2012 in build 581. Now both OpenCL itself and the hardware support are at an acceptable level and we have returned to the subject of using OpenCL in mathematics and graphics.

 
Alexey Volchanskiy:
Renat said a long time ago that OpenCL works in the MT5 tester, but only on the local machine, not in the cloud. So, use it at least now.
Well, there is no GP kernel in the standard tester yet, all agents are CPU-only.
 

So still, how are things with multitasking? No one has answered.

  1. If several EAs are running in one terminal, can they share and use OpenCL independently?
  2. It is the same with multiple terminals.

 
Vitalie Postolache:
Well, in the standard kernel tester GPs do not work in any way, all agents are CPU-only.
They work in the standard tester in the local agents.
 
Alexey Volchanskiy:

So still, how are things with multitasking? No one has answered.

  1. If several EAs are running in one terminal, can they share and use OpenCL independently?
  2. It is the same with multiple terminals.

Yes, everything works within the limits of resource adequacy.
 
Vitalie Postolache:
Well, in the standard tester the GP cores don't work in any way yet, all the agents are CPU only.
Thanks for the information, is that right? Then I don't really need OpenCL yet.
 
Vitalie Postolache:
Well, if not only 8-16 CPU cores, but thousands of GP cores will be used for optimization, it will be a performance explosion. If such a possibility will be implemented of course.
Alexey Volchanskiy:
Renat has long said that OpenCL works in the MT5 tester but only on a local machine, not in the cloud. So, use it at least now.

The usual optimization involves passing a copy of the EA to each agent, i.e. it is paralleling at the level of the whole EA.

And only part of logic can be sent to GPU that can be paralleled from EA, a copy of EA cannot be sent to GPU. I.e. only part of the EA logic from each of the copies on the local agents can be sent to the "thousands of GP cores".

Thus, simply specifying GP cores as agents for any EA will not work.

 
Renat Fatkhullin:
Working in standard tester in local agents.
Why do I see only CPU cores (Core i5, 8 cores - 8 agents) when optimizing, when I have NVIDIA 780GTX?
 
Andrey Dik:

The usual optimization involves passing a copy of the EA to each agent, i.e. it is paralleling at the level of the whole EA.

And only part of logic can be sent to GPU that can be parallelized from EA, a copy of EA cannot be sent to GPU. I.e. only part of the EA logic from each of the copies on the local agents can be sent to the "thousands of GP cores".

Thus, simply specifying GP cores as agents for any EA will not work.

Yes, I am a bit familiar with OCL, I am aware of that. So, you don't have to load the entire EA in the map, just let the parallel code fragments be loaded; they, as a rule, represent a percentage of the whole code.