Küresel bir komplonun destekçilerine ve tam paranoyaklara, ya da sadece fiyatı kontrol etmeyi sevenlere adanmıştır! ;) - sayfa 7

 
Mathemat :
Evet, GPGPU hesaplamalarıyla övünmeye karar verdim. Ve nasıl - bir hızlanma var mı?

Hızlanma nereden geliyor? Tampona kopyalamak hesaplamaktan daha fazla zaman alır.

Bu böyle, bir balta örneği. Hızlanma, hesaplama nispeten ağır olduğunda olacaktır.

Şu anda, tarih boyunca belirli bir kalıp seti (paralel 512 kalıp) ile korelasyonu hesaplamak için bir script ekliyorum, burada yüz kat kazanç olacak (tahminlere göre). Bir otopsi gerçekten nasıl olacağını gösterecek.

 

Ve son olarak, övünmüyorum, OpenCL'i popülerleştiriyorum. Burada! :)

Ayrıca, harika.

 
Mathemat :

Ve nasıl - bir hızlanma var mı?

Yazz'dan !!

 2012.03 . 02 01 : 15 : 10      Tester- 512 _Test_001 (EURUSD,M1) СPU time = 7223 ms
2012.03 . 02 01 : 15 : 10      Tester- 512 _Test_001 (EURUSD,M1) Result on Cpu МахResult== 1.01871 at 49 pass
2012.03 . 02 01 : 15 : 03      Tester- 512 _Test_001 (EURUSD,M1) GPU time = 312 ms
2012.03 . 02 01 : 15 : 03      Tester- 512 _Test_001 (EURUSD,M1) Result on Gpu МахResult== 1.01871 at 49 pass
2012.03 . 02 01 : 15 : 02      Tester- 512 _Test_001 (EURUSD,M1) OpenCL init OK!

Sonuç aynı (doğruluğunu kontrol ediyor), ancak zaman çok farklı. Bu durumda, fark 23 kattır. Sonuçta - buna değdi.

144.000 bar, tek geçişte 512 geçiş tarihi boyunca tek katmanlı bir algılayıcı çalıştırdım. Beğendim.. ;)

 
MetaDriver : Bu durumda 23 kat fark var. Sonuçta - buna değdi.
Ne kadar sağlıklı!
 
Mathemat :
Ne kadar sağlıklı!

Görünüşe göre, tipik zaman biraz daha iyi. Tekrarlara bakın:

 2012.03 . 02 01 : 26 : 59      Tester- 512 _Test_001 (EURUSD,M1) СPU time = 7238 ms
2012.03 . 02 01 : 26 : 59      Tester- 512 _Test_001 (EURUSD,M1) Result on Cpu МахResult== 1.80004 at 320 pass
2012.03 . 02 01 : 26 : 51      Tester- 512 _Test_001 (EURUSD,M1) GPU time = 281 ms
2012.03 . 02 01 : 26 : 51      Tester- 512 _Test_001 (EURUSD,M1) Result on Gpu МахResult== 1.80004 at 320 pass
2012.03 . 02 01 : 26 : 51      Tester- 512 _Test_001 (EURUSD,M1) OpenCL init OK!
2012.03 . 02 01 : 26 : 48      Tester- 512 _Test_001 (EURUSD,M1) СPU time = 7270 ms
2012.03 . 02 01 : 26 : 48      Tester- 512 _Test_001 (EURUSD,M1) Result on Cpu МахResult== 1.48404 at 207 pass
2012.03 . 02 01 : 26 : 41      Tester- 512 _Test_001 (EURUSD,M1) GPU time = 281 ms
2012.03 . 02 01 : 26 : 41      Tester- 512 _Test_001 (EURUSD,M1) Result on Gpu МахResult== 1.48404 at 207 pass
2012.03 . 02 01 : 26 : 41      Tester- 512 _Test_001 (EURUSD,M1) OpenCL init OK!

25 defadan fazla. Hatta çok evet. :)

8. giriş nöronuydu. Ve şimdi 16 girişi kontrol edin:

 2012.03 . 02 01 : 32 : 32      Tester- 512 _Test_001 (EURUSD,M1) СPU time = 14618 ms
