OpenCL: MQL5'te dahili uygulama testleri - sayfa 69

 

Hepinize iyi günler.

Bana bu çok ilginç konuyu anlatın:

1. Hesaplamalar için OpenCL kullanan ticaret için halihazırda herhangi bir EA var mı?

(Bir yıldan fazla bir süre önce, destek açıklandı ve hep birlikte bir test senaryosu üzerinde performansı denedik, ancak çok zaman geçti ve konu sakinleşti...)

2. Sisteme birden fazla video kartı takılıysa, hepsi bilgi işlem için mi kullanılacak yoksa sadece biri mi?
 
vittt : 1. Hesaplamalar için OpenCL kullanan ticaret EA'ları var mı?

Muhtemelen varlar, ancak kod tabanında pek bulunmuyorlar. Çok az meraklı var ve hepsi sadece bunu yapmıyor.

OpenCL, ticaret için kritik olan önemli bir hesaplama hızlandırma sağlamanıza izin verdiğinde faydalıdır. Sırf "Schaub bulo" ya da bir ekran kartı yüklemek için algoritmaya sokmak, anlıyorsunuz ki, pek mantıklı değil.

Imho, ondan en ciddi egzoz, yoğun, iyi paralelleştirilmiş hesaplamalar veya sinir ağları için olabilir. Muhtemelen onlara sormaya değer.

Örneğin, kişisel olarak değerli bir yönüm var , ancak orada OpenCL'e pek ihtiyaç yok çünkü. neredeyse hiçbir anlamı yok (belki de sadece şeytanın paralelleştirmeyi bildiği küresel belleğe çok fazla rastgele erişim işlemi). Henüz umutsuzluğa kapılmadım ve tüm makul olasılıkları denemedim - ama bu kesinlikle kamuya açık olmayacak.

2. Sisteme birden fazla video kartı takılıysa, hepsi bilgi işlem için mi kullanılacak yoksa sadece biri mi?

Şirket, birden fazla kartla veya hatta iki başlı kartlarla ilgili sorunlar hakkında bir şeyler söyledi. Çözüldüler mi bilmiyorum.

 

Merhaba.

MetaTrader5'te hacimsel hesaplamalar yapıyorum, bir problem çözüyorum (bir poker oyununun simülasyonu). Mkl5'te yazıyorum çünkü cahilim ve sadece onu tanıyorum. Bu işimde performans konuları çok önemlidir.

Anladığım kadarıyla, hesaplamanın sonraki her adımının öncekilerin sonuçlarına bağlı olmadığı görevler paralelleştirilebilir. İyi! Sadece böyle bir görevim var.

Ama nasıl paralel hale getirebilirim? Algoritmam, yöntemleri olan yapılar (yapı) üzerinde çalışıyorsa

- örneğin, sabit diskten bir metin dosyası açar, okur, yapı dizilerine bilgi girer, metin dosyasını kapatır

- peki, diğer yöntemler Rand(), ArrayResize() vb. gibi birçok standart işlevi içerir.

Sonuçta OpenCl anladığım kadarıyla c ++ benzeri bir dil. Genel olarak soru şu ki, genel olarak hesaplamalar nasıl paralelleştirilir?

 
Stasikusssss :

Merhaba.

MetaTrader5'te hacimsel hesaplamalar yapıyorum, bir problem çözüyorum (bir poker oyununun simülasyonu). Mkl5'te yazıyorum çünkü cahilim ve sadece onu tanıyorum. Bu işimde performans konuları çok önemlidir.

Anladığım kadarıyla, hesaplamanın sonraki her adımının öncekilerin sonuçlarına bağlı olmadığı görevler paralelleştirilebilir. İyi! Sadece böyle bir görevim var.

Ama nasıl paralel hale getirebilirim? Algoritmam, yöntemleri olan yapılar (yapı) üzerinde çalışıyorsa

- örneğin, sabit diskten bir metin dosyası açar, okur, yapı dizilerine bilgi girer, metin dosyasını kapatır

- peki, diğer yöntemler Rand(), ArrayResize(), vb. gibi birçok standart işlevi içerir.

Sonuçta OpenCl, anladığım kadarıyla c ++ benzeri bir dil. Genel olarak soru şu ki, genel olarak hesaplamalar nasıl paralelleştirilir?

Google kurtarmaya.

Bu forumda bu soruya cevap bulamazsınız.

İki nedenin basit bir kombinasyonu için:

1. Acemi OpenCL programcıları çok sert oldukları için hiç programlamazlar (ve genellikle paralellik ile uğraşmazlar).

2. Deneyimli programcılar sizinle uğraşmaya çok isteksizdirler, çünkü bu (sorunuz) anladığınız bir dilde cevap verebilmek için niteliklerinizin kapsamlı bir şekilde incelenmesini ve ardından cevabınızı uzun bir süre size açıklamasını gerektirir.

Bu nedenle, deneyimli programcıların zaman kaynaklarına saygı gösterin ve temelleri kendi başınıza çözün. Ancak bunu çözdüğünüzde ve dil (OpenCL) hakkında belirli sorular olacaksa, buradan sorun. En azından anlamlı bir konuşma için daha fazla şans olacak.

Быстрое погружение в MQL5
Быстрое погружение в MQL5
  • 2012.08.02
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы решили изучить язык программирования торговых стратегий MQL5, но ничего о нем не знаете? Мы постарались взглянуть на MQL5 и терминал MetaTrader 5 глазами новичка и написали эту небольшую вводную статью. Из неё вы сможете получить краткое представление о возможностях самого языка, а также несколько полезных советов по работе с редактором MetaEditor 5 и самим терминалом.
 

paralelleştirmenin mümkün olduğu yanıtını verebilir.

yalnızca saf C'de, yalnızca en basit aritmetik işlemlerde

Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
Документация по MQL5: Основы языка / Операции и выражения / Арифметические операции
  • www.mql5.com
Основы языка / Операции и выражения / Арифметические операции - Документация по MQL5
 

OpenCL 2.0

OpenCL 2.0, platformlar arası programlamayı daha da basitleştirmek ve zengin bir dizi algoritma ve programlama modelini kolayca hızlandırmak için tasarlanmış OpenCL standardının en son önemli evrimidir. Bu artırılmış yeteneklerin temeli olarak OpenCL 2.0, gelişmiş bir yürütme modelini ve C11 ve C++11 bellek modelinin bir alt kümesini, senkronizasyonu ve atomik işlemleri tanımlar.

  • Khronos forumlarındaki OpenCL 2.0 geri bildirim dizisine bir yorum gönderin - genel geri bildirim ve sorular için iyi
  • OpenCL 2.0 altında Khronos Bugzilla sisteminde bir hata yazın - spesifikasyonda bulunan ayrıntılı düzeltmeler ve hatalar için iyidir.
Official OpenCL 2.0 Feedback thread
Official OpenCL 2.0 Feedback thread
  • www.khronos.org
The Khronos Group promotes the deployment and development of open standard APIs to enable authoring and playback of dynamic media on a wide variety of platforms and embedded devices. Current APIs are OpenGL ES, OpenML, OpenMAX, OpenSL ES, and Collada.
 
tol64 :

OpenCL 2.0, OpenCL standardının en son önemli evrimidir, .............

Ne demek istiyorsun?
 
MetaDriver :
Ne demek istiyorsun?

Evet bu haberi gördüm ve buraya yazmaya karar verdim. Bütün bunları araştırmak ilginç, ama şimdiye kadar zaman bulamıyorum. İşte aynı haber Rusça:


OpenCL 2.0 spesifikasyonu kabul edildi  

Khronos Group, OpenCL 2.0 spesifikasyonunun son versiyonunun onaylandığını ve kullanıma sunulduğunu duyurdu. Geliştiricilere göre, OpenCL 2.0'ın piyasaya sürülmesi, platformlar arası paralel programlamayı basitleştiren açık, kullanımı ücretsiz bir standardın geliştirilmesinde önemli bir kilometre taşıdır.

Yeni sürüm, C11 ve C++11 bellek modellerinin yürütme modelini ve alt kümelerini, senkronizasyonu ve atomik işlemleri geliştirir. Belirtildiği gibi, OpenCL'nin yeni sürümü, önemli ölçüde daha geniş bir algoritma ve programlama modeli yelpazesi kullanmanıza olanak tanır. Yeni sürüm, OpenCL kullanan yazılım geliştiricilerin isteklerini dikkate alıyor. Spesifikasyonlar zaten Khronos web sitesinde mevcuttur.

OpenCL 2.0'daki yenilikler ve iyileştirmeler şunları içerir: paylaşılan sanal bellek, iç içe paralellik, genelleştirilmiş adres alanı, sRGB desteği dahil gelişmiş görüntü işleme. Ayrıca geliştiriciler, C11 atomik işlemlerini, bellek içi FIFO yığın ardışık düzenlerini ve yüklenebilir Android sürücü uzantılarını not eder.

Принята спецификация OpenCL 2.0
  • www.ixbt.com
Принята спецификация OpenCL 2.0 Открытый, бесплатный для использования стандарт OpenCL 2.0 упрощает кроссплатформенное параллельное программирование
 
tol64 :

Evet bu haberi gördüm ve buraya yazmaya karar verdim. Bütün bunları araştırmak ilginç, ama şimdiye kadar zaman bulamıyorum. İşte aynı haber Rusça:


OpenCL 2.0 spesifikasyonu kabul edildi  

Khronos Group, OpenCL 2.0 spesifikasyonunun son versiyonunun onaylandığını ve kullanıma sunulduğunu duyurdu. Geliştiricilere göre, OpenCL 2.0'ın piyasaya sürülmesi, platformlar arası paralel programlamayı basitleştiren açık, kullanımı ücretsiz bir standardın geliştirilmesinde önemli bir kilometre taşıdır.

Yeni sürüm, C11 ve C++11 bellek modellerinin yürütme modelini ve alt kümelerini, senkronizasyonu ve atomik işlemleri geliştirir. Belirtildiği gibi, OpenCL'nin yeni sürümü, önemli ölçüde daha geniş bir algoritma ve programlama modeli yelpazesi kullanmanıza olanak tanır. Yeni sürüm, OpenCL kullanan yazılım geliştiricilerin isteklerini dikkate alıyor. Spesifikasyonlar zaten Khronos web sitesinde mevcuttur.

OpenCL 2.0'daki yenilikler ve iyileştirmeler şunları içerir: paylaşılan sanal bellek, iç içe paralellik, genelleştirilmiş adres alanı, sRGB desteği dahil gelişmiş görüntü işleme. Ayrıca geliştiriciler, C11 atomik işlemlerini, bellek içi FIFO yığın ardışık düzenlerini ve yüklenebilir Android sürücü uzantılarını not eder.

Pekala, açık. Bununla ne yapmalı? Suçu C#/C++'da mı?
 
MetaDriver :
Pekala, açık. Bununla ne yapmalı? Suçu C#/C++'da mı?

Belki Renat'ın bundan ne öğrenilebileceğini görmesine izin ver. Yeni spesifikasyonun MQL5'te de daha iyi performans sağlaması mümkün mü?

C#/C++'a gelince, gerekirse onu boşaltabilirsiniz. Ana şey, mümkün olan maksimum egzoza sahip olmaktır. ;)

Neden: