OpenCL: MQL5'te dahili uygulama testleri - sayfa 39

 
casinonsk : İkincisi, olduğu gibi 0 yüklemede kaldı.

Ve üçüncü? Yoksa değil mi?

QE 0 ParallelTester_00-01x__1 (EURUSD,H1) 13:23:02 Sayma göstergeleri = 16; Sayı geçmişi çubukları = 144000; Sayı geçişi = 480000

EF 0 ParallelTester_00-01x__1 (EURUSD,H1) 13:23:02 GPU MaxResult==0.0'da 0 geçişte sonuç

Görünüşe göre test bir şekilde yanlış gitti. Evet ve Count pass değerini daha düşük bir değere ayarlayın, 1280 yeterlidir.

Ve CPU ile GPU'nun karşılaştırmalı sonuçları nerede?

 
joo :


CountPass 262144'te grafik sürücüsü bilinçsizce çöküyor. Gerçek hemen yükselir.

Profesör Tychkov'un yöntemini kullanarak, CountBars 10 ile CountPass'in 6628025'ten büyük olamayacağını öğrendim, aksi takdirde MQL derleyicisi derlemeyi reddediyor ve hata veriyor:

'inds' - global değişkenler bölümü çok büyük ParallelTester_00-01x.mq5 86 7

Daha küçük CountBar'larla, derleyici daha da korkunç CountPas değerlerini atlar.

 2012.03 . 17 20 : 40 : 36      ParallelTester_00- 01 x (EURUSD,H1)       Соunt inticators = 16 ; Count history bars = 10 ; Count pass = 6628025
2012.03 . 17 20 : 40 : 36      ParallelTester_00- 01 x (EURUSD,H1)       GPU time = 717 ms

Oh nasıl!

MQL derleyicisi GPU'da (veya GPU'da değil???) yeterli bellek olmadığını nasıl biliyor? - bellek yetersizliğinden ve ekran kartı sürücüsü çöküyor gibi görünüyor.


Vladimir'e :

Ve neden her uçağa aynı diziyi verelim (bellek, CountPass sayısıyla doğru orantılı olarak tüketilir)? - başlangıç, verileri bir genel diziden alın.

 
joo :

Vladimir'e :

Ve neden her uçağa aynı diziyi verelim (bellek, CountPass sayısıyla doğru orantılı olarak tüketilir)? - başlangıç, verileri bir genel diziden alın.

Zaten ortak bir fiyat ve gösterge dizisine sahipler.

Ve uzunluğu CountPass olan dizide rozet olmayanlar var (optimize edilmiş parametre). Her ızgara için ayrıdır.

--

... Ama düşünme tarzını beğendim. :)

 
joo :

Profesör Tychkov'un yöntemini kullanarak, CountBars 10 ile CountPass'in 6628025'ten büyük olamayacağını öğrendim, aksi takdirde MQL derleyicisi derlemeyi reddediyor ve hata veriyor:

'inds' - global değişkenler bölümü çok büyük ParallelTester_00-01x.mq5 86 7

Daha küçük CountBar'larla, derleyici daha da korkunç CountPas değerlerini atlar.

Oh nasıl!

MQL derleyicisi GPU'da (veya GPU'da değil???) yeterli bellek olmadığını nasıl biliyor? - bellek yetersizliğinden ve ekran kartı sürücüsü çöküyor gibi görünüyor.

ANCAK! Yani kodumda temel bir topuz var (satır 82).

 ////////////float nets[sizeof(NETs)];   // Вот так было. В корне неправильно.
////////////float inds[sizeof(Inds)];  

////////////float nets[sizeof(NETs)/sizeof(float)];  // Вот так будет видно в чём была ошибка.
////////////float inds[sizeof(Inds)/sizeof(float)];  // И в принципе будет работать, хотя лучше...
// ...Вот так - правильно и понятно откуда ноги.
float nets[CountPass*CountInd];
float inds[CountInd*CountBars];  

Düzeltin ve neredeyse dört kat "hafıza artışı" elde edin.....nasharu...!!.!! :)))))))))))))

// Böyle anlarda kendimi Noel Baba gibi hissediyorum... ;)

 
MetaDriver :

// Böyle anlarda kendimi Noel Baba gibi hissediyorum... ;)

//Sen Noel Baba isen, ben kimim?... ;)
 
Beşlinin İngilizce dilindeki forumuna baktım. Benzer bir konu var, ancak gösterilen etkinlik ve ilgi, Rusça forumdakilerle kıyaslanamaz.
 
Mathemat :

Ve üçüncü? Yoksa değil mi?

Görünüşe göre test bir şekilde yanlış gitti. Evet ve Count pass değerini daha düşük bir değere ayarlayın, 1280 yeterlidir.

Ve CPU ile GPU'nun karşılaştırmalı sonuçları nerede?

CL 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 OpenCL başlat Tamam!
IH 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 GPU süresi = 187 ms
FN 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 Sayma göstergeleri = 16; Sayı geçmişi çubukları = 144000; Sayı geçişi = 1280
CL 0 ParallelTester_00-01x__1 (EURUSD,H1) 00:02:09 1190 geçişinde Gpu MaxResult==0.92493 üzerindeki sonuç
 

Kesinlikle video kartının sıcaklığını döndüren bir MQL işlevine ihtiyacınız var. Aksi takdirde, yanması uzun sürmez. Evde değil, müşteride.

// MQL yoksa, iyi olmayan bir DLL kullanmanız gerekecek - pazarın kesilmesi ve diğer rahatsızlıklar.

 
Me taDriver:

Kesinlikle video kartının sıcaklığını döndüren bir MQL işlevine ihtiyacınız var. Aksi takdirde, yanması uzun sürmez. Evde değil, müşteride.
Ayrıca sınır sıcaklığını döndürmeli ve sınıra yaklaşırken hesaplamaları yavaşlatmalıdır. Video kartları farklıdır ve ısı dağılımı da farklıdır.
 
MetaDriver :

Kesinlikle video kartının sıcaklığını döndüren bir MQL işlevine ihtiyacınız var. Aksi takdirde, yanması uzun sürmez. Kendime değil, müşteriye.

// MQL yoksa, iyi olmayan bir DLL kullanmanız gerekecek - pazarın kesilmesi ve diğer rahatsızlıklar.

Bilgisayar oyuncakları GPU'nun sıcaklığını umursamıyor ve en iyi şekilde yükleniyor ve hiçbir şey - video kartları çalışmıyor. Ve tek bir oyuncu, oyuncağın üreticisinden, oyunun kendisinin GPU'yu yakmamak için FPS'yi yavaşlatmasını istemeyi düşünmez. Oyuncular için analoji doğrudandır - hıza ihtiyacımız var ve gerekirse sıcaklığa da dikkat etmemiz gerekiyor (ek soğutma sistemleri).

O zaman CPU sıcaklığını döndüren bir MQL işlevine de ihtiyacınız var. :), aksi takdirde işlemci yanacaktır.


ZY gerçekleştirilebilirse - o zaman neden olmasın? - tabii ki acımayacak.