OpenCL: MQL5'te dahili uygulama testleri - sayfa 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 )

Onlar. önce Intel OCL motorlu bir Intel CPU, sonra benim dinozor HD 4870'im ve sonra yine bir taş ama AMD motorlu . Senaryo:

Ve sürümler farklıdır, yani. sürüm demire bağlı değil mi?

OCL AMD 1.1'im var, bunu 1.2'de düzeltmenin bir yolu var mı? Belki daha akıllı hale gelir.

OCL 1.2 destekli yeni bir AMD APP SDK 2.7 buldum, indireceğim ve yeni sonuçlarla (eğer değişirlerse) geri yazacağım.

Teslim edildi, sürüm değişmedi. Muhtemelen donanım desteği falan yok.

 
fyords : Teslim edildi, sürüm değişmedi. Muhtemelen donanım desteği falan yok.

Olamaz. 1.2 kalkmalı. AMD, her şeyden önce taşlarıyla, sonra da yabancılarla ilgilenirdi. Ve başkalarının üstüne çıkıyor. Ve her iki üretici de uzun süredir SSE2 kullanıyor.

Ama fark küçük - belki yüzde 10.

 
Mathemat :

Olamaz. 1.2 kalkmalı. AMD, her şeyden önce taşlarıyla, sonra da yabancılarla ilgilenirdi. Ve başkalarının üstüne çıkıyor. Ve her iki üretici de uzun süredir SSE2 kullanıyor.

Ama fark küçük - belki yüzde 10.

Muhtemelen Windows'um "çöküyor". Son zamanlarda, güncellemeler çalışmayı durdurdu, şimdi "sürüm orijinal değil" diyorlar. Tamam, nefes alırken - bırakın nefes alsın. Sonra yeniden düzenleyeceğim ve hemen yeni bir OCL atacağım.

Ve SSE2 ve hatta daha fazlası. Elbette %10 çok değil ama yine de güzel.

Not: Açıklama için teşekkürler.

 
ilovebtc :

Örneğin, Radeon 6930 ekran kartım var, 1280 akış işlemcisi var. Temsilciler listesinde nasıl görüntülenecek? 1 cihaz veya tüm 1280 gibi.

Tek başına 10 işlemciden çok daha hızlıdır ve eklenen 1 cihaz için bonus kaybolmaz.

Video kartı mql ile yazılmış kodla çalışamaz. Yalnızca özel dillerde yazılmış kodlarla çalışabilir (bizim durumumuzda OpenCL). Bu nedenle, buluttaki video kartları yalnızca OpenCL-API kullanan mql programları için faydalı olacaktır (OpenCL'de ekler ile).

Tüm bunları anlıyorsanız - yorumuma dikkat etmeyin. Bana öyle geldi ki forumdaki bazı yoldaşlar OpenCL cihazlarını buluta bağlamaktan OpenCL kullanmayan en yaygın mql5 programlarının performansında bir artış bekliyor. Bu doğru değil.

 

Yüklü Intel ve 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) ________________________

Bu kötü mü yoksa iyi mi?

 
Manov : iyi mi kötü mü?

Bu 4,5 yıl önce piyasaya sürülen 2 çekirdekli bir mobil işlemci.

İlerleme durmuyor: Görünüşe göre yeni SSE talimatları ve diğer mimari yenilikler bunda hala ana rolü oynuyor. Bu görevdeki bütçem "güdük" 4-5 kat daha hızlı :)

Ancak OpenCL'de çok iyi bir kazanç sağlıyor. Her şey yolunda, olması gerektiği gibi.

 
Mathemat :

Bu 4,5 yıl önce piyasaya sürülen 2 çekirdekli bir mobil işlemci.

İlerleme durmuyor: Görünüşe göre yeni SSE talimatları ve diğer mimari yenilikler bunda hala ana rolü oynuyor. Bu görevdeki bütçem "güdük" 4-5 kat daha hızlı :)

Ancak OpenCL'de çok iyi bir kazanç sağlıyor. Her şey yolunda, olması gerektiği gibi.

Çok teşekkürler!

Büyük matematiksel hesaplamalar için OpenCL'yi tararsam, hesaplama süresinin 30+ kat daha az olacağını doğru anlıyor muyum?!?

 
Manov : Büyük matematiksel hesaplamalar için OpenCL'yi tararsam hesaplama süresinin 30+ kat daha az olacağını doğru anlıyor muyum?!?

Evet, yaklaşık olarak - ayrı bir kartta. Her neyse, HD 4870 cihazım aynı hesaplamaları 0,5 saniyede yapıyor.

Ancak, tüm yoğun hesaplamaların kendilerini makul bir ivmeye borçlu olmadığı anlaşılmalıdır.

 

Herkese iyi akşamlar.

Metatrader5'te OpenCL kullanımını anlamaya çalıştım ama işin özüne inemedim.

MT5 Tester'da testi daha da hızlandırmak için bir ekran kartı kullanıp kullanamayacağınızı ve bunun için ne yapılması gerektiğini söyleyin.

ben de parallel_tester_00-01x_new_cycle betiğini denedim ama nasıl çalışıyor??

 
vittt :

Herkese iyi akşamlar.

Metatrader5'te OpenCL kullanımını anlamaya çalıştım ama işin özüne inemedim.

MT5 Tester'da testi daha da hızlandırmak için bir ekran kartı kullanıp kullanamayacağınızı ve bunun için ne yapılması gerektiğini söyleyin.

ben de parallel_tester_00-01x_new_cycle betiğini denedim ama nasıl çalışıyor??

Bu sitede bu konuyla ilgili çok ayrıntılı iki makale var: