OpenCL: internal implementation tests in MQL5 - page 66

 

Mathemat:

2012.06.02 05:49:25     OpenCL  CPU: GenuineIntel  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.2 (2 units, 2793 MHz, 8040 Mb, version 2.0 (sse2))
2012.06.02 05:49:25     OpenCL  GPU: Advanced Micro Devices, Inc. ATI RV770 with OpenCL 1.0 (10 units, 780 MHz, 512 Mb, version CAL 1.4.1720)
2012.06.02 05:49:25     OpenCL  CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.1 (2 units, 2800 MHz, 8040 Mb, version 1.1)

I.e. Intel CPU first with Intel's OCL engine, then my dinosaur HD 4870, and then stone again but with AMD engine. Script:

The versions are different, i.e. is the version independent of the hardware?

I have OCL AMD 1.1, is there any way to fix it to 1.2? Maybe it will be faster.

Found new AMD APP SDK 2.7 with support for OCL 1.2, I will report new results (if changed).

I've installed it and the version has not changed. May be there is no hardware support or something else.

 
fyords: Put it in, the version hasn't changed. Probably no hardware support or something.

It can't be. It should be 1.2. First of all AMD would take care of its own stones, and then about other ones. It would stand up on those which are not its own. Also, both manufacturers have had SSE2 for a long time.

But the difference is not great, about 10%, maybe.

 
Mathemat:

It can't be. It has to be 1.2. At least AMD would take care of its own stones first of all and then about other people's ones. It would work on those which don't belong to it. Also, both manufacturers have had SSE2 for a long time.

But the difference is not great, about 10%, maybe.

I must be crashing. Recently updates stopped working and now it says "version not authentic". OK, as long as it's breathing, let it breathe. Then I'll reinstall and throw in a new OCL.

I have SSE2 and even more. Of course, 10% is not much, but it's still nice.

P.S.: Thanks for the clarifications.

 
ilovebtc:

For example, I have a Radeon 6930 graphics card which has 1280 stream processors. How will it show up in the agent list? As 1 device, or all 1280.

It is times faster by itself than 10 processors, and the bonus is not for 1 added device.

A graphics card cannot work with code written in mql; it can only work with code written in specialized languages (OpenCL in our case). Therefore, video cards in the cloud will only be useful for mql programs using OpenCL-API (with OpenCL inserts).

If you understand all of this, ignore my comment. It just seemed to me that some people on the forum are expecting a boost in productivity of most common mql5 programs that do not use OpenCL to connect to the cloud. This is not the case.

 

Installed Intel and AMD SDK.

2012.06.07 18:40:28 OpenCL CPU: Intel(R) Corporation Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.1 (2 units, 2100 MHz, 2045 Mb, version 1.1)

2012.06.07 18:40:28 OpenCL CPU: GenuineIntel Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz with OpenCL 1.2 (2 units, 2094 MHz, 2045 Mb, version 2.0 (sse2)) 

