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

 
Marat Sultanov:

Doesn't anyone use OpenCL in practical tasks? :)

OK. Sorry, are you like me, are you stuck because of this, or do you just want to know for general development?


I'm planning to use it in MQL5, so I decided to trace the subject
 

Great news :) Developers have discovered and fixed everything! Looking forward to the new build :)

Added: all fixed in 1586 build.

 

I see in the optimizer you can't have more than one local agent using OpenCL. This is unfortunate.

Dear developers:

1) What does error 5114 mean? This error was pulled from the agents that didn't want to use OpenCL. There is no description for this error in the help.

2) Will there be a way to enable multiple local agents with OpenCL in the optimizer in the future?

 
Marat Sultanov:

I see in the optimizer you can't have more than one local agent using OpenCL. This is unfortunate.

Dear developers:

1) What does error 5114 mean? This error was pulled from the agents that didn't want to use OpenCL. There is no description for this error in the help.

2) Will there be a way to enable multiple local agents with OpenCL in the optimizer in the future?


If there is a limit when using OpenCL in the tester, it would make sense to use OpenCL not from MQL5, but in an external dll in C++ where there are more options, including the library under OPenCL OOP
 
Konstantin:
If there are limitations when using OpenCL in the tester, it makes sense to use OpenCL not from MQL5, but in an external dll in C++ where you have more possibilities, including a library for OPenCL OOP

Of course you are. That's what I do. It's easier to use CUDA right away - for better coding convenience and performance.

But we are talking about native methods...

 
Marat Sultanov:

Of course you are. That's what I do. It's easier to use CUDA right away - for better coding convenience and performance.

But we are talking about native methods...

Unfortunately they still have unexplored rake, and I have little time to study them, so at the moment I'm looking towards CUDA and TensorFlow
 
Konstantin:
Unfortunately they still have unexplored rake, and I have little time to study them, so for now I'm looking towards CUDA and TensorFlow.

Yes, but everything in one place and natively :)

I'm generally satisfied with MQL5 implementation: everything is simple, optimal and there are minimum of bugs, and those bugs that are detected are fixed rather quickly and willingly. And the developers haven't neglected the development of this business, which is very encouraging. Now programmers are provided with extended resources and CL code writing has become much more convenient and faster.

CUDA is very appealing because of its optimisation for its cards and debugger, but still, it is not for wide market, where there are not less cards from amd.

TensorFlow, after all, is for machine learning, and it is more specific tasks. But it is an interesting technology, yes.

I've made conclusions for myself:

1) For universality and a wide market it is better to use OpenCL from MQL5.

2) If you are doing it for yourself with maximum output, do not use native CUDA.

 
Marat Sultanov:

Yes, but everything in one place and natively :)

I'm generally satisfied with MQL5 implementation: everything is simple, optimal and there are minimum of bugs, and those bugs that are detected are fixed rather quickly and willingly. And the developers haven't neglected the development of this case, which is very encouraging. Now programmers are provided with extended resources and CL code writing has become much more convenient and faster.

CUDA is very appealing because of its optimisation for its cards and debugger, but still, it is not for wide market, where there are not less cards from amd.

TensorFlow, after all, is for machine learning, and it is more specific tasks. But it is an interesting technology, yes.

I made conclusions for myself:

1) For universality and a wide market it is better to use OpenCL from MQL5.

2) If I want to work purely for myself with maximal yield, then not the native CUDA.

I agree about the developers but still OpenCL is not convenient to use in statistics calculations as a lot of code has to be ported to C, even if it is written in an external module or library. At least I haven't found solution for connecting alglib to it. TensorFlow has it all on board, but there is a pitfall, I have to write part of it in Phyton )) and of course limitation to use AMD cards.

Maybe somebody here will port Alglib into OpenCL functions.

 
Marat Sultanov:

I see in the optimizer you can't have more than one local agent using OpenCL. This is unfortunate.

Dear developers:

1) What does error 5114 mean? This error was pulled from the agents that didn't want to use OpenCL. There is no description for this error in the help.

2) Will there be a way to enable multiple local agents with OpenCL in the optimizer in the future?

  1. Error code 5114 was added very recently; it has not yet been added to Help.
    No suitable OpenCL devices were found among those that were available.
    This error may arise if you specify a context where only GPU devices are to be used while there are CPU devices available.
  2. One agent per OpenCL device, just like that.
 
Ilyas:
While you're at it, can you explain how to overcome this error?

Forum on trading, automated trading systems and strategy testing

Here's what you can do with OpenCL directly in MetaTrader 5 terminal without any DLL

fxsaber, 2017.04.14 14:49

First it says
2017.04.14 15:47:04.255 OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
And then 20 seconds later it says
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       OpenCL not found. Error code=5101
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       Error in OpenCL initialization. Error code=5101

There is no video card.