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

 
Marat Sultanov:

Personne n'utilise OpenCL dans des tâches pratiques ? :)

OK. Désolé, êtes-vous comme moi, êtes-vous bloqué à cause de cela, ou voulez-vous juste savoir pour le développement général ?


Je prévois de l'utiliser dans MQL5, j'ai donc décidé de tracer le sujet
 

Grande nouvelle :) Les développeurs ont tout découvert et corrigé ! J'ai hâte de voir la nouvelle construction :)

Ajouté : tout est corrigé dans la version 1586.

 

Je vois dans l'optimiseur que vous ne pouvez pas avoir plus d'un agent local en utilisant OpenCL. C'est regrettable.

Chers développeurs :

1) Que signifie l'erreur 5114 ? Cette erreur a été tirée des agents qui ne voulaient pas utiliser OpenCL. Il n'y a pas de description de cette erreur dans l'aide.

2) Y aura-t-il à l'avenir un moyen d'activer plusieurs agents locaux avec OpenCL dans l'optimiseur ?

 
Marat Sultanov:

Je vois dans l'optimiseur que vous ne pouvez pas avoir plus d'un agent local en utilisant OpenCL. C'est regrettable.

Chers développeurs :

1) Que signifie l'erreur 5114 ? Cette erreur a été tirée des agents qui ne voulaient pas utiliser OpenCL. Il n'y a pas de description de cette erreur dans l'aide.

2) Y aura-t-il à l'avenir un moyen d'activer plusieurs agents locaux avec OpenCL dans l'optimiseur ?


S'il y a une limite à l'utilisation d'OpenCL dans le testeur, il serait logique d'utiliser OpenCL non pas à partir de MQL5, mais dans une dll externe en C++ où il y a plus d'options, y compris la bibliothèque sous OPenCL OOP
 
Konstantin:
S'il y a des limitations lors de l'utilisation d'OpenCL dans le testeur, il est logique d'utiliser OpenCL non pas à partir de MQL5, mais dans une dll externe en C++ où vous avez plus de possibilités, y compris une bibliothèque pour OPenCL OOP

Bien sûr que vous l'êtes. C'est ce que je fais. Il est plus facile d'utiliser CUDA dès le départ - pour un meilleur confort de codage et de meilleures performances.

Mais nous parlons de méthodes natives...

 
Marat Sultanov:

Bien sûr que vous l'êtes. C'est ce que je fais. Il est plus facile d'utiliser CUDA dès le départ - pour un meilleur confort de codage et de meilleures performances.

Mais nous parlons de méthodes natives...

Malheureusement, ils ont encore des râteaux inexplorés, et j'ai peu de temps pour les étudier, donc pour le moment je me tourne vers CUDA et TensorFlow.
 
Konstantin:
Malheureusement, ils ont encore des râteaux inexplorés et j'ai peu de temps pour les étudier, donc pour l'instant je me tourne vers CUDA et TensorFlow.

Oui, mais tout en un seul endroit et en mode natif :)

Je suis généralement satisfait de l'implémentation de MQL5 : tout est simple, optimal et il y a un minimum de bugs, et ceux qui sont détectés sont corrigés plutôt rapidement et volontiers. Et les développeurs n'ont pas négligé le développement de cette activité, ce qui est très encourageant. Aujourd'hui, les programmeurs disposent de ressources étendues et l'écriture du code CL est devenue beaucoup plus pratique et rapide.

CUDA est très attrayant en raison de son optimisation pour ses cartes et son débogueur, mais il n'est toujours pas destiné à un large marché, où il y a tout autant de cartes AMD.

TensorFlow, après tout, est destiné à l'apprentissage automatique, et il s'agit de tâches plus spécifiques. Mais c'est une technologie intéressante, oui.

J'ai tiré des conclusions pour moi-même :

1) Pour l'universalité et un large marché, il est préférable d'utiliser OpenCL à partir de MQL5.

2) Si vous le faites pour vous-même avec un rendement maximal, n'utilisez pas CUDA natif.

 
Marat Sultanov:

Oui, mais tout en un seul endroit et en mode natif :)

Je suis généralement satisfait de l'implémentation de MQL5 : tout est simple, optimal et il y a un minimum de bugs, et ceux qui sont détectés sont corrigés plutôt rapidement et volontiers. Et les développeurs n'ont pas négligé le développement de cette activité, ce qui est très encourageant. Aujourd'hui, les programmeurs disposent de ressources étendues et l'écriture du code CL est devenue beaucoup plus pratique et rapide.

CUDA est très attrayant en raison de son optimisation pour ses cartes et son débogueur, mais il n'est toujours pas destiné à un large marché, où il y a tout autant de cartes AMD.

TensorFlow, après tout, est destiné à l'apprentissage automatique, et il s'agit de tâches plus spécifiques. Mais c'est une technologie intéressante, oui.

J'ai tiré des conclusions pour moi-même :

1) Pour l'universalité et un large marché, il est préférable d'utiliser OpenCL à partir de MQL5.

2) Si je veux travailler uniquement pour moi-même avec un rendement maximal, alors pas la CUDA native.

Je suis d'accord avec les développeurs, mais OpenCL n'est toujours pas pratique à utiliser dans les calculs statistiques, car beaucoup de code doit être porté en C, même s'il est écrit dans un module ou une bibliothèque externe. En tout cas, je n'ai pas trouvé de solution pour y connecter alglib. TensorFlow a tout cela à bord, mais il y a un écueil, je dois écrire une partie en Phyton ;)) et bien sûr la limitation à l'utilisation des cartes AMD.

Peut-être que quelqu'un ici portera Alglib en fonctions OpenCL.

 
Marat Sultanov:

Je vois dans l'optimiseur que vous ne pouvez pas avoir plus d'un agent local en utilisant OpenCL. C'est regrettable.

Chers développeurs :

1) Que signifie l'erreur 5114 ? Cette erreur a été tirée des agents qui ne voulaient pas utiliser OpenCL. Il n'y a pas de description de cette erreur dans l'aide.

2) Y aura-t-il à l'avenir un moyen d'activer plusieurs agents locaux avec OpenCL dans l'optimiseur ?

  1. Le code d'erreur 5114 a été ajouté très récemment ; il n'a pas encore été ajouté à l'aide.
    Aucun dispositif OpenCL approprié n'a été trouvé parmi ceux qui étaient disponibles.
    Cette erreur peut survenir si vous spécifiez un contexte où seul le périphérique GPU doit être utilisé alors que des périphériques CPU sont disponibles.
  2. Un agent par dispositif OpenCL, juste comme ça.
 
Ilyas:
Puisque c'est une possibilité, pouvez-vous expliquer comment surmonter cette erreur ?

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Voici ce que vous pouvez faire avec OpenCL directement dans le terminal MetaTrader 5 sans aucune DLL

fxsaber, 2017.04.14 14:49

Il est d'abord écrit
2017.04.14 15:47:04.255 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)
Et puis 20 secondes plus tard, il est dit
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       OpenCL not found. Error code=5101
2017.04.14 15:47:23.579 BitonicSort (RTS-6.17,M1)       Error in OpenCL initialization. Error code=5101

Il n'y a pas de carte vidéo.