İşte herhangi bir DLL olmadan doğrudan MetaTrader 5 terminalinde OpenCL ile yapabilecekleriniz - sayfa 15

 
Ilyas :
  1. terminali kapat
  2. OpenCL değerini "HKEY_CURRENT_USER\Software\MetaQuotes Software" kayıt şubesinden silin
  3. Terminali başlatın ve test edin

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
 
directx daha kararlıdır, ancak hesaplamalar için saptırmanız gerekir ve çiftler yoktur.
 
Ilyas :
Beta 2543'e güncellemeyi deneyin

beta 2545, sürüm 2560.

herhangi bir ilk anda   başlamak   senaryo:

Scripts script Seascape (GBPUSD,H1) loaded successfully
OpenCL  device #0 : GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 ( 20 units, 400 MHz, 1425 Mb, version 10.18 . 14.5117 )
OpenCL  device #1 : CPU Intel(R) Corporation Intel(R) Core(TM) i7- 4500 U CPU @ 1.80 GHz with OpenCL 1.2 ( 4 units, 1800 MHz, 8087 Mb, version 4.2 . 0.148 , rating 21 )
OpenCL  device performance test started
OpenCL  test compilation failed with error: 
': 9 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 
: 10 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 
: 11 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 
: 12 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 
: 13 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 
: 20 : 4 : error: use of type ' double ' requires cl_khr_fp64 extension to b
                
OpenCL  device #0 performance test error: 'cannot create OpenCL program ( 5105 )'
OpenCL  device performance test finished with error(s)
OpenCL  device #0 : GPU Intel(R) Corporation Intel(R) HD Graphics 4400 with OpenCL 1.2 ( 20 units, 400 MHz, 1425 Mb, version 10.18 . 14.5117 )
OpenCL  device #1 : CPU Intel(R) Corporation Intel(R) Core(TM) i7- 4500 U CPU @ 1.80 GHz with OpenCL 1.2 ( 4 units, 1800 MHz, 8087 Mb, version 4.2 . 0.148 , rating 21 )
Scripts script Seascape (GBPUSD,H1) removed
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.

OpenCL  device #0 : GPU Intel(R) Corporation Intel(R) HD Graphics 400 with OpenCL 1.2 ( 12 units, 600 MHz, 1598 Mb, version 20.19 . 15.4364 )
OpenCL  device #1 : CPU Intel(R) Corporation  Intel(R) Atom(TM) x5-Z8550 CPU @ 1.44 GHz with OpenCL 1.2 ( 4 units, 1440 MHz, 4016 Mb, version 5.2 . 0.10094 )
OpenCL  device performance test started
OpenCL  test compilation failed with error: ' 1 : 9 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 1 : 10 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 1 : 11 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 1 : 12 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 1 : 13 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 1 : 20 : 4 : error: use of type ' double ' requires cl_khr_fp64 extensio
OpenCL  device #0 performance test error: 'cannot create OpenCL program ( 5105 )'
OpenCL  test compilation failed with error: 'Compilation started 2 : 9 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 2 : 10 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 2 : 11 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 2 : 12 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 2 : 13 : 25 : error: use of type ' double ' requires cl_khr_fp64 extension to be enabled 2 : 20 : 4 : error: use of type ' double ' requires 
OpenCL  device #1 performance test error: 'cannot create OpenCL program ( 5105 )'
OpenCL  device performance test finished with error(s)
OpenCL  device #0 : GPU Intel(R) Corporation Intel(R) HD Graphics 400 with OpenCL 1.2 ( 12 units, 600 MHz, 1598 Mb, version 20.19 . 15.4364 )
OpenCL  device #1 : CPU Intel(R) Corporation  Intel(R) Atom(TM) x5-Z8550 CPU @ 1.44 GHz with OpenCL 1.2 ( 4 units, 1440 MHz, 4016 Mb, version 5.2 . 0.10094 )
ve şimdi çalışmıyor bile:
 void OnStart ()
{
        Print( CLContextCreate ( CL_USE_ANY ));
}

parametrelerle: CL_USE_ANY, CL_USE_CPU_ONLY, CL_USE_GPU_ONLY - sonuç: -1 hata koduyla: 5115

parametrelerle: 0, 1 - sonuç pozitif

 
aim-1 :

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:

use of type 'double' requires cl_khr_fp64 extension to be enabled

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.

 
A100 :

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.

 
Renat Fatkhullin :

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

 
Renat Fatkhullin :

Kartınız çift ödemeyi desteklemiyor

Cihazın kendisine soralım:

 void OnStart () {
    int clCtx= CLContextCreate ( 0 );
    if (clCtx == - 1 ) Print ( "ERROR in CLContextCreate" );
   string str;
   if ( CLGetInfoString (clCtx, CL_DEVICE_NAME ,str))        Print ( "OpenCL device name: " ,str);
   if ( CLGetInfoString (clCtx, CL_DEVICE_EXTENSIONS ,str))  Print ( "OpenCL device ext: " ,str);
   CLContextFree (clCtx); }

Tank yanıtı:


OpenCL aygıt adı: Intel(R) HD Graphics 4400

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.

Главная
Главная
  • askgeek.io
Сравнительный анализ видеокарт Intel HD Graphics 515 и Intel UHD Graphics 630 по всем известным характеристикам в категориях: Общая информация, Технические характеристики, Видеовыходы и порты, Совместимость, размеры, требования, Поддержка API, Память, Поддержка технологий. Анализ производительности видеокарт по бенчмаркам: PassMark - G2D Mark...