OpenCL: MQL5'te dahili uygulama testleri - sayfa 25

 
Ashes :

2012.03.05 17:43:16 Terminal CPU: OrijinalIntel Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz, OpenCL 1.1 (4 ünite, 3092 MHz, 4008 Mb, sürüm 2.0)

2012.03.05 17:45:23 ParallelTester_00-01x (EURUSD,M1) CpuTime/GpuTime = 0.7347677666287369

[...] Belki "yanlış sistemin el bombaları"na sahibim? (AMD SDK sürümü açısından)

Mükemmel. İnternette bulduğum en sıradan dükkandan bir taş, bir anne, bir hatıra ve bir soğutucu aldım. Hep birlikte yaklaşık 6 tükürük maliyeti. Muhtemelen yanlışlıkla gelecekten bir çakıl taşı attı.

Belki de gerçekten hepsi SDK ile ilgilidir. Bellek için günah işlemeye değmez, varsayılan olarak yalnızca DDR-III'tür. Ve tek kanallı olsun ya da olmasın - tabii ki etkiliyor, ama o kadar da korkunç değil.

 
Mathemat :

İlginç. Fiyordların daha güçlü bir haritası var (GeForce GT 440) ve hesaplama süresi bir büyüklük sırası daha uzun. ...

Ve ilginç bir şekilde, hesaplamaların hızı çözünürlüğe bağlıdır (1920x1080'im var), çünkü masaüstü de bir şeyler yiyor (Aero teması)?

Belki de bu yüzden hesaplamalar için daha fazla zamana ihtiyaç vardır.

 
fyords : Ve ilginç bir şekilde, hesaplamaların hızı çözünürlüğe bağlıdır (1920x1080'im var), çünkü masaüstü de bir şeyler yiyor (Aero teması)?

Evet mümkün. Aero Windows Deneyim Dizini sizin için ne gösteriyor? İşte bende:


Genel olarak, kapattım, fiyonklu bu fitillere ihtiyacım yok.

Not Kontrol Edildi. Hiç etkilemiyor.

 

Son test (3 Aralık 2011) normal bir şekilde geçti, ancak şimdi bir tür aksaklık ortaya çıkıyor, ancak video için puan 6.8. Belki de sorun budur (bir aksaklıkta). Demir yeni koymadı. Belki sorun yeni yakacak odundur, o zaman yeni bir sürüm bekleyeceğim, orada testi tekrar yapacağım.

 

x32

x32

x64

x64

işlemci-z

1

2

 

Aptalca genetik eklendi ve maksimizasyona sabitlendi. Sonuç, açık fiyatlarla (girişte 16 gösterge) beş dakikalık periyotlarda 500 günlük geçmişe eşdeğer simüle edilmiş veriler üzerinde tek katmanlı bir retronu ayarlayan bir optimize edicidir.

Lütfen test edin.

Bu konuda, optimize edici testi yeterince eklendiğinden, kampanyanın başarıyla tamamlandığını düşünüyorum. ;)

Kim yavaşlar (diğerlerine kıyasla) - şimdi ne için tasarruf edeceğinizi biliyorsunuz ;-)

Yani sonuçlarım:

 2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Full time of optimization == 14 sec 305 ms
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Optimization is closing. Best result == 1.91356 at 92 generation.
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 92 : MaxResult== 1.91356
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 91 : MaxResult== 1.91356
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 90 : MaxResult== 1.91356
2012.03 . 06 03 : 44 : 23      ParallelOptimazer_00- 02 (EURUSD,M30)    Generation 89 : MaxResult== 1.91356
.............
.........

Son kez, parmaklarımla açıklıyorum: bu, ilkel bir sinir ağı uzmanını optimize etmenin tam bir döngüsü.

// Neredeyse bir uzman. Bu "uzman" kodunda ek hesaplamalar, böylece karı oldukça gerçekçi bir şekilde değerlendirir,

// zaten var olan hesaplamaları (sayım süresi açısından. mantıklı uygulama ile) aşmayacaktır. Onlar. yavaşlama, diyelim ki, iki yönlü olabilir.

