"Hesaplamalar için OpenCL Nasıl Yüklenir ve Kullanılır?" makalesi için tartışma

 

Yeni makale Hesaplamalar için OpenCL Nasıl Yüklenir ve Kullanılır? yayınlandı:

MQL5'in OpenCL için yerel destek sağlamaya başlamasının üzerinden bir yıldan fazla zaman geçti. Ancak, Uzman Danışmanlarında, göstergelerinde veya betiklerinde paralel bilgi işlem kullanmanın gerçek değerini pek de çok kullanıcı görmemiştir. Bu makale, bu teknolojiyi MetaTrader 5 alım satım terminalinde kullanmayı deneyebilmeniz için OpenCL'yi bilgisayarınıza yüklemenize ve kurmanıza yardımcı olma görevi görür.

MQL5'te OpenCL için program yazmanın mümkün hale gelmesinin üzerinden bir yıl geçti. Bulunan herhangi bir OpenCL aygıtının girişleri artık aşağıda gösterildiği gibi MetaTrader 5 terminal açılışında Günlükte görülebilir.

Bulunan OpenCL cihazlarına ilişkin MetaTrader 5 terminalindeki günlük girişleri

Bu durumda, MetaTrader 5 terminali, OpenCL'yi doğrudan bir MQL5 programından başlatmak için kullanılabilen 4 yöntem algılamıştır: NVIDIA'dan (OpenCL 1.1) ve AMD'den (OpenCL 1.2) bir grafik kartı ve yüklü sürücüye bağlı olarak iki Intel Core-i7 CPU yardımcı program seçeneği. Bilgisayarınıza halihazırda uygun bir OpenCL aygıtı sürüm 1.1 veya daha üzeri varsa, açıklama kısmını güvenli bir şekilde geçebilir ve paralel hesaplamaya olanak sağlayan görevler için performans kazanımınızı görebilmek için doğrudan Performans Karşılaştırması bölümüne ilerleyebilirsiniz.

Yazar: MetaQuotes

 
MQL5'te OpenCL kullanmanın avantajını göstermek için, bazı kümelerdeki iki değişkenden bir fonksiyonun değerlerini hesaplayan ve sonucu grafik penceresinde görüntüleyen OpenCL_Sample.mq5 kodu yazılmıştır<br/ translate="no">.

TC aynı zamanda sonucu bazı özel göstergeler olan bir fonksiyondur. Yani, optimize edici, verilen alıntıda olduğu gibi, bazı kümelerdeki fonksiyon değerlerinin bir hesaplamasıdır.

O zaman standart bir OpenCL optimize edicinin uygunluğundan bahsedebilir miyiz? Yoksa bu kadar önemli (> 2 kat) hız artışlarına izin vermeyecek tuzaklar var mı?

İyileştiricinin mat modundaki çalışmasıyla daha da çok ilgileniyorum.

 
OpenCL, büyük bir veri kümesi üzerinde tek tip hesaplama işlemleri gerçekleştirmenin gerekli olduğu durumlar için çok uygundur. Daha sonra bir değerler kümesi alır, parçalara ayırır ve her bir parçayı hesaplama için ayrı bir işlemciye veririz. Bu zaman kazancıdır. OpenCL teknolojisi hakkında daha fazla ayrıntı, bu makalede bahsedilen iki makalede açıklanmaktadır.
 

OpenCL desteği ile bulunan cihazlar hakkındagünlükteki kod çözmeyi açıklayabilir misiniz ?

Önce cihaz numarası geliyor, sizin durumunuzda cihaz#0, sonra cihaz adı nvidia GTX 580 , cihazın OpenCL sürümü , ancak parantez içinde yazılanlar tam olarak net değil. ALU sayısının ( nvidia CODA çekirdekleri için) belirtilmesi gerekmez mi??? ve sonra anlaşılmaz bir frekans var, neye atıfta bulunduğu belli değil, genellikle video çekirdeğinin frekansı 1000 MHz'den fazla değildir ... Lütfen deşifre edin.

OpenCL: Мост в параллельные миры
OpenCL: Мост в параллельные миры
  • 2012.05.16
  • Sceptic Philozoff
  • www.mql5.com
В конце января 2012 года компания-разработчик терминала MetaTrader 5 анонсировала нативную поддержку OpenCL в MQL5. В статье на конкретном примере изложены основы программирования на OpenCL в среде MQL5 и приведены несколько примеров "наивной" оптимизации программы по быстродействию.
 

Herkese iyi günler.

Lütfen bu çok ilginç konu hakkında tavsiyede bulunabilir misiniz?

1. Hesaplamalar için OpenCL kullanan ticaret için herhangi bir Uzman Danışman var mı?

2. Sistemde birkaç ekran kartı varsa, hepsi hesaplamalar için mi yoksa sadece bir tanesi mi kullanılacak?

 

2. Her uzman yalnızca bir kart kullanabilir.

Birkaç uzman aynı anda birkaç OpenCL cihazı kullanabilir.

 
Bir bilgisayarda birden fazla cihaz OpenCL hesaplamalarına dahil olabiliyorsa, hepsi mi yoksa sadece biri mi kullanılacak?
 
paladin800:
Bir bilgisayarda birden fazla cihaz OpenCL hesaplamalarına dahil olabiliyorsa, hepsi mi yoksa sadece biri mi kullanılacak?

Yukarıda zaten bir cevap vardı

Renat:

2. Her Uzman Danışman yalnızca bir kart kullanabilir.

Belirli bir MQL5 programı tarafından hangi cihazın kullanılacağını açıkça belirtebilirsiniz. CLContextCreate işlevine bakın
 
sigma7i:

OpenCL desteği ile bulunan cihazlar hakkındagünlükteki kod çözmeyi açıklayabilir misiniz ?

Önce cihaz numarası geliyor, sizin durumunuzda cihaz#0, sonra cihaz adı nvidia GTX 580 , cihazın OpenCL sürümü , ancak parantez içinde yazılanlar tam olarak net değil. ALU sayısının ( nvidia CODA çekirdekleri için) belirtilmesi gerekmez mi??? ve sonra anlaşılmaz bir frekans var, neye atıfta bulunduğu belli değil, genellikle video çekirdeğinin frekansı 1000 MHz'den fazla değildir ... Lütfen deşifre edin.

Soruları yanlış sordum özür dilerim....

sorular makaledeki resme dayanmaktadır:

1. "16 birim" ne anlama geliyor? Ve neden ekran kartındaki çekirdek sayısı belirtilmemiş ?

2. 1630 MHz ile kastedilen nedir? ekran kartının tam frekansı mı yoksa tek tek bileşenler mi?

resim

 

Her şeyden önce OpenCL, kablolu uygulamadan bağımsız olarak paralellik yöntemlerinin kendi spesifikasyonudur. Bu yüzden GPU spesifikasyonları ile tam bir çakışma arayamazsınız.

Birimler ayrı çekirdekler değil, çekirdek gruplarıdır. Farklı mimariler, birkaç çekirdeği birimler halinde gruplamak için farklı yöntemlere sahiptir. Örneğin, NVIDIA bir birimde 8, 32, 48 çekirdeğe (veya daha fazlasına) sahip olabilir. CPU modlarında, birimler mantıksal CPU çekirdekleri olarak sayılır.

Frekans cihaz tarafından gösterilir (örneğin ekran kartı).

 
OpenCL kullanmanın bir başka avantajı daha vardır: OpenCL kodunun MQL5 koduyla paralel olarak yürütülmesi.

Burada önemli olan nokta, CLExecute fonksiyonunun çağrılmasının OpenCL sürücüsüne yürütmeyi başlatması için verilen bir komut olmasıdır.
OpenCL görevinin tamamlanmasını beklemek, OpenCL yürütme kuyruğuna erişirken, örneğin bu örnekte olduğu gibi CLBufferRead işlevini çağırırken gerçekleşir.


CLExecute ve CLBufferRead çağrıları arasında, OpenCL kuyruğuna erişmeyen tüm MQL5 hesaplamalarını gerçekleştirebilirsiniz.
OpenCL: Мост в параллельные миры
OpenCL: Мост в параллельные миры
  • 2012.05.16
  • Sceptic Philozoff
  • www.mql5.com
В конце января 2012 года компания-разработчик терминала MetaTrader 5 анонсировала нативную поддержку OpenCL в MQL5. В статье на конкретном примере изложены основы программирования на OpenCL в среде MQL5 и приведены несколько примеров "наивной" оптимизации программы по быстродействию.