İşte herhangi bir DLL olmadan doğrudan MetaTrader 5 terminalinde OpenCL ile yapabilecekleriniz - sayfa 15
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
Başlatmadan önce OpenCL anahtarı kaldırıldı. Davranış değişmedi.
Onlar. Expert Advisor, CLContextCreate(CL_USE_GPU_ONLY) ile ilk kez başlatıldığında, yukarıdaki hatalar oluşturulur ve Expert Advisor başlatılmaz. İkinci başlatmadan itibaren, OpenCL cihaz başlatma günlüğü artık görüntülenmez, yalnızca uzman günlüğünde bir hata kalır ve EA çalışmaz. Terminal yeniden yüklendiğinde, düzeltilmiş CLContextCreate(0) komutuyla EA çalışır - mega gerçekçi bir deniz manzarası belirir. Aynı zamanda, başlatma günlüğünde aynı performans testi hataları ve EA günlüğünde sessizlik var.
Anahtar biraz değişti:
[HKEY_CURRENT_USER\Yazılım\MetaQuotes Yazılımı]
önce - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00, 00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,6c,2a,09,a4,b3,d8, e2,3f
after - "OpenCL"=hex:91,57,f4,f8,2e,0b,19,c5,e9,ef,30,dd,c9,a9,af,8c,00,00,00,00,00, 00,00,00,58,f7,f7,28,88,c5,e1,77,3c,4c,f8,8a,4d,31,88,88,98,6b,19,ab,41,5c, fd,3f
Prensipte, uzmanlar/komut dosyaları düzeltildiyse ve cihazlar atlanırsa, bunlara açıkça erişilirse ve CL_DEVICE_TYPE özniteliği kontrol edilirse bu davranış kritik değildir. Görevleri kendi derecelendirmelerine sahip cihazlara kontrollü bir şekilde dağıtmak IMHO'dan bile daha iyidir. Başlatma hatalarının olması, sadece tatsız. OpenCL'nin savaşta nasıl daha ileriye gideceğini kim bilebilir?
Lütfen çekirdekleri yazmak ve test etmek için OpenCL Applications 2016 R2 için orijinal Intel SDK'sını bulmama yardım edin. Intel'de Rusça yazmak işe yaramaz;)
Belki AMDshny SDK'yı kullanmayı deneyin?
Beta 2543'e güncellemeyi deneyin
beta 2545, sürüm 2560.
herhangi bir ilk anda başlamak senaryo:
saat başlamak CLContextCreate ile komut dosyası (CL_USE_GPU_ONLY):Seascape (GBPUSD,H1) OpenCL not found. Error= 5114
Bir yıl önce daha zayıf bir tablette her şeyin yolunda gitmesine rağmen benzer hatalara sahibim.
ve şimdi çalışmıyor bile:parametrelerle: CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - sonuç: -1 hata koduyla: 5115
parametrelerle: 0, 1 - sonuç pozitif
beta 2545, sürüm 2560.
herhangi bir ilk anda başlamak senaryo:
saat başlamak CLContextCreate(CL_USE_GPU_ONLY) içeren komut dosyası:Kartınız ikili hesaplamaları desteklemiyor:
Finansal hesaplamalarda, büyük yuvarlama nedeniyle kayan noktalı matematik kullanılamaz ve bu nedenle çift hesaplamalar için açıkça desteğe ihtiyacımız var.
OpenCL'nin iki katına çıkmadan etkinleştirilmesine izin verirdik ama bu mantıklı değildi.
Şimdi açıkça sınırlıyoruz.
Bir yıl önce daha zayıf bir tablette her şeyin yolunda gitmesine rağmen benzer hatalara sahibim.
ve şimdi çalışmıyor bile:parametrelerle: CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - sonuç: -1 hata koduyla: 5115
parametrelerle: 0, 1 - sonuç pozitif
Atom'da double hakkında aynı hatayı vermesi çok garip.
Kontrol edeceğiz.
Atom'da double hakkında aynı hatayı vermesi çok garip.
Yani double'ı da desteklemiyor
Terminalin böyle bir desteğe ihtiyaç duyması başlı başına garip... örneğin, .cl dosyasında hiç double yok ve kesin bilimsel hesaplamalar için OpenCL kullanmıyorum.
Üstelik bu eski bir Atom değil, modern bir Atom - ayrı bir GPU'lu
Kartınız çift ödemeyi desteklemiyor
Cihazın kendisine soralım:
Tank yanıtı:
OpenCL cihazı dahili: cl_intel_accelerator cl_intel_advanced_motion_estimation cl_intel_ctz cl_intel_d3d11_nv12_media_sharing cl_intel_dx9_media_sharing cl_intel_motion_estimation cl_intel_simultaneous_sharing cl_intel_subgroups cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
Gerçekten de, cl_khr_fp64 için destek yok
Resmi özellikleri internette bulamıyorum. Bir sürücü sorunu olmadığından emin olmak için çift kesinlik bilgisi içermeyen Intel HD Graphics 4400 .
Yalnızca böyleyse - video kartında FP64 olup olmadığını belirlemek için soldaki kıyaslama yoluyla:
https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_HD-Graphics-4400
Bu arada, Renat'ın yardımcı grafik işlemcisi de FP64 desteğinden yoksun görünüyor:
https://askgeek.io/ru/gpus/vs/Intel_HD-Graphics-515-vs-Intel_UHD-Graphics-630
Renat, IGP'nizin çift hassasiyeti destekleyip desteklemediğini belirlemek için yukarıdaki komut dosyamı çalıştırabilir misiniz?
Evet ise, performans testinizin neden başarılı olduğu açık olacaktır.
Belki o zaman, mqlrates -arrays'i CPU'da int'ye aktarmak için OpenCL'ye göndermeden önce, onları Digits ile çarparak seçeneği deneyin. İki kat daha az bellek tüketimi. Ve sonra vektörlerle veya şamandıralarla oynayın, dikkatli bir şekilde bir hatayla karşılaşmamaya çalışın. Prensip olarak, çatının üzerindeki Rakamlar + 1 göstergelerinin doğruluğu yeterli olmalıdır.
İlk 12 bitte (ilk 2 baytta) günde 1440 dakika ve yüksek bitlerde günler dikilirse, Datetime kolayca int'ye dönüştürülebilir. int vs double'ın hız kazancı, çekirdeklerdeki genel iTime benzeri işlevleri kapsayacak şekilde yeterli olmalıdır.