Dosyalar:
 
MetaDriver :

Aptalca genetik eklendi ve maksimizasyona sabitlendi. Sonuç, açık fiyatlarla (girişte 16 gösterge) beş dakikalık periyotlarda 500 günlük geçmişe eşdeğer simüle edilmiş veriler üzerinde tek katmanlı bir retronu ayarlayan bir optimize edicidir.

Lütfen test edin.

...

Teşekkürler.))

...

NJ 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 06 Generation 36 : MaxResult== 2.29423
NO 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 08 Generation 37 : MaxResult== 2.29426
FE 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 10 Generation 38 : MaxResult== 2.29426
PJ 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 14 Generation 39 : MaxResult== 2.29427
HO 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 14 Generation 40 : MaxResult== 2.29427
QE 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 14 Generation 41 : MaxResult== 2.29427
EJ 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Generation 42 : MaxResult== 2.29427
LP 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Generation 43 : MaxResult== 2.29427
KE 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Generation 44 : MaxResult== 2.29427
DI 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Optimization is closing. Best result == 2.29427 at 44 generation.
KO 0 ParallelOptimazer_00- 02 (GBPJPY,M5) 03 : 46 : 15 Full time of optimization == 81 sec 917 ms 
 

MetaDriver , çok teşekkür ederim. Ajitasyonla ilgili çalışmanızı beşe kadar tamamladınız. Aynı zamanda, bana "atsız" konfigürasyonumu ayrı bir vidyuhi olmadan test etme ve çok ama çok şaşırma fırsatı verdi.

Optimize edicinizi başlattı. Şu şekilde çıkıyor:

 2012.03 . 05 23 : 00 : 12      Terminal        CPU: GenuineIntel  Intel(R) Pentium(R) CPU G840 @ 2.80 GHz with OpenCL 1.1 ( 2 units, 2793 MHz, 7912 Mb, version 2.0 )
 2012.03 . 06 04 : 24 : 34      ParallelOptimazer_00- 02 (EURUSD,H1)     Full time of optimization == 58 sec 141 ms
2012.03 . 06 04 : 24 : 34      ParallelOptimazer_00- 02 (EURUSD,H1)     Optimization is closing. Best result == 1.87689 at 60 generation.
2012.03 . 06 04 : 24 : 34      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 60 : MaxResult== 1.87689
2012.03 . 06 04 : 24 : 33      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 59 : MaxResult== 1.87689
2012.03 . 06 04 : 24 : 32      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 58 : MaxResult== 1.87689
2012.03 . 06 04 : 24 : 31      ParallelOptimazer_00- 02 (EURUSD,H1)     Generation 57 : MaxResult== 1.87689

Her neslin yaklaşık olarak aynı zaman maliyeti ile değerlendirildiği düşünüldüğünde, sizin Ferrari'nize kıyasla benim "havzamın" geçen seferki gibi yaklaşık 6.5-7 kat daha yavaş olduğunu anlıyoruz (60 nesil için 58.14 sn ~ 0.97 sn / nesil ) .

2 Graff: Test süresince ayrı bir vidyukha kesebilseydiniz ve bir taşın entegre grafikleri üzerinde bir test yapabilseydiniz, bu çok ilginç olurdu (aynı zamanda, Lynnfield'den Sandy Bridge'e).

Ancak bunun için OpenCL için AMD SDK'yı indirmeniz gerekecek. Ayrı bir kart bundan dolayı daha da kötüleşmemelidir (kendi sürücüsü vardır), ancak bundan %100 emin olmasam da OpenCL 1.1 bir taş üzerinde durabilir.

Ama reddedersen, hiç gücenmem.

 

mql4 forumundan yeniden gönderin.

Meslektaşlarım, OpenCL ile çok fazla anlaşılmazlığa ve tıkanıklığa sahip olacaksınız. Kolay sonuçlar beklemeyin.

OpenCL bir video sürücüsüne takılan bir yazılım teknolojisi olduğundan, takmak için birçok seçenek vardır. Aslında video sürücüsü küçük bir işletim sistemine dönüşüyor. Ve yol boyunca ona bağlı olan her şey: UltraVNC, MSI afterbufner, Agnitum OutPost web-kontrol etkileşimli ve daha binlerce program - hepsi OpenCL'nin normal çalışmasına müdahale edebilir.

Aynı zamanda, OpenCL'yi basit akış hesaplamaları için çalıştırmayı başarsanız bile, geriye aşılmaz bir engel daha kalır, yani: karmaşık hesaplamalar için - teknolojik olarak yapıcı (32 bit kısmi IEEE desteği) ve operasyonel ( hız aşırtma sırasında doğruluk kaybı oyun kartı) GPU doğruluğu ciddi bilimsel hesaplamalar için hala yeterli değil. Ek olarak, nVidia'nın GPU'su neredeyse tüm modern video kartlarında çift hassasiyetli 64 bit işlemeye sahipse, o zaman AMD video kartlarında - yalnızca bazı üst serilerde. nVidia'nın da bir tuhaflığı var, ancak bir başkası daha var - Microsoft ile aynı çetedeler ve bu nedenle kötü şöhretli CUDA'ları (ve OpenCL) aslında örneğin Server 2003'te çalışmıyor, ancak Server 2008'de ve hatta eski sürümde iyi çalışıyorlar Win XP - tamamen Microsoft'un pazarlama konuları için.

OpenCL, evrişim veya filtreleme gibi kesin olmayan 32 bitlik hesaplamaların hızlı akışı içindir.
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
AlexEros : Bir oyun kartında hız aşırtma yaparken doğruluk kaybı

Ve onu kim kovalayacak? Hesaplama hızında %10-15 artış elde etmek, ancak sadece bir arının ölümü nedeniyle hesaplama hatası riski ile? Pekala, burada yüzlerce köşenin çizilmemesinin özellikle hiçbir şeyi etkilemediği çay oyunları oynamıyoruz ...

OpenCL, evrişim veya filtreleme gibi kesin olmayan 32 bitlik hesaplamaların hızlı akışı içindir.

Rezervasyon yapalım. Hesaplamalar gerçekten büyük ve ağır olmalıdır, bu nedenle doğruluk kaybını önemli olarak değerlendirmek için bir neden vardır. Entegrasyon toplu toplama/çarpmadır, zor bir durumdur.

İki sayıyı toplamak, üçüncüyle çarpmak (her biri 32 bitlik hesaplamalarla pratik hesaplamalar için yeterli bir doğruluğa sahiptir) ve sonucu döngünün bir yinelemesi sonucu belirli bir hücreye yazmak ve asla kullanmamak bir şeydir. GPU'nun içinde.

Başka bir şey, hesaplama için Leibniz türünün en yavaş yakınsak serisini kullanarak bir milyar yinelemede pi sayısını hesaplamaktır (bu seri, OpenMP teknolojisini gösterirken çok popülerdir):


İkinci durumda, 32 bit sayılar kullanıldığında, gerçek bir doğruluk kaybı tehdidi vardır, çünkü bir milyar sayı toplayın. Terver, vakaların %99,7'sinde ortaya çıkan hatanın 2*10^5 ile çarpılan bir sayının doğruluğunu aşamayacağını söylüyor. Şimdi bu ciddi - ve o zaman bile her zaman değil.

Gerçek hataları değerlendirmek için geliştiricinin dürüst bir CPU üzerinde birkaç kez kesin hesaplamalar yapmasını kimse engelleyemez.

Bana öyle geliyor ki makul önlemlerle bu teknoloji kullanılabilir. Ve her iki üreticiden (AMD APU Llano veya hatta Intel Sandy Bridge) modern işlemcilerin kullanılmasıyla - ve genellikle ayrı bir ekran kartını geçici olarak unutun: benim için ne fark eder, 100 veya sadece 25 kat hızlandırırım .. Ve hiçbir arı ölmeyecek, çünkü İşlemciyi de kullanmayacağım.