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

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Renat Fatkhullin how do i contact you to discuss the possibility of writing in MQL5+OpenCL. i need to use the processing power of video cards. if i understand correctly, then using an example from practice: the written robot optimises only 11 parameters by 3 machines connected via local network, the period is only 1 year 6 hours. i tried to charge 5 years optimization with a full search of data, it showed me that 2 months have to wait.If I have understood correctly, OpenCL will solve the problem. The speed should increase by hundreds of times, since the calculations will not involve processors but video cards. It means that taking into account the entire trading system, there will be about 200-300 parameters in the settings.
OpenCL calculations are not involved in parallelization of the optimization process.
With OpenCL, you can calculate a specific part of the algorithm faster and in parallel. We have many articles and discussions on OpenCL.
What's stopping you from buying a bigger card?
some A100https://www.nvidia.com/ru-ru/data-center/a100/
It's been said and done.
X2-X3 acceleration from previous calculations on Gforce RTX2080 TI
But there's a separate point for anyone testing neural network models in the tester.
OpenCl does not allow for multi-threaded access if there are more than 10-12 processes (agents).
Especially if multiple neural networks are created simultaneously to analyze different data with a merge in one.
And despite the fact that the server now has 96 logical processors, we have to use 12.
Therefore it is more profitable to have several old computers from the network, probably cheaper by many times.
Separately, I would like to mention a separate opportunity to install AMD SDK which allowed to use CPUs with OpenCL.
Now, there are 96 devices ready to perform a task at the same speed, but not depending solely on card power.
However, the OpenCl library had to be corrected because the device selection process
CLContextCreate(CL_USE_ANY)
does not allow to understand which device is currently loaded.
And selecting GPU only or CPU only doesn't allow to use both options at the same time.
To solve this problem I made a test of each card for current computation speed,
using this interesting example to simulate computation (nice)
https://www.mql5.com/ru/code/825
In the library code it is embodied like this
in the EA code
In the OpenCL library, take into account the possibility of selecting the device
In tomorrow's release we are releasing in-house matrix/vector data types for use in machine learning.
The code of MQL5 programs will become much simpler and allow us to implement a large set of mathematical operations.
This is the first generation of functionality and then we will implement more complex mechanisms to implement the capabilities of such packages as TensorFlow. OpenCL will come in handy for this.
What is the point of all this multithreading for a neural network, when a passage of a new epoch should be based on the results of the previous passage. And all the parallel threads will only repeat the results of the first one. And in the end they will deposit the results into one file. Overwriting the results of the previous thread but in essence without changing the value...
Renat exclaims and you whine. How old are you?
Slightly corrected the library, made it more beautiful