OpenCL: MQL5'te dahili uygulama testleri - sayfa 57

 
Benim durumumun gösterdiği gibi - hiç silmek gerekli değil. Kayıt defterinde gereksizleri devre dışı bırakmak yeterlidir.
 
joo : Benim durumumda da görüldüğü gibi silmeye hiç gerek yok. Kayıt defterinde gereksizleri devre dışı bırakmak yeterlidir.

Aslında evet.

Andrey , en azından sonuçları i5'inizde gösterin - temiz bir CPU'da. Senin için mutlu olacağım.

Dosyalar:
 
2012.04.21 21:22:59     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       CpuTime/GpuTime = 32.46979038224414
2012.04.21 21:22:59     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Result on Cpu МахResult==4.17098 at 469 pass
2012.04.21 21:22:59     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:22:59     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       CPU time = 26333 ms
2012.04.21 21:22:33     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Result on Gpu МахResult==4.17098 at 469 pass
2012.04.21 21:22:33     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:22:33     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       GPU time = 811 ms
2012.04.21 21:22:32     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       OpenCL init OK!


2012.04.21 21:24:18     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       CpuTime/GpuTime = 3.06352340030194
2012.04.21 21:24:18     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Result on Cpu МахResult==3.85664 at 271 pass
2012.04.21 21:24:18     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:24:18     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       CPU time = 26380 ms
2012.04.21 21:23:52     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Result on Gpu МахResult==3.85664 at 271 pass
2012.04.21 21:23:52     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       Соunt inticators = 16; Count history bars = 50000; Count pass = 512
2012.04.21 21:23:52     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       GPU time = 8611 ms
2012.04.21 21:23:43     ParallelTester_00-02-416x7x3j (GBPUSD,H4)       OpenCL init OK!
 

Hayır, bunlarda değil, son gönderiye eklediklerimde. Tam olarak üzerinde. Sonucumu bu komut dosyasına gönderiyorum:

2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 83.99644128113879
2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.26619 at 856 pass
2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 19:32:43    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23603 ms
2012.04.21 19:32:20    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.26619 at 856 pass
2012.04.21 19:32:20    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 19:32:20    ParallelTester_00-01x (EURUSD,H1)    GPU time = 281 ms
2012.04.21 19:32:19    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!
2012.04.21 19:32:19    ParallelTester_00-01x (EURUSD,H1)    CLGetInfoInteger() returned 1

İŞLEMCİ:

2012.04.21 17:51:14    OpenCL    CPU: Intel(R) Corporation  Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.1 (2 units, 2800 MHz, 8040 Mb, version 1.1)

Dosyalar:
 
2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	CpuTime/GpuTime = 118.7051282051282
2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	Result on Cpu МахResult==1.06083 at 993 pass
2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 21:38:41	ParallelTester_00-01x__1 (GBPUSD,H4)	CPU time = 18518 ms
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	Result on Gpu МахResult==1.06083 at 993 pass
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	GPU time = 156 ms
2012.04.21 21:38:23	ParallelTester_00-01x__1 (GBPUSD,H4)	OpenCL init OK!
2012.04.21 21:38:22	ParallelTester_00-01x__1 (GBPUSD,H4)	CLGetInfoInteger() returned 2

Garip, dosya adını şu şekilde görüyorsunuz:

paralleltester_00-01x.mq5 , ancak ParallelTester_00-01x__1.mq5 olarak kaydedildi


 2012.04 . 21 08 : 31 : 11      OpenCL  CPU: GenuineIntel  Intel(R) Core(TM) i5- 2500 CPU @ 3.30 GHz with OpenCL 1.2 ( 4 units, 3399 MHz, 8174 Mb, version 2.0 (sse2,avx))
 
joo :

Garip, dosya adını şu şekilde görüyorsunuz:

paralleltester_00-01x.mq5 , ancak ParallelTester_00-01x__1.mq5 olarak kaydedildi

Evet, garip bir şey yok. Sadece bu ada sahip bir dosya zaten var, bu yüzden __1 ekler. Andrey , ParallelTester_00-01x__1.mq5 testi nerede?

çok iyi olduğunu görüyorum. Beklediğimden biraz daha kötü (140-150 umuyordum), ama yine de çok iyi. Prensipte bu oranın %20-30 aralığında olması normaldir (özellikle GPU süresi küçükse). Bu arada, diyelim ki şunu yaparsak:

