Voici ce que vous pouvez faire avec OpenCL directement dans MetaTrader 5, sans aucune DLL. - page 14

 
kaus_bonus:


Si vous obtenez une erreur lors de l'inscription, vérifiez quand même votre courrier électronique.

Lors de l'enregistrement, le message "Format non valide" s'affiche lorsque vous saisissez un mot de passe, quel qu'il soit.

voici le lien, c'est 300mb, ça prend beaucoup de temps pour glisser et déposer. ça pourrait fonctionner sans cookies.

http://registrationcenter-download.intel.com/akdlm/irc_nas/vcp/11058/intel_sdk_for_opencl_setup_6.3.0.1904.exe

Ça se retire, merci !
 
Après avoir retiré le SDK Intel pour les applications OpenCL, un nouveau périphérique est apparu.
OpenCL  Device #0:  CPU GenuineIntel  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 1.1 (8 units, 3510 MHz, 16301 Mb, version 2.0, rating 25)
OpenCL  Device #1:  CPU Intel(R) Corporation  Intel(R) Core(TM) i7-2700 K CPU @ 3.50 GHz with OpenCL 2.1 (8 units, 3500 MHz, 16301 Mb, version 6.3.0.1904)

Mais l'erreur demeure

OpenCL not found. Error code=5114
 
fxsaber:
Après l'installation du SDK Intel pour les applications OpenCL, il y a un nouveau périphérique.

Mais l'erreur demeure

À propos, de nouveaux codes d'erreur ont été ajoutés - Runtime errors (erreurs d'exécution)

ERR_MATH_OVERFLOW

4019

Un dépassement de capacité s'est produit lors du calcul d'une fonction mathématique


ERR_GLOBALVARIABLE_NOT_MODIFIED

4503

Aucune modification de variable globale n'a été effectuée

ERR_GLOBALVARIABLE_CANNOTREAD

4504

Échec de l'ouverture et de la lecture du fichier contenant les valeurs des variables globales

ERR_GLOBALVARIABLE_CANNOTWRITE

4505

Échec de l'écriture du fichier contenant les valeurs des variables globales


ERR_TRADE_CALC_FAILED (ÉCHEC)

4758

Impossible de calculer le bénéfice ou la marge


ERR_STRING_ARRAY_ONLY

5063

Doit être un tableau de type chaîne de caractères


ERR_OPENCL_TOO_MANY_OBJECTS (TROP D'OBJETS)

5113

Nombre maximal d'objets OpenCL dépassé

ERR_OPENCL_SELECTDEVICE

5114

Erreur de sélection de périphérique OpenCL

 
Rashid Umarov:

A propos, de nouveaux codes d'erreur ont été ajoutés - Erreurs de temps d'exécution

Il n'y a pas assez d'exemples qui génèrent chaque type d'erreur.
 
Rashid Umarov:
Correction de l'aide pour le cas où le paramètre d' entrée CLContextCreate n'est pas défini explicitement.
Документация по MQL5: Работа с OpenCL / CLContextCreate
Документация по MQL5: Работа с OpenCL / CLContextCreate
  • www.mql5.com
Работа с OpenCL / CLContextCreate - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Le bogue n'est toujours pas corrigé - les IGP graphiques intégrés dans le processeurd'Intel ne sont pas sélectionnés dans le contexte comme le seul périphérique GPU avec un filtre par type de périphérique :

CLContextCreate(CL_USE_GPU_ONLY)
или
CLContextCreate()
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 67)
OpenCL  device performance test started
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 67)
Scripts script Seascape (GBPUSD,H1) removed

Il est amusant de constater qu'au même moment, Print donne un code d'erreur différent :

Seascape (GBPUSD,H1)    OpenCL not found. Error=5114

Si vous définissez le périphérique de manière explicite :

CLContextCreate(0)

ou comme ceci

   long dCount = CLGetInfoInteger(0,CL_DEVICE_COUNT);
   for(int i = 0; i<dCount; i++)
     {
      int clCtx=CLContextCreate(i);

Ensuite, tout fonctionne - le coprocesseur graphique se met à transpirer, y compris en admettant qu'il s'agit d'un coprocesseur graphique :

0: Intel(R) HD Graphics 4400
OpenCL platform ver: OpenCL 1.2 
OpenCL platform profile: FULL_PROFILE
OpenCL device name: Intel(R) HD Graphics 4400
OpenCL device profile: FULL_PROFILE
OpenCL device ver: OpenCL 1.2 
OpenCL open c ver: OpenCL C 1.2 
OpenCL type: CL_DEVICE_GPU

Peut-être que la lettre clé dans ce cas, selon la spécification d'OpenCL 1.2, est device(s ) ? C'est-à-dire que le wrapper MQL5 retournera probablement un tableau de périphériques GPU filtré par le typeCL_DEVICE_TYPE_GPU plutôt qu'un seul périphérique ?

Nous devrions nous rapprocher de l'implémentation de la spécification - sélectionner tous les dispositifs d'un type donné dans le contexte et introduire une fonction supplémentaire similaire àclGetContextInfo(,CL_CONTEXT_NUM_DEVICES,). Après tout, les gens peuvent avoir une ferme de plusieurs GPU effectuant différents types de tâches.

UPD : J'ai une autre suggestion - peut-être que le problème est qu'aucun classement n'est défini pour un IGP et que MQL5 ne peut pas choisir le périphérique GPU avec le classement le plus élevé ?

Au fait, quel est le critère utilisé pour déterminer cette coolitude (cote) ? fréquence des GPU * nombre d'unités ?

clCreateContextFromType
  • www.khronos.org
clCreateContextFromType. Create an OpenCL context from a device type that identifies the specific device(s) to use.
 
aim-1:

Le bogue n'est toujours pas corrigé - Les IGP graphiques intégrés au processeurIntel ne sont pas sélectionnés dans le contexte comme le seul périphérique GPU avec un filtre par type de périphérique :


Merci, je vais m'en occuper maintenant.

Vérifié sur l'ordinateur portable en désactivant Nvidia :

device #0:  GPU NVIDIA Corporation GeForce GTX 1050 Ti with Max-Q Design with OpenCL 1.2 (6 units, 1417 MHz, 4096 Mb, version 442.70, rating 101)
device #1:  GPU Intel(R) Corporation Intel(R) UHD Graphics 630 with OpenCL 2.1 (24 units, 1200 MHz, 13014 Mb, version 26.20.100.7985, rating 73)

Après la désactivation, il trouve automatiquement le GPU intégré et fonctionne :

OpenCL.Seascape (GBPUSD,M30)    OpenCL: GPU device 'Intel(R) UHD Graphics 630' selected


Notez que votre version des pilotes Intel est 10.18.14.511 et que la mienne est 26.20.100.7985.

Je vous recommande de mettre à jour tous les pilotes, de mettre toutes les mises à jour du système d'exploitation et de réessayer.
 
aim-1:

Le bogue n'est toujours pas corrigé - Les IGP graphiques intégrés au processeurIntel ne sont pas sélectionnés dans le contexte comme un seul périphérique GPU avec un filtre de type de périphérique :

Veuillez faire ce qui suit :

  1. Fermer le terminal
  2. Supprimer OpenCL de la ruche de registre "HKEY_CURRENT_USER\Software\MetaQuotes Software
  3. Démarrer le terminal et tester


Après cela, vérifiez le journal du terminal pour les erreurs OpenCL

Par exemple :

Erreur de test de performance du dispositif OpenCL N : 'error text'

ou

Échec du test de performance du périphérique N d'OpenCL


Vous devez vérifier les mises à jour de votre pilote vidéo Intel.

Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
Запуск платформы - Для продвинутых пользователей - Справка по MetaTrader 5
  • www.metatrader5.com
По завершении установки в меню "Пуск" создается группа программ торговой платформы, а на рабочем столе дополнительно помещается ярлык программы. Используйте их для запуска. Нельзя запускать одновременно две копии платформы из одной директории. Чтобы одновременно запустить несколько копий, установите соответствующее количество программ в разные...
 
Renat Fatkhullin:

Notez que votre version des pilotes Intel est 10.18.14.511 et que la mienne est 26.20.100.7985.

Je recommande de mettre à jour tous les pilotes, de mettre toutes les mises à jour du système d'exploitation et de réessayer.

Merci pour le soutien rapide, Renat !

Bien sûr, le sujet OpenCL est très savoureux et il me motive à aller au MQL5, d'autant plus qu'il y a déjà beaucoup de bon matériel sur ce sujet dans les articles de MQL5.com.

La propreté habituelle en ce qui concerne les mises à jour avant les Complies a été observée, bien sûr. Aujourd'hui, j'ai passé toute la nuit à essayer de comprendre les pilotes et le SDK.

Le site web d'Intel pour cette pierre (IGP) a installé la dernière (du 25.11.2019 à la version Q3'13, vos pilotes de génération CPU), c'est-à-dire que le CPU et le GPU sont tous deux pris en charge. CPU only runtime supprimé auparavant, registre dans les branches de Khronos nettoyé.

Le SDK original d'Intel pour les applications OpenCL 2016 R2, qui prenait en charge Windows 8.1 et les GPU des processeurs Intel Core de 4e génération, n'est plus disponible sur le site Web d'Intel. Si vous savez où je peux le télécharger sans virus, je vous en serais reconnaissant.

Mais le runtime devrait également fonctionner normalement, ce qui est le cas. Le GPU est visible à la fois par les commandes d'information MQL5 (voir ci-dessus) lorsqu'il est sélectionné explicitement dans CLContextCreate et par la vitesse EA SeaScape. De même, aucune erreur n'est affichée dans les journaux.

Je vais essayer d'ouvrir votre branche de registre plus tard dans la soirée après le travail et d'utiliser un démarrage spécial pour jouer avec, mais l'absence de notation MQL5 attribuée à mon GPU est la raison de son élimination selon l'algorithme du concours de beauté du filtre CL_USE_GPU_ONLY.

 
aim-1:

Merci pour votre soutien rapide, Renat !

Bien sûr, le sujet OpenCL est très savoureux et il me motive à aller au MQL5, d'autant plus qu'il y a déjà beaucoup de bon matériel sur ce sujet dans les articles de MQL5.com.

La propreté habituelle en ce qui concerne les mises à jour avant les Complies a été observée, bien sûr. Ce soir, j'ai passé toute la nuit à essayer de comprendre les pilotes et le SDK.

Le site web d'Intel pour cette pierre (IGP) a installé la dernière (du 25.11.2019 à la version Q3'13, vos pilotes de génération CPU), c'est-à-dire que le CPU et le GPU sont tous deux pris en charge. CPU only runtime supprimé auparavant, registre dans les branches de Khronos nettoyé.

Le SDK original d'Intel pour les applications OpenCL 2016 R2, qui prenait en charge Windows 8.1 et les GPU des processeurs Intel Core de 4e génération, n'est plus disponible sur le site Web d'Intel. Si vous savez où je peux le télécharger sans virus, je vous en serais reconnaissant.

Mais le runtime devrait également fonctionner normalement, ce qui est le cas. Le GPU est visible à la fois par les commandes d'information MQL5 (voir ci-dessus) lorsqu'il est sélectionné explicitement dans CLContextCreate et par la vitesse d'EA SeaScape.

J'essaierai d'ouvrir votre branche de registre plus tard dans la soirée après le travail et d'utiliser un démarrage spécial pour jouer, mais à mon avis, l'absence de l'évaluation de mon GPU attribuée par MQL5 est la raison de son élimination selon l'algorithme du concours de beauté à travers le filtre CL_USE_GPU_ONLY.

Pour notre part, nous allons également jeter un coup d'œil et ajouter d'autres journaux.