OpenCL: MQL5'te dahili uygulama testleri - sayfa 48

 
MetaDriver : Ama şu anda onu 4096 arı üzerinde çalıştıracağım. CPU beş dakika içinde sayacak.

Ve en azından ex5 veya başka bir şey düzenleyin, başkalarının eğlenmesine izin verin.

Yeni yapının yeniden derlenmesi gerekiyor (açıkçası CLContextCreate() nedeniyle). Ve daha önce de ex5 yayınladınız.

 
Mathemat :

Ve en azından ex5 veya başka bir şey düzenleyin, başkalarının eğlenmesine izin verin.

Yeni yapı yeniden derleme gerektiriyor (açıkçası CLContextCreate() nedeniyle). Ve daha önce de ex5 yayınladınız.

TAMAM.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657 142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cpu'da Sonuç MaxResult==4.02701 1529 geçişinde
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cunt intikatörleri = 16; Sayma geçmişi çubukları = 50000; Sayı geçişi = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU zamanı = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Gpu'da Sonuç MaxResult==4.02701 1529 geçişinde
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Sayı göstergeleri = 16; Sayma geçmişi çubukları = 50000; Sayı geçişi = 4096
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) GPU süresi = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL başlat TAMAM!

 
MetaDriver :

TAMAM.

2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CpuTime/GpuTime = 2330.657 142857143
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cpu'da Sonuç MaxResult==4.02701 1529 geçişinde
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Cunt intikatörleri = 16; Sayı geçmişi çubukları = 50000; Sayı geçişi = 4096
2012.04.08 02:03:33 ParallelTester_00-02-(16x7x3) (USDJPY,M30) CPU zamanı = 326292 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Gpu'da Sonuç MaxResult==4.02701 1529 geçişinde
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) Sayı göstergeleri = 16; Sayma geçmişi çubukları = 50000; Sayı geçişi = 4096
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) GPU süresi = 140 ms
2012.04.08 01:58:07 ParallelTester_00-02-(16x7x3) (USDJPY,M30) OpenCL başlat TAMAM!


sersemlemiş! Hangi gezegenden geldiğini itiraf et. Geliştiricilerle aynı dilde iletişim kurun. Hesaplamalarda süper ivmeler yapıyorsunuz. Bunların hepsi basit değil. :))))
 
MetaDriver : Tamam.

Tuhaf şeyler. Tabii ki, hiçbir şikayetiniz yok. Ama olay şu.

Komut dosyanızı çalıştırıyorum ve şunu alıyorum:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.


İlk tarihsel komut dosyanızı çalıştırıyorum ( CLContextCreate() öğesindeki en son değişiklikleri yansıtacak şekilde ince ayar yaptım):

2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CpuTime/GpuTime = 24.39193381592554
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Result on Cpu МахResult==1.20315 at 21 pass
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:13:01    ParallelTester_00-01x (EURUSD,H1)    CPU time = 23587 ms
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Result on Gpu МахResult==1.20315 at 21 pass
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    Соunt indicators = 16; Count history bars = 144000; Count pass = 1280
2012.04.08 03:12:37    ParallelTester_00-01x (EURUSD,H1)    GPU time = 967 ms
2012.04.08 03:12:36    ParallelTester_00-01x (EURUSD,H1)    OpenCL init OK!

Mucizeler, başka bir şey değil... Ne yapmalı, nereye yazmalı? Muhtemelen Servis Masası'na geri döndünüz mü?

PS Bu arada, işte buradasınız, böylece GPU'daki hesaplamalar çok hızlı değil, en az 300-400 ms. Belki gerçek ivmeniz 100500'dür (unutmayın, bu sonsuzdan büyük olan tek sayıdır!), Ama bundan haberiniz yok mu? 140 ms'nin GetTickCount()'un bulunmadığı birkaç sayıdan biri olduğundan şüpheleniyorum (ve varsa, nadirdir).

 
tol64 :
sersemlemiş! Hangi gezegenden geldiğini itiraf et. Geliştiricilerle aynı dilde iletişim kurun. Hesaplamalarda süper ivmeler yapıyorsunuz. Bunların hepsi basit değil. :))))
İyi bilmiyorum. Kazan'da herkes böyle yazıyor.
 
MetaDriver :
İyi bilmiyorum. Kazan'da herkes böyle yazıyor.
Ve doğru.
 
Mathemat :

1. Garip şeyler. Tabii ki, hiçbir şikayetiniz yok. Ama olay şu.

Komut dosyanızı çalıştırıyorum ve şunu alıyorum:

2012.04.08 03:11:28    ParallelTester_00-02-d16x7x3w_new (EURUSD,H1)    OpenCL not found.

2. PS Bu arada, işte buradasınız, böylece GPU'daki hesaplamalar çok hızlı değil, en az 300-400 ms. Belki gerçek ivmeniz 100500'dür (unutmayın, bu sonsuzdan büyük olan tek sayıdır!), Ama bundan haberiniz yok mu? 140 ms'nin GetTickCount()'un bulunmadığı birkaç sayıdan biri olduğundan şüpheleniyorum (ve varsa, nadirdir).

1. Fragman sürümünü deneyin. CLContextCreate (CL_DEVICE_ANY) ile yeniden derledim;

2. Hayır, hayır. 140ms civarında her şey yolunda. Ayrıca çok daha az var. (Ve çok daha fazlası :))

not OpenCL'deki vektör işlemleri sayesinde hızlanma sağlanır. Bir el kitabı iç - ekler. ;)

 
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CpuTime/GpuTime = 162.8265625
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Cpu МахResult==4.07621 at 824 pass
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:15:51    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    CPU time = 208418 ms
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Result on Gpu МахResult==4.07621 at 824 pass
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 09:12:23    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    GPU time = 1280 ms
2012.04.08 09:12:21    ParallelTester_00-02-d16x7x3w (EURUSD,H1)    OpenCL init OK!
 
joo :

Radeon kuralları!!

;)

 
MetaDriver :

Radeon kuralları!!

;)

Çok pas yaptın. :)