2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) =======================================
2012.06.07 18:40:55 vect_v2_all_devices (EURUSD,H1) OCL martices mul:         ROWS1 = 2000; COLSROWS = 2000; COLS2 = 2000
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) CPUTime = 548.515
2012.06.07 18:50:04 vect_v2_all_devices (EURUSD,H1) ---------------
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) Device = 0: time = 15.975 sec.
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 34.336
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1571,356 ) = 2.88011026;    thirdCPU[ 1571,356 ] = 2.88011026;    buf[ 1571,356 ] = 2.88010764
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 791,407 ) = 1.36050534;    thirdCPU[ 791,407 ] = 1.36050534;    buf[ 791,407 ] = 1.36050797
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1920,1928 ) = 2.97455144;    thirdCPU[ 1920,1928 ] = 2.97455144;    buf[ 1920,1928 ] = 2.97455001
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 386,216 ) = -1.05270028;    thirdCPU[ 386,216 ] = -1.05270028;    buf[ 386,216 ] = -1.05269444
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 158,1896 ) = 2.30077577;    thirdCPU[ 158,1896 ] = 2.30077577;    buf[ 158,1896 ] = 2.30077529
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1403,1477 ) = 5.44755507;    thirdCPU[ 1403,1477 ] = 5.44755507;    buf[ 1403,1477 ] = 5.44755411
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 190,97 ) = -0.19755134;    thirdCPU[ 190,97 ] = -0.19755134;    buf[ 190,97 ] = -0.19754831
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 694,1569 ) = 5.30565643;    thirdCPU[ 694,1569 ] = 5.30565643;    buf[ 694,1569 ] = 5.30566406
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 1084,703 ) = -0.40982622;    thirdCPU[ 1084,703 ] = -0.40982622;    buf[ 1084,703 ] = -0.40982300
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) sum( 613,1814 ) = -2.08050942;    thirdCPU[ 613,1814 ] = -2.08050942;    buf[ 613,1814 ] = -2.08050990
2012.06.07 18:50:22 vect_v2_all_devices (EURUSD,H1) ________________________
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) read = 4000000 elements
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) Device = 1: time = 14.868 sec.
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) CPUTime / GPUTotalTime = 36.892
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 726,1509 ) = -3.87149954;    thirdCPU[ 726,1509 ] = -3.87149954;    buf[ 726,1509 ] = -3.87148523
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 408,1551 ) = -3.54236746;    thirdCPU[ 408,1551 ] = -3.54236746;    buf[ 408,1551 ] = -3.54237366
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 837,1133 ) = -1.46401167;    thirdCPU[ 837,1133 ] = -1.46401167;    buf[ 837,1133 ] = -1.46400595
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1885,1406 ) = 3.41383481;    thirdCPU[ 1885,1406 ] = 3.41383481;    buf[ 1885,1406 ] = 3.41383505
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 419,930 ) = -2.05204225;    thirdCPU[ 419,930 ] = -2.05204225;    buf[ 419,930 ] = -2.05204272
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 895,1065 ) = 2.29360199;    thirdCPU[ 895,1065 ] = 2.29360199;    buf[ 895,1065 ] = 2.29360104
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1687,1449 ) = 2.12151670;    thirdCPU[ 1687,1449 ] = 2.12151670;    buf[ 1687,1449 ] = 2.12152243
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1227,1863 ) = 4.48004580;    thirdCPU[ 1227,1863 ] = 4.48004580;    buf[ 1227,1863 ] = 4.48004818
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 1545,234 ) = 2.60638309;    thirdCPU[ 1545,234 ] = 2.60638309;    buf[ 1545,234 ] = 2.60638452
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) sum( 446,1500 ) = -8.61246967;    thirdCPU[ 446,1500 ] = -8.61246967;    buf[ 446,1500 ] = -8.61247253
2012.06.07 18:50:38 vect_v2_all_devices (EURUSD,H1) ________________________

Is it good or bad?

 
Manov: Is that bad or good?

Well, it is a 2-core mobile processor, released 4.5 years ago.

Progress is still going on: it seems that new SSE instructions and other architectural innovations play the main role in it. My budget stump is 4-5 times faster in this task :)

But it gives a very good gain on OpenCL. It's OK, that's about how it should be.

 
Mathemat:

Well it's a 2 core mobile processor released 4.5 years ago.

Progress is not standing still: it seems that new SSE instructions and other architectural innovations play a major role in it. My budget stump is 4-5 times faster in this task :)

But it gives a very good gain on OpenCL. It's OK, that's about how it should be.

Thank you very much!

Do I understand correctly that for large math calculations, if I crawl OpenCL, the time to calculate will be 30+ times less ?!?

 
Manov: Do I understand correctly that if I use OpenCL for large math calculations the runtime will be 30+ times less?

Well yeah, roughly - on a discrete card. Anyway, my HD 4870 does the same calculations in 0.5 seconds.

But it should be understood that not all intensive calculations lend themselves to decent acceleration.

 

Evening all.

Tried to understand the use of OpenCL in Metatrader5, but couldn't get into the bottom of it.

Can you tell me if it is possible to use video card for additional acceleration of testing in MT5 Tester and what to do for that.

I also tried the script parallel_tester_00-01x_new_cycle, but how does it work ?

 
vittt:

Evening all.

Tried to understand the use of OpenCL in Metatrader5, but couldn't get into the nitty gritty of it.

Can you tell me if it is possible to use video card for additional acceleration of testing in MT5 Tester and what to do for that.

I also tried the script parallel_tester_00-01x_new_cycle, but how does it work ??

There are two great articles on this site on this topic, which describe everything in great detail: