![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Önemli olan bu. En azından bir miktar harici GPU varsa, CLContextCreate() içindeki argüman açıkça bir CPU seçemez.
Böyle olmamalı - https://www.mql5.com/ru/docs/opencl/clcontextcreate
Seçenekler
cihaz
[içinde] Sistemdeki OpenCL cihazının sırayla numarası. Belirli bir sayı yerine, aşağıdaki değerlerden birini belirleyebilirsiniz: CL_USE_ANY - OpenCL destekli herhangi bir kullanılabilir aygıtın kullanılmasına izin verilir; CL_USE_GPU_ONLY - OpenCL öykünmesi yasaktır ve yalnızca OpenCL desteğine (video kartları) sahip özel cihazlar kullanılabilir .
Evet, olmamalı gibi. Bu numarayı nereden alacağınız ve ardından doğru olanı seçeceğiniz yer burası mı?
https://www.mql5.com/ru/docs/opencl/clgetinfointeger ? Ancak yalnızca tek bir özellik vardır - cihaz sayısı, CL_DEVICE_COUNT .
Bana göre sistemde bir tane bu nedenle 1 de döner.
Evet, olmamalı gibi. Bu numarayı nereden alacağınız ve ardından doğru olanı seçeceğiniz yer burası mı?
CL_USE_GPU_ONLY belirtmeyi denemeniz gerekiyor, ardından video kartı alınacak ve numaraya gerek yok.
Muhteşem! Yani HD4200 bir OpenCL cihazı değil, öyle mi?
CPU'da gerçekten saf bir öykünme var gibi görünüyor. Severim!
Bu aynı i3'ü öğretirdi ...
AMD APP SDK'sının i3'teki MT5'te neden düzgün çalışmadığından belli belirsiz şüphelenmeye başladım: orada tüm çekirdekler gerçek değil ve AMD'nin hiper iş parçacığı teknolojisi yok. Muhtemelen ve bu nedenle sürücü bir şekilde çarpık bir şekilde yükselir.
Yoksa hala bir losyon mu - cihazı resmen tanıyan MT5'in kendisinde, ama aslında hiçbir faydası yok mu?
Önemli olan bu. En azından bir miktar harici GPU varsa, CLContextCreate() içindeki argüman açıkça bir CPU seçemez.
Bu, CPU'da (bu cihaz numarası 1'e sahibim):
CLContextCreate ( device ) parametresini bir komut dosyası parametresine çekti. Tüm seçenekleri dürtebilirsiniz.
// Ya başka bir gizli katil kombinasyonu varsa ?? :))
2012.04.08 22:01:08 Terminal CPU: GenuineIntel Intel(R) Pentium(R) CPU G840 @ 2.80GHz with OpenCL 1.2 (2 units, 2793 MHz, 8040 Mb, version 2.0 (sse2))
2012.04.08 22:05:59 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) CpuTime/GpuTime = 26.95192501511792
2012.04.08 22:05:59 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) Result on Cpu МахResult==4.98137 at 1628 pass
2012.04.08 22:05:59 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 22:05:59 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) CPU time = 267417 ms
2012.04.08 22:01:32 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) Result on Gpu МахResult==4.98137 at 1628 pass
2012.04.08 22:01:32 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.08 22:01:32 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) GPU time = 9922 ms
2012.04.08 22:01:22 ParallelTester_00-02-316x7x3j_080412 (EURUSD,H1) OpenCL init OK!
Teşekkürler, farketmemiştim...
Aslında, oranların oranının 3'e 1 olacağından neredeyse hiç şüphem yoktu: 3 kat daha fazla çekirdeğiniz var, 74.735 / 26.952 ~ 2.77. Ve yine de memnun ediyor: daha fazla çekirdek - daha fazla kazanç! AMD de burada vergi ödedi - çekirdek sayısı nedeniyle!
Ama diğerlerinin ne alacağını merak ediyorum - diyelim ki i5 Sandy Bridge kimde?
Ve eğer birinin bir Buldozer e'si varsa, sonunda oraya uçabilir ... işe yaramayabilir, çünkü işe yaramayabilir. FPU ile gergindi.
Ve bu testte, nedense benim ütüm seninkini kırdı.
2012.04.09 01:09:36 ParallelTester_00-02-316x7x3j (EURUSD,H1) CpuTime/GpuTime = 161.0007722007722
2012.04.09 01:09:36 ParallelTester_00-02-316x7x3j (EURUSD,H1) Result on Cpu МахResult==4.85831 at 2497 pass2012.04.09 01:09:36 ParallelTester_00-02-316x7x3j (EURUSD,H1) Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.09 01:09:36 ParallelTester_00-02-316x7x3j (EURUSD,H1) CPU time = 208496 ms
2012.04.09 01:06:08 ParallelTester_00-02-316x7x3j (EURUSD,H1) Result on Gpu МахResult==4.85831 at 2497 pass
2012.04.09 01:06:08 ParallelTester_00-02-316x7x3j (EURUSD,H1) Соunt inticators = 16; Count history bars = 50000; Count pass = 4096
2012.04.09 01:06:08 ParallelTester_00-02-316x7x3j (EURUSD,H1) GPU time = 1295 ms
2012.04.09 01:06:07 ParallelTester_00-02-316x7x3j (EURUSD,H1) OpenCL init OK!
Ve işte OpenCL CPU'daki bu test (4 çekirdeğin tümü %100 yüklendi)
2012.04.09 01:11:15 ParallelTester_00-02-316x7x3j (EURUSD,H1) GPU time = 68547 ms
2012.04.09 01:10:07 ParallelTester_00-02-316x7x3j (EURUSD,H1) OpenCL init OK!
GPU'da 480 sinek var ve CPU 4'te 120 kat fark var yani bir seferde 120 kat daha fazla hesaplama yapılabiliyor ama CPU GPU'nun sadece 68547/1295=52,9 katı gerisinde. Bu, CPU iş parçacığının GPU iş parçacığından daha hızlı olduğu, ancak GPU'nun yalnızca daha fazla eşzamanlı görev gerçekleştirebildiği için kazandığı anlamına gelir. Doğru şekilde anladım?
CPU'da ölçekleme %100'den çok daha azdır (yaklaşık %76), 4x yerine yalnızca 3x hızlanma 208496/68547=3,04
Belki de, bu testin özgüllüğü etkiler.
Andrey , bana öyle geliyor ki bir şeyleri karıştırdın: MD bu testi burada yalnızca CPU'da, video olmadan yayınladı, yani. doğrudan CPU öykünmesini seçerek. Anladığım kadarıyla ilk testiniz videoda.
Ve OpenCL'yi taklit eden taşınızın sonucu (ikinci testiniz), benimkiyle karşılaştırıldığında bile şüpheli bir şekilde zayıf görünüyor ("GPU"da yaklaşık 10 saniyem vardı).
Bir şeyi yanlış anladıysam, beni düzeltin.