Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Bunu zaten yapacağım, (büyük olasılıkla) sadece büyük bir geçmişe ilişkin istatistiklerin toplanması olacak. Yine de muves ile ilgisi yok. Muves'ten nefret ediyorum - bunu yapmaya hakkım var :)
Alıntıları senkronize edin.
Bu GPU'dan ziyade CPU için bir görevdir. Her görev GPU için uygun değildir, değil mi? Uygun olanı seçmek daha iyidir, çünkü GPU bunun içindir.
Bu iki boyutlu bir dizi olacak.
Gelecek makalede üç boyutlu olacağını varsayıyorum. Aynı zamanda, herhangi bir boyuttaki bir diziyi görüntüleyen GPU tamponu ile nasıl çalışılacağı da netleşecektir.
Bunu zaten yapacağım, (büyük olasılıkla) sadece büyük bir hikaye üzerinde istatistik toplamakla ilgili olacak....
Gelecekteki bir makalede üç boyutlu olacağını varsayıyorum. Aynı zamanda GPU tamponuna herhangi bir boyutta bir dizinin nasıl yazılacağı ve onunla nasıl çalışılacağı da netleşecektir.
Harika! Bekleyelim...
Onların da senkronize edilmesi gerekiyor mu?
Not: Yardımı okudum, bunun gerekli olduğunu görüyorum.
Makalenin sonuçlarını donanım yükseltmesini dikkate alarak yeniden hesapladım.
Bir yıl önce: Intel Pentium G840 CPU (2 çekirdek @ 2.8 GHz) + AMD HD4870 ekran kartı.
Son zamanlarda: CPU Intel Xeon E3-1230v2 (4 çekirdek/8 iş parçacığı @ 3,3 GHz; i7-3770'in biraz gerisinde) + AMD HD ekran kartı.6 870.
OpenCL'deki hesaplamaların sonuçları grafikte gösterilmiştir (yatay olarak - makalede uygulanan optimizasyon sayısı):
Hesaplama süresi dikey olarak saniye cinsinden gösterilmiştir. Senaryonun "CPU'da tek seferde" (tek çekirdekte, OpenCL olmadan) yürütülme süresi, algoritma değişikliklerine bağlı olarak 95 artı veya eksi 25 saniye içinde değişmiştir.
Gördüğümüz gibi, her şey açık görünüyor, ancak yine de çok açık değil.
En bariz yabancı çift çekirdekli G840. Bu beklenen bir şeydi. Diğer optimizasyonlar, 4 ila 5,5 saniye arasında değişen yürütme süresini çok fazla değiştirmedi. Bu durumda bile komut dosyası yürütme hızlanmasının 20 katın üzerinde değerlere ulaştığını unutmayın.
Farklı nesillerden iki ekran kartı - eski HD4870 ve daha modern HD6870 - arasındaki rekabette 6870'in neredeyse kazanan olduğunu düşünebiliriz. Eski canavar 4870'in hala nominal bir zafer kazandığı optimizasyonun son aşaması hariç (neredeyse her zaman geride kalmasına rağmen). Açıkçası bunun nedenleri belli değil: gölgelendiriciler daha küçük ve frekansları da daha düşük - ama yine de kazandı.
Bunun ekran kartı nesillerinin gelişiminin değişkenliği olduğunu varsayalım. Ya da algoritmamdaki bir hata :)
Tüm optimizasyonlarda eski 4870'ten daha iyi olmayı başaran ve 6870 ile neredeyse eşit şartlarda savaşan ve sonunda hepsini yenmeyi başaran Xeon'dan açıkçası memnun kaldım. Herhangi bir görevde her zaman böyle olacağını söylemiyorum. Ancak görev hesaplama açısından oldukça zordu - sonuçta 2000 x 2000 boyutunda iki matrisin çarpımıydı!
Sonuç basit: i7 gibi iyi bir CPU'nuz varsa ve OpenCL hesaplamaları çok uzun sürmüyorsa, belki de ek bir güçlü ısıtıcıya (ekran kartı) ihtiyacınız yoktur. Öte yandan, taşı onlarca saniye boyunca %100 yüklemek (uzun hesaplamalar sırasında) pek hoş değildir, çünkü bilgisayar bu süre boyunca "yanıt verme yeteneğini kaybeder".
Merhaba,
OpenCL'nin EveryTick Modunda bir EA geri testini nasıl hızlandırabileceğine dair bir örnek verebilir misiniz? Şu anda EveryTick modunda 14 yıllık verileri çalıştırmak 18 dakikamı alıyor. OpenCL test süresini %50 azaltabilirse birçok yatırımcının ilgileneceğine inanıyorum.
Harika makale, satırın aktarımını döngü içinden dışarıya özel belleğe taşımanın nasıl hızlandırdığını anlamadım.
Aynı aktarım işlemi yine de gerçekleşiyor, kodumda sıfır etki var ama tabii ki her durum farklı. (ama yine de bir şey ekledikten sonra 0 etki, bir şeyin hızlandığı ancak kazanç olmadığı anlamına gelir)
OpenCL kaynağındaki bu kısım :
Crunch döngüsünün dışına taşıdığınız yer
Teşekkür ederim.