#define CountPass  1280 * 10

o zaman CpuTime / GpuTime ile ilgili olarak başka bir kayda güvenebilirsiniz. "Teorik sınırınız" 170-180 civarında bir şey. Her halükarda, neredeyse 90'ım var ve senin iki katın olmalı.

 

Mathemat :

#define CountPass 1280 * 10

o zaman CpuTime / GpuTime ile ilgili olarak başka bir kayda güvenebilirsiniz. "Teorik sınırınız" 170-180 civarında bir şey. Her halükarda, neredeyse 90'ım var ve senin iki katın olmalı.


Bu 1280*10'da:

 2012.04 . 21 23 : 31 : 24      ParallelTester_00- 01 x__1 (EURUSD,M5)    GPU time = 344 ms
2012.04 . 21 23 : 31 : 24      ParallelTester_00- 01 x__1 (EURUSD,M5)    Соunt indicators = 16 ; Count history bars = 144000 ; Count pass = 12800
2012.04 . 21 23 : 31 : 24      ParallelTester_00- 01 x__1 (EURUSD,M5)    Result on Gpu МахResult== 1.12991 at 9491 pass
2012.04 . 21 23 : 34 : 30      ParallelTester_00- 01 x__1 (EURUSD,M5)    CPU time = 185875 ms
2012.04 . 21 23 : 34 : 30      ParallelTester_00- 01 x__1 (EURUSD,M5)    Соunt indicators = 16 ; Count history bars = 144000 ; Count pass = 12800
2012.04 . 21 23 : 34 : 30      ParallelTester_00- 01 x__1 (EURUSD,M5)    Result on Cpu МахResult== 1.12991 at 9491 pass
2012.04 . 21 23 : 34 : 30      ParallelTester_00- 01 x__1 (EURUSD,M5)    CpuTime/GpuTime = 540.3343023255814

ve 1280*128'de beklemekten bıktım ve senaryoyu zorla kestim:

 2012.04 . 21 23 : 40 : 22      ParallelTester_00- 01 x__1 (EURUSD,M5)    GPU time = 2013 ms
2012.04 . 21 23 : 40 : 22      ParallelTester_00- 01 x__1 (EURUSD,M5)    Соunt indicators = 16 ; Count history bars = 144000 ; Count pass = 131072
2012.04 . 21 23 : 40 : 22      ParallelTester_00- 01 x__1 (EURUSD,M5)    Result on Gpu МахResult== 1.70906 at 99682 pass
2012.04 . 21 23 : 48 : 48      ParallelTester_00- 01 x__1 (EURUSD,M5)     Abnormal termination
 
Çıplak bir CPU üzerindeki hesaplamaları kastetmiştim. Tabii ki, ayrık haritada sayılar daha yüksektir.
 
OpenCL kullanarak hesaplamaların başlatılmasıyla ilgili herhangi bir haber var mı?
 
casinonsk : OpenCL kullanarak hesaplamaların başlatılmasıyla ilgili herhangi bir haber var mı?

Sonunda seni bekliyorduk. Denemeye hazırsanız, Intel OpenCL Runtime'ı yükleyin ( bağlantıdaki talimatlar).

Komut dosyasını içindeki hiçbir şeyi değiştirmeden çalıştırın ve önceki meslektaşlarınızın yaptığı gibi "Uzmanlar" sekmesinden günlüğü yükleyin. Senaryonun toplam uygulama süresi taş üzerinde yaklaşık 3 dakikadır, sabırlı olun. Aynı zamanda, OpenCL'nin en havalı çıplak taşlı Sandy Bridge'de nasıl çalıştığını öğreneceğiz.

Sabrınız yeterli değilse veya size bu yeteneklerinizin ötesinde görünüyorsa, sorun değil, kırılmayacağız.

PS Bu betiğin amacı, herhangi bir ayrık video ejderhası olmadan çıplak bir CPU'nun neler yapabileceğini görmektir. Intel Runtime doğru bir şekilde kurulursa, bu betiğin yaklaşık 200 veya biraz daha yüksek hızlanacağından şüpheleniyorum.

Dosyalar: