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

 
Doom peut-il être exécuté dans la fenêtre mt5 ?
 

Le code corrigé est reposté. Fonctionne même sur le CPU.

Nous avons lancé OpenCL dans MetaTrader 5 en février 2012, dans la version 581. Maintenant, OpenCL lui-même et le support matériel sont à un niveau acceptable et nous sommes revenus au sujet de l'utilisation d'OpenCL en mathématiques et en graphisme.

 
Alexey Volchanskiy:
Renat a dit il y a longtemps qu'OpenCL fonctionne dans le testeur MT5, mais seulement sur la machine locale, pas dans le nuage. Alors, utilisez-le au moins maintenant.
Eh bien, il n'y a pas encore de noyau GP dans le testeur standard, tous les agents sont uniquement des CPU.
 

Alors, comment ça se passe avec le multitâche ? Personne n'a répondu.

  1. Si plusieurs EA sont exécutées dans un terminal, peuvent-elles partager et utiliser OpenCL de manière indépendante ?
  2. Il en va de même avec les terminaux multiples.

 
Vitalie Postolache:
Eh bien, dans le testeur de noyau standard, les GP ne fonctionnent en aucun cas, tous les agents sont uniquement des CPU.
Ils travaillent dans le testeur standard des agents locaux.
 
Alexey Volchanskiy:

Alors, comment ça se passe avec le multitâche ? Personne n'a répondu.

  1. Si plusieurs EA sont exécutées dans un terminal, peuvent-elles partager et utiliser OpenCL de manière indépendante ?
  2. Il en va de même avec les terminaux multiples.

Oui, tout fonctionne dans les limites de l'adéquation des ressources.
 
Vitalie Postolache:
Eh bien, dans le testeur standard, les cœurs GP ne fonctionnent pas encore, tous les agents sont uniquement des CPU.
Merci pour l'information, c'est bien ça ? Alors je n'ai pas encore vraiment besoin d'OpenCL.
 
Vitalie Postolache:
Si non seulement 8 à 16 cœurs de CPU, mais des milliers de cœurs de GP sont utilisés pour l'optimisation, les performances exploseront. Si une telle possibilité est mise en œuvre, bien sûr.
Alexey Volchanskiy:
Renat affirme depuis longtemps qu'OpenCL fonctionne dans le testeur MT5, mais uniquement sur une machine locale, et non dans le nuage. Alors, utilisez-le au moins maintenant.

L'optimisation habituelle consiste à transmettre une copie de l'EA à chaque agent, c'est-à-dire qu'il s'agit d'une mise en parallèle au niveau de l'EA entière.

Et seule une partie de la logique peut être envoyée au GPU qui peut être mise en parallèle avec l'EA, une copie de l'EA ne peut pas être envoyée au GPU. C'est-à-dire que seule une partie de la logique de l'EA de chacune des copies sur les agents locaux peut être envoyée aux "milliers de cœurs GP".

Par conséquent, il ne suffit pas de spécifier les cœurs de GP comme agents pour n'importe quel EA.

 
Renat Fatkhullin:
Travailler en tant que testeur standard dans les agents locaux.
Pourquoi est-ce que je ne vois que les cœurs du CPU (Core i5, 8 cœurs - 8 agents) lors de l'optimisation, alors que j'ai une NVIDIA 780GTX ?
 
Andrey Dik:

Dans le cadre d'une optimisation normale, une copie de l'AE est envoyée à chaque agent, c'est-à-dire qu'il y a parallélisation au niveau de l'ensemble de l'AE.

Et seule une partie de la logique peut être envoyée au GPU qui peut être mise en parallèle avec l'EA, une copie de l'EA ne peut pas être envoyée au GPU. C'est-à-dire que seule une partie de la logique de l'EA de chacune des copies sur les agents locaux peut être envoyée aux "milliers de cœurs GP".

Par conséquent, il ne suffit pas de spécifier les cœurs de GP comme agents pour n'importe quel EA.

Oui, je connais un peu l'OCL, j'en suis conscient. Ainsi, il n'est pas nécessaire de charger l'ensemble de l'EA dans la carte, il suffit de laisser charger les fragments de code parallèles qui, en règle générale, représentent un pourcentage du code entier.