Been asked before https://www.mql5.com/en/forum/9013
As i didn't developed MT5 i'd like to blindly say that the strategy tester may only benefit from "internally implementing OpenCL" when running a optimization process. I've ported a few of my programs to CUDA and the only applications that gained benefit were those with vector/matrix based work and those with data that needed preprocessing.
For optimization it is perfect because you need to run hundreds or thousends of series that do not need synchronization between them nor access to the same memory space (except for quotes). So, each series can run in its own gpu core. It would be blazing fast.
Now, imagine a single standard EA run in strategy tester. There's only one series, no more massive linear data processing to do outside the EA. One would think that the tester could process asynchronously each bar in a gpu core but that would still require synchronization between gpu processes because the latest bars processes need to know if a previous bar triggered an order or opened a position.
For the latter case, the strategy tester does not know anything about the EA internals, so the only optimizations with OpenCL in theses cases are the ones that only you can detect and implement in your code.
well I downloaded and installed CUDA and Nsight, and the cuda dll now appears in the settings.
Will Metatester auto implement this? what other tweaques must I make.
I have a 4.3Ghz Intel 5820 and a GTX 960 GPU.