Discussion of article "How to Install and Use OpenCL for Calculations"

 

New article How to Install and Use OpenCL for Calculations is published:

It has been over a year since MQL5 started providing native support for OpenCL. However not many users have seen the true value of using parallel computing in their Expert Advisors, indicators or scripts. This article serves to help you install and set up OpenCL on your computer so that you can try to use this technology in the MetaTrader 5 trading terminal.

How to Install and Use OpenCL for Calculations

What is OpenCL?

OpenCL is the open standard for parallel programming developed by the Khronos Group consortium in 2008. This standard allows you to develop applications that could be run in parallel on GPUs or CPUs with different architecture in a heterogeneous system.

In other words, OpenCL makes it possible to utilize all CPU cores or GPU's enormous computing capacity when calculating a task, thus reducing program execution time. Use of OpenCL is therefore very beneficial when dealing with tasks associated with laborious and resource consuming computations.

For example, speaking of MQL5, performance gain can be very rewarding when handling a certain script (indicator or Expert Advisor) that performs a complex and lengthy analysis of historical data by several symbols and time frames (it should be noted here that a MQL5 program that is intended to employ parallel execution should be written in a special way using OpenCL API).

Author: MetaQuotes

 
if metatester agent (cloud) can use this as well
 
doshur:
if metatester agent (cloud) can use this as well
Not available.
 

Could anyone attach the OpenCL 1.1 drivers for Nvidia?

It seems the Nvidia has removed the OpenCL support for version 1.1

Thank you. 

OpenCL: The Bridge to Parallel Worlds
OpenCL: The Bridge to Parallel Worlds
  • 2012.06.01
  • Sceptic Philozoff
  • www.mql5.com
In late January 2012, the software development company that stands behind the development of MetaTrader 5 announced native support for OpenCL in MQL5. Using an illustrative example, the article sets forth the programming basics in OpenCL in the MQL5 environment and provides a few examples of the naive optimization of the program for the increase of operating speed.
 
PCWalker:

Could anyone attach the OpenCL 1.1 drivers for Nvidia?

It seems the Nvidia has removed the OpenCL support for version 1.1

Thank you. 

And what version of OpenCL does it support then ?
 
angevoyageur:
And what version of OpenCL does it support then ?

Only version 1.0, If anyone had the file of version 1.1, please attach the file to this discussion.

Thank you. 

 
PCWalker:

Could anyone attach the OpenCL 1.1 drivers for Nvidia?

It seems the Nvidia has removed the OpenCL support for version 1.1

Thank you. 

I do not think that is correct.

I have an Nvidia 8600m GT card which prior to the MT5 upgrade to build 803 worked with MT5 for OpenCL. After the 803 build in April MT5 reported that it could not find OpenCL and if I use the pre-803 build it still works.

I made sure that I had the latest Nvidia drivers but that made no difference. I logged a call with the metaquotes service desk and they stated that MT5 no longer supports version 1.0 OpenCL.

Personally I find that difficult to understand these things are nearly always backward compatible and I cannot find anything about version 1.0 not being so. But in fairness Nvidia do not state what versions the cards support, they just say that if it is cuda enabled then it works and the 8600m GT is so.

Reality is that it no longer works for whatever reason and that is down to MT5 as it was working before the 803 build, it maybe how they have implemented it or a backward compatibility issue I will probably never know.

 

 

 
MaxTrader:


Which version of OpenCL driver do you have? 

 
PCWalker:

how to tell?  

I am using the latest Nvidia drivers  GeForce 320.18 

In the directory Nvidia\OpenCL  there is  OpenCL.dll & OpenCL64.dll both are version 1.0.0.0 from Khronos

 
i want no how to set lot size
 
MaxTrader:

how to tell?  

I am using the latest Nvidia drivers  GeForce 320.18 

In the directory Nvidia\OpenCL  there is  OpenCL.dll & OpenCL64.dll both are version 1.0.0.0 from Khronos

So, How does the MT5 detect your openCL driver when they are version 1.0, and with my MT5, it doesn't accept OpenCL drivers 1.0?

Thank you. 

Reason: