OpenCL: MQL5'te dahili uygulama testleri - sayfa 3

 
Renat :
Açıklamalar var:
...
2) Double type desteğinden dolayı OpenCL 1.1 ve üstünü destekliyoruz. OpenCL sürüm 1.0, yalnızca kesinliği hiçbir şekilde finansal hesaplamalar için uygun olmayan değişkenler üzerinde çalışabilir.

Birçok eski kart çift işlemi desteklemese de yeni sürücüler yüklemeyi deneyin.
Umarım 1.1 şamandıra da desteklemeye devam eder? Genel olarak şamandıra yeterli değildir, ancak birçok özel durumda - hatta çok fazla. Ve ekstra bellek, özellikle paralel hesaplamada genellikle pahalıdır.
 
Graff :
Yaz aylarında, JavaDev'den betikleri test ederken, viduhamın double'ı desteklemediği , ancak float ile çalıştığı bir sorunla karşılaştık. Sürücüler bunu çözemez, kartı değiştirmeniz gerekiyor :(
Video desteklenmiyorsa tüm işlemci çekirdekleri kullanılacaktır.
 

Katalizör merkezi 12'yi kurdum, daha önce 11'di. Zaten bir sonuç var (kırmızıyla vurgulanmış):

"0" - "1" açılır listesiyle "oynandı" ve ATI simgesi belirdi. Bu program başlatıldığında, artık ortadan kaybolmadı. Programda küçük bir aksaklık....

 
WChas :
Süper! R6970 MSI - 1536 iş parçacığı (aracılar) ve HD5870 Gigabyte (1600 işlemci) var. BOINC yöneticisinde crossfire olmadan kullanılabilirler (ikinci kartın bir çıkışı için fiş yapmak veya ikinci monitörün çıkışlarından birini bağlamak yeterlidir. Soru: ikisi de crossfire olmadan kullanılabilir mi ???

Henüz emin değilim. Bu daha çok, her kartın kodda açıkça kullanılmasını gerektiren cihazları seçen programın kendisine bağlıdır.

İlk betayı yayınladığımızda daha sonra göreceğiz.

 
MetaDriver :
Umarım 1.1 şamandıra da desteklemeye devam eder? Genel olarak şamandıra yeterli değildir, ancak birçok özel durumda - hatta çok fazla. Ve ekstra bellek, özellikle paralel hesaplamada genellikle pahalıdır.
OpenCL 1.1'de şamandıra elbette desteklenir.
 
WChas :
Doğru anladıysam, 1 GPU çok güçlü bir aracı mı? Bu durumda işlemci aracılarını devre dışı bırakmak mümkün müdür (videoya göre düşük hızları nedeniyle)?

İşlemci çekirdeği hiçbir şekilde devre dışı bırakılamaz - herhangi bir şekilde MQL5 ortamının ana bilgisayar platformu olarak kullanılır.

CPU çekirdeklerinin "iş gücü" ile karşılaştırıldığında, GPU çekirdeklerinin bir "son derece uzmanlaşmış arı sürüsü" olduğunu anlamak önemlidir. GPU çekirdekleri hiçbir koşulda geleneksel işlemci çekirdeklerinin yerine kullanılamaz.

Uzman geliştirici, görevi yüzlerce ve binlerce bağımsız iş parçacığına paralel hale getirebilirse, GPU 10-100 kat hızlanma sağlayacaktır. Ancak çoğu tek görevde (örneğin, ticaret ve göstergeler), hesaplamalar sırayla gerçekleştirilir, bu da etkili bir şekilde paralel süreçlere bir şans vermez. Ayrıca geleneksel GPU'larda çift hassasiyetli (çift) gerçek matematiğin kullanılması, floatta elde edilen en yüksek değerlerden iki kat daha düşük hızlar verir. İşte çifte hız düşüşü tartışmalarıyla ilgili ilginç bir bağlantı: http://www.gpgpu.ru/node/901

İkili ve yüzdürmede bazı problemleri hesaplamak için küçük bir çalışma yayınlamak için kendimiz farklı sınıflardan kartlar satın alacağız. Ne alabileceğinizle ilgileniyor.

İşte farklı cihazlarda kayan nokta ve çift hesaplama hızları hakkında küçük bir çalışma (tam rapor: http://agora.guru.ru/hpc-h/files/017_Krivov_NvidiaGpuComparision.pdf ). Tesla'da ikili hesaplamaların hızının, kayan noktanın en yüksek hızından 2 kat daha düşük olduğu ve GeForce 480 GTX gibi sıradan kartlarda neredeyse 10 kat olduğu görülebilir. Aslında bu, çift matematikte SSE2-4 ve AVX'in aktif kullanımı ile normal 4-8 çekirdekli bir CPU'da daha da iyi sonuçlar alabileceğiniz anlamına gelir:


Ticaret stratejileri optimize edicide art arda yapılan aramalarda yüz kat (100-1000 ve daha fazla aralığında) ve yerel nedeniyle genetikte on kat (10-20-50-100-200 kat aralığında) ivme elde edebildik. paralel test çalıştırmaları ve MQL5 Cloud Network fikri. Ancak, tek bir görev içindeki paralellikten bahsediyorsak, tüm çaba, görevi akıllıca yüzlerce ve binlerce bağımsız basit çekirdeğe dağıtabilen GPU programcısının omuzlarına düşer.


Bir nüans daha var - büyük olasılıkla, bir bilgisayarda birkaç aracı kullanırken, GPU'yu kullanma hakkını yalnızca bir aracıya tahsis edeceğiz. Veya birkaç gerçek fiziksel GPU cihazı varsa, bunlar aracılar başladığı anda aracılar arasında dağıtılacaktır.

Gerçek şu ki, bir fiziksel cihazı birkaç aracıya bölmek mantıksızdır, çünkü paylaşım sonucunda nihai performans doğrusal olmayan bir şekilde düşer. Yani, bir GPU'daki 4 ajan, sonucu bir GPU'daki 1 ajandan çok daha kötü gösterecektir. Bu, dahili testlerimizle gösterildi.

Daha detaylı testler yapıp sonucu maksimize edecek bir karar vereceğiz.

Кофигурацыя системы на базе Tesla C2050/C2070 (C2075) | GPGPU.ru
  • www.gpgpu.ru
Здравствуйте! Возникла задача внедрения GPU-Computing для решения задач численного моделирования (симуляция и оптимизация фабрик полупроводников с помощью эвристик, докторская работа). Считать действительно много, и есть довольно хороший потенциал для распараллеливания расчетов, никакой роботы с видео, рендерингом и прочим. Помогите, пожалуйста...
 
 
 
Açıklamalar için teşekkürler.
Renat :

........

Ticaret stratejileri optimize edicide art arda yapılan aramalarda yüz kat (100-1000 ve daha fazla aralığında) ve yerel nedeniyle genetikte on kat (10-20-50-100-200 kat aralığında) ivme elde edebildik. paralel test çalıştırmaları ve MQL5 Cloud Network fikri. Ancak, tek bir görev içindeki paralellikten bahsediyorsak, tüm çaba, görevi akıllıca yüzlerce ve binlerce bağımsız basit çekirdeğe dağıtabilen GPU programcısının omuzlarına düşer.

........

Şahsen benim için optimize edicideki hızlanmalar da aynı derecede önemlidir. Bu yüzden çeşitli ekran kartlarının gerekli güncelleme + performans tablosunu sabırsızlıkla bekliyorum.
 

MQL4.com'daki OpenCL hakkındaki ileti dizisinden yeniden yayınlayın:

https://www.mql5.com/ru/forum/137422/page6

O kadar basit değil.

Ek olarak, Rinat insanların kafasını karıştırıyor: OpenCL 1.0 double float ile iyi çalışabilir, orada tüm üreticiler tarafından desteklenen "genel bir seçenek olarak" sağlanır - AMA SADECE ESKİ KARTLARININ TÜMÜ İÇİN DEĞİL.

http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/

"Opsiyonel Çift Hassasiyet ve Yarım Kayan Nokta

OpenCL 1.0, isteğe bağlı uzantılar olarak çift kesinlik ve yarım kayan nokta desteği ekler. Çift veri türü, IEEE-754 çift duyarlıklı depolama biçimini onaylamalıdır.

Double kullanmak isteyen bir uygulamanın, çekirdek kodunda herhangi bir çift duyarlıklı veri türü bildirilmeden önce #pragma OPENCL EXTENSION cl_khr_fp64: etkinleştirme yönergesini içermesi gerekir. Bu, yerleşik vektör ve skaler veri türlerinin listesini aşağıdakileri içerecek şekilde genişletecektir:....."

Test cihazında da çalışabilir, ancak OpenCL 1.0 uzmanında çalışmaz ve Rinat'ın dediği gibi "çift şamandıra olmadığı" için değil, tam olarak - yukarıda söylediğim gibi - güvenli olmaması nedeniyle. OpenCL 1.0'da iş parçacığı oluşturma ve MT4-5'te akışlarla birlikte birdirbir (leapfrog) için.

Genel olarak OpenCL'de (ve CUDA'da) çok fazla kafa karışıklığı var. Ne alırsınız? Sonuçta, radyo mühendisleri programlama kavramını değiştirmeyi üstlendiler. Demir beyinleri var.

Sorun aynı zamanda sözde "PLATFORM seçimi" ile de olacaktır: bir program, yani bir MT veya bir uzmanın DLL'si veya bir uzman - MUTLAKA, platformu (AMD, Nvidia, Intel) MANUEL OLARAK seçmelidir. bilgisayarda, OpenCL çekirdeğini başlatacak ve ardından bilgisayarda Çoklu GPU varsa, CİHAZI manuel olarak seçecek birkaç ve farklı olabilir. OpenCL'de henüz otomatik platform seçimi yok. Rinat "en güçlünün otomatik seçimi"nden bahsediyor ama nasıl olduğunu bilmiyorum. Orada gösterilen örnekte platform seçimi ve cihaz (GPU, CPU) seçimi yoktur.

Ayrıca, standart olarak birkaç GPU'da veya GPU + CPU'da OpenCL görevlerinin otomatik paralelleştirilmesi hala yoktur. Şöyle söyleyelim: AMD, sürücülerinin/SDK'nın bazı sürümlerinde otomatik dağıtım yaptı, ancak sorunlar vardı ve AMD bu şeyi şimdilik kapattı.

Özetle: MT4-5 için OpenCL programlarını geliştirmek ve etkinleştirmek için bazı manuel çabalara ihtiyaç vardır ve bu nedenle bu, otomatik olarak veya "bir seçenekle yeniden derleme" ile çalışmayacaktır. Hangi sırayla gerçek işte birçok fişle doludur. Bu iyi bir iş olacak ve daha da önemlisi, tekrar etmeme izin verin, ne yazık ki bu DONANIM ODAKLI PROGRAMLAMA, ki bu yanlış. CUDA veya OpenCL için paralel programlarda hata ayıklamak, donanım devrimcilerinin beklediğinden çok daha zor çıktı. Nvidia, 2011 sonbaharındaki CUDA konferansını, sürücü sorunları ve hata ayıklama hatalarıyla ilgili çok sayıda şikayet nedeniyle iptal etti. En son Araç Takımına 1000 yeni işlev daha eklediler - ve en basit program bile sıradan insanlar için çalışmıyorsa veya fişlerle birlikte mi geliyorsa şimdi onunla ne yapmalıyız? Sonuçta, tanımlayıcı araçlarda OpenCL veya CUDA'nın iç mekanizmasının çalışmalarının yarısını bile göstermediler.

Bir sürücü veya program uyumluluğu nedeniyle asılı kalan bir video kartının GPU'sunun (Gigaflop cinsinden) hızı sıfırdır.

OpenCl и инструменты для него. Отзывы и впечатления. - MQL4 форум
  • www.mql5.com
OpenCl и инструменты для него. Отзывы и впечатления. - MQL4 форум
Neden: