Compilation des programmes MQL5 avec le jeu d'instructions AVX / AVX2 + FMA3 / AVX512 + FMA3 à partir du build 3902 - page 6

Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Terminal :
Éditeur :
Au démarrage dans le journal du terminal :
Dans les paramètres de l'éditeur :
Et à la compilation dans le journal :
0 errors, 0 warnings, 14 msec elapsed, cpu='X64 Regular' 1 1
Pourquoi ? Processeur avec AVX2, dans les paramètres de compilation AVX2+FMA3 est sélectionné, mais compile en X64 Regular.... Pourquoi ?
Pourquoi ne pas faire en sorte que plusieurs options de compilation soient regroupées dans un seul fichier compilé avec priority.... ? Il doit y avoir un avenir pour une telle variante. Mais pour l'instant, ce n'est qu'un jouet.
Vous n'en avez pas besoin. X64 fonctionne et c'est très bien. Pourquoi dois-je vérifier les quatre variantes pour voir si elles fonctionnent ? Je me souviens encore de l'époque où MQL x32 et x64 donnaient des résultats différents
Et lors de la compilation dans le journal :
Pourquoi ? Processeur avec AVX2, dans les paramètres de compilation AVX2+FMA3 est sélectionné, mais il compile en X64 Regular... Pourquoi ?
Il est très probable que vous compiliez un projet et non un fichier unique.
Les projets ont leurs propres paramètres de mode de compilation.
Le passage clair à des versions spécialisées des terminaux pour les processeurs modernes est une étape importante et correcte. Nous nous concentrons sérieusement sur l'amélioration des performances de l'ensemble de la plate-forme et nous sommes désormais libres de mettre en œuvre directement de nouvelles méthodes d'optimisation sans avoir à construire des béquilles.
Il n'est pas évident de savoir comment conserver les versions précédentes des terminaux.
Par exemple, sur la machine AVX2-home, un bogue critique a été trouvé dans la version b3521 du terminal. J'avais des sauvegardes des versions précédentes sur ma machine personnelle en cas de retour en arrière temporaire jusqu'à ce que le bogue soit corrigé.
Et maintenant, sur DDS (AVX2 ne le supporte pas), où des terminaux de combat sont en cours d'exécution et où la version b3521 est installée, j'ai besoin de revenir en arrière de toute urgence. Les fichiers AVX2-exe de la machine personnelle ne fonctionneront pas. Comment faire pour revenir en arrière ?
Ajout de l'affichage et de la sélection du mode de compilation dans la barre d'outils :
Comment revenir en arrière ?
Veuillez créer un mécanisme qui sauvegarderait automatiquement les fichiers exe actuels lorsque LiveUpdate démarre.
Lorsque vous distribuez des logiciels, y compris sur le marché, vous devez créer la variante x64.
Vous compilez probablement un projet, et non un fichier unique.
Les projets ont leurs propres paramètres de mode de compilation.
Non, un seul fichier .mqh
UPD. Lors de la compilation des classes dans le fichier .mqh, oui, X64 Regular est utilisé, mais lors de la compilation de .mq5 auquel le fichier avec les classes est attaché, tout va bien :
Et pour les agents du nuage ?
Dans MQL5 Cloud Network, la limite supérieure pour EX5 sera sur AVX2 et les tâches seront automatiquement distribuées aux agents avec l'ensemble de CPU requis.
En d'autres termes, tout fonctionnera de manière transparente dans quelques jours. Demain, nous lançons une version bêta ouverte pour les courtiers, et dans une semaine, nous aurons une version définitive.
Dans le réseau MQL5 Cloud, la limite supérieure pour EX5 sera sur AVX2 et les tâches seront automatiquement distribuées aux agents avec l'ensemble de CPU requis.
En d'autres termes, tout fonctionnera de manière transparente dans quelques jours. Demain, nous lançons la version bêta ouverte pour les courtiers, et dans une semaine, nous aurons la version définitive.
Les agents sans AVX2 recevront-ils moins de missions ? Si compilé sur AVX512 - ne peut pas utiliser le nuage ?