2012.03 . 02 01 : 32 : 32      Tester- 512 _Test_001 (EURUSD,M1) Result on Cpu МахResult== 1.22936 at 78 pass
2012.03 . 02 01 : 32 : 18      Tester- 512 _Test_001 (EURUSD,M1) GPU time = 327 ms
2012.03 . 02 01 : 32 : 18      Tester- 512 _Test_001 (EURUSD,M1) Result on Gpu МахResult== 1.22936 at 78 pass
2012.03 . 02 01 : 32 : 17      Tester- 512 _Test_001 (EURUSD,M1) OpenCL init OK!
2012.03 . 02 01 : 32 : 01      Tester- 512 _Test_001 (EURUSD,M1) СPU time = 14618 ms
2012.03 . 02 01 : 32 : 01      Tester- 512 _Test_001 (EURUSD,M1) Result on Cpu МахResult== 1.21085 at 143 pass
2012.03 . 02 01 : 31 : 46      Tester- 512 _Test_001 (EURUSD,M1) GPU time = 327 ms
2012.03 . 02 01 : 31 : 46      Tester- 512 _Test_001 (EURUSD,M1) Result on Gpu МахResult== 1.21085 at 143 pass
2012.03 . 02 01 : 31 : 46      Tester- 512 _Test_001 (EURUSD,M1) OpenCL init OK!

Fark zaten 45 kat.

Her şey doğru - hesaplama ne kadar zorsa, sabit genel masraflar o kadar az olur (dizileri ileri geri aktarma).

 

Ve bu paralel olarak 1024 geçiş:

 2012.03 . 02 01 : 45 : 04      Tester- 512 _Test_001 (EURUSD,M1) СPU time = 29282 ms
2012.03 . 02 01 : 45 : 04      Tester- 512 _Test_001 (EURUSD,M1) Result on Cpu МахResult== 0.73802 at 802 pass
2012.03 . 02 01 : 44 : 35      Tester- 512 _Test_001 (EURUSD,M1) GPU time = 327 ms
2012.03 . 02 01 : 44 : 35      Tester- 512 _Test_001 (EURUSD,M1) Result on Gpu МахResult== 0.73802 at 802 pass
2012.03 . 02 01 : 46 : 36      Tester- 512 _Test_001 (EURUSD,M1) СPU time = 29265 ms
2012.03 . 02 01 : 46 : 36      Tester- 512 _Test_001 (EURUSD,M1) Result on Cpu МахResult== 1.58618 at 821 pass
2012.03 . 02 01 : 46 : 06      Tester- 512 _Test_001 (EURUSD,M1) GPU time = 328 ms
2012.03 . 02 01 : 46 : 06      Tester- 512 _Test_001 (EURUSD,M1) Result on Gpu МахResult== 1.58618 at 821 pass
2012.03 . 02 01 : 46 : 06      Tester- 512 _Test_001 (EURUSD,M1) OpenCL init OK!

Dikkat edin - GPU'da hiçbir fark yoktur (1280 çekirdek vardır, yani tüm görev tek geçişe sığar).

CPU'yu kontrol etmek elbette sırayla yapılır.

Böylece, istenen kahyaya neredeyse ulaşıldı: fark 89.5474 kat (!)

 

Evet, döngü içindeki ağır hesaplamalar OpenCL için en iyisidir.

Sizin veya bir arkadaşınızın ortalıkta A8-3850 tabanlı bir bilgisayarı var mıydı? Bu arada 400 grafik boru hattına (entegre) sahiptir!

 
Mathemat :

Sizin veya bir arkadaşınızın ortalıkta A8-3850 tabanlı bir bilgisayarı var mıydı? Bu arada 400 grafik boru hattına (entegre) sahiptir!

Herhangi bir şeyi karıştırıyor musun? Burada http://kazan.kompiko.info/priceshop.php?desc_id=111255 buldum

Özel bir şey yok gibi görünüyor, dört çekirdek sadece gu-gu olmayan konveyörle ilgili bir şey.

 

Veburada , taşın açıklamasında okudunuz. Bu çakıl taşının (daha doğrusu GPU kısmının) OpenCL'yi desteklemediğinden kesinlikle şüpheliyim.

CPU açısından, gökten yıldız taşı yeterli değil. Ancak bütünlüğü dikkate değerdir ve "iyi" durumlarda, herhangi bir ayrı video canavarı yüklemeden onlarca kez hızlanmaya tam olarak güvenebilirsiniz. Neden ekonomik bir süper bilgisayar olmasın?

Ve "beş" - böyle ve çok çekirdekli bir taşın gücünün neredeyse işe yaramaz olduğu ortaya çıktı. Elbette optimizasyon dışında - ve bu bile koşullu: Optimizasyon günlerce devam ederse, 4 veya 6 çekirdeğe sahip olmanız size ne fark eder? İş buna gelirse - Cloud'u en hızlı dürüst çift çekirdekli Celeron G530'da olmasa bile çalıştırın...

Not Bu arada AMD hayranı değilim. Tüm bu AMD olaylarının nihayetinde nereye varacağını bulmaya çalışıyorum.

 

Volodya , lütfen bu betiği çalıştır ve sonuçları bildir.

Yardım için MQL5'e teşekkürler.

Dosyalar: