OpenCl et les outils correspondants. Critiques et impressions. - page 20

 

J'ai lu de vieilles archives de ixbt.com (fils de discussion de "fans") relatives à l'époque de la fusion entre AMD et ATI. Voici ce post (extrait) :

Думаю, что в основе лежит идея АТИ использовать графический процессор для решения физических задач. Если такой комбинированный спецпроцессор оснастить двухканальным контроллером памяти и ХайперТранспортом, его можно ставить в АМД4х4. Получится домашний суперкомпьютер. Благодаря НТ сильно уменьшатся задержки между CPU и графическим адаптером, что ускорит игры. Также всякие расчёты будут идти в несколько раз быстрее, чем на универсальном процессоре.

Cet article a été publié il y a 5 ans et demi et personne n'aurait pu connaître les pierres Llano (et OpenCL) à l'époque. Mais nous savons que l'achat d'ATI s'est avéré être une décision stratégique d'AMD.

Et maintenant - regardons le CPU AMD A8-3850 et surtout les caractéristiques de son cœur graphique(ici - brièvement) :

En conséquence, ils ont réussi à entasser jusqu'à 400 (dans la famille A8) ou 320 (A6) processeurs graphiques sous un seul couvercle de dissipateur thermique. La première est déjà au niveau de la Radeon HD 5570; seule la fréquence d'horloge est inférieure de 50 MHz.

Plus bas, dans le tableau du même article, le cœur graphique du processeur A8 est listé comme Radeon HD 6550D.

Bien sûr, il n'y a pas 1280 convoyeurs comme dans le HD 6930, mais 400 n'est pas mal du tout en comparaison avec les graphiques intégrés Intel HD 2000.

On peut donc se demander si cela vaut la peine d'essayer d'exécuter du code OpenCL sur l'unité graphique intégrée de l'APU sans vis discrète. Cependant, la mémoire serait DDR3 plutôt que GDDR5 et la largeur du bus est... ...nous ne savons pas quelle est la largeur du bus. Mais je doute fort qu'AMD n'ait pas pensé à cette façon d'utiliser ses pierres, lors de la fabrication du Llano.

P.S. Pour être franc, je n'ai jamais été intéressé par les processeurs d'AMD, mais à la lumière du dernier virage de Metaquotes vers les calculs GPGPU, j'ai réfléchi.

P.P.S. Bonne nouvelle : la prochaine génération de processeurs Intel prendra en charge OpenCL.

 

Cela signifie qu'il est inutile d'acheter des cartes graphiques dotées d'OpenCL, car la lenteur du bus de transfert de données entre le CPU et le GPU, et inversement, annulera dans de nombreux cas les performances du calcul. Si le GPU se trouve sur un bus à haute vitesse avec le CPU, cet inconvénient sera éliminé.

En outre, il est probable que les cartes graphiques seront vides, c'est-à-dire qu'elles ne seront pas du tout équipées de GPU, comme c'était le cas autrefois avec les modems dits logiciels, c'est-à-dire des appareils sans processeur. On peut supposer que les cartes graphiques seront intégrées à la carte mère afin que tout se passe directement sans emplacements supplémentaires.

Quoi qu'il en soit, qui sait, mais je ne suis pas pressé d'acheter des cartes graphiques compatibles avec le GPU parce que je ne joue pas à des jeux et que dans MT5, je ne peux rien dessiner d'autre que la fractale Mandelbrot pour le moment :

1. le testeur ne prend pas du tout en charge OpenCL, c'est-à-dire qu'il est impossible d'augmenter la vitesse d'optimisation en améliorant le matériel GPU, mais uniquement par le biais de la fréquence d'horloge du CPU et de la RAM

2. Les développeurs s'interrogent toujours sur la possibilité d'accélérer les calculs pour les indicateurs TA et les oscillateurs, car les calculs vectoriels ont leurs propres caractéristiques et toutes les tâches ne peuvent pas être effectuées en les utilisant.

 
Reshetov:

Cela signifie qu'il est inutile d'acheter des cartes graphiques dotées d'OpenCL, car la lenteur du bus de transfert de données entre le CPU et le GPU, et inversement, annule dans de nombreux cas les performances des calculs. Si le GPU se trouve sur un bus à haute vitesse avec le CPU, cet inconvénient sera éliminé.

En outre, il est probable que les cartes graphiques seront vides, c'est-à-dire qu'elles ne seront pas du tout accompagnées de GPU, comme c'était le cas autrefois avec les modems dits logiciels, c'est-à-dire des appareils sans processeur. Vraisemblablement, les cartes graphiques seront intégrées à la carte mère, de sorte que tout se passe directement sans emplacements supplémentaires.

http://www.thg.ru/cpu/amd_apu_llano_a8_3500m/amd_apu_llano_a8_3500m-01.html est un examen sérieux des plans et des capacités actuelles des APU d'AMD.

Quand même, Yura, je ne serais pas si catégorique. Je ne joue pas moi-même à des jeux, et je ne vais pas encore me construire un ordinateur de bureau sur APU AMD. Alors qu'est-ce que je suis censé faire ? Achetez une carte vidéo.

Fantaisie. Dans le futur, AMD disposera d'un APU avec un CPU plus ou moins compétitif et un GPU intégré vraiment puissant à un niveau non inférieur à celui des HD 68xx-7xxx d'aujourd'hui, et de la mémoire GDDR5.... externe. Vous n'irez pas loin avec la DDR3, même avec la plus rapide.

Et Intel ne va nulle part : la concurrence n'a pas disparu, elle s'est simplement déplacée vers un autre domaine. Aujourd'hui, AMD a très peu de chances de dépasser Intel dans le domaine des processeurs, compte tenu de ses possibilités financières et de son retard technologique. Mais ils sont définitivement en avance sur les GPU intégrés. Et pour faire des graphiques avec une dissipation de chaleur saine (pas avec les 300 W actuels sur les cartes graphiques puissantes mais au moins 5 fois moins), ils devront travailler dur.

 
Mathemat:

Dis-moi, Kisa, d'artiste à artiste, tu sais dessiner ? (c) Ilf et Petrov


La question la plus importante est la suivante : pourquoi acheter un jeu vidéo, à part pour jouer ?

1. Pour dessiner des fractales 100 fois plus vite ? Je n'en ai pas besoin en enfer.

2. pour apprendre OpenCL, qui n'est pas supporté par le testeur de stratégie? Je n'en ai pas besoin non plus.


Répondez à cette question : à quoi sert la carte vidéo dans le trading automatique et tout devient clair.

 
Reshetov:

2. apprendre OpenCL, qui n'est pas supporté par le testeur de stratégie ? Je n'ai pas besoin de ça non plus.

Il n'est pas encore pris en charge. Cela va bientôt changer.
 
Reshetov:

Cela signifie qu'il est inutile d'acheter des cartes graphiques OpenCL, car la lenteur du bus de données entre le CPU et le GPU, et inversement, annule dans de nombreux cas les performances de calcul. Si le GPU se trouve sur un bus à haute vitesse avec le CPU, cet inconvénient sera éliminé.

Il y a beaucoup de tâches de calcul où vous devez faire beaucoup de calculs. Seuls les données d'entrée et les résultats sont envoyés dans les deux sens. La mémoire du GPU est propre, et même la DDR5 est suffisante pour les besoins internes.


En général, je ne sais pas, mais je ne suis pas pressé d'acheter des cartes GPU, car je ne joue pas à des jeux et dans MT5, il est impossible de dessiner quoi que ce soit d'autre que la fractale de Mandelbrot jusqu'à présent :

1. le testeur ne prend pas du tout en charge OpenCL, c'est-à-dire qu'il est impossible d'augmenter la vitesse d'optimisation en améliorant le matériel GPU ; seuls le CPU et la fréquence d'horloge de la RAM peuvent être utilisés à cette fin.

Dans le testeur, le support a simplement été désactivé par une condition, car à ce moment-là, le MQL5 Cloud Network ne tenait pas compte du statut OpenCL des agents.

Dans la prochaine version, nous l'activerons - aucun problème. Nous avons déjà effectué les changements nécessaires dans le nuage.

2. Les développeurs s'interrogent encore sur la possibilité d'accélérer les calculs pour les indicateurs TA et les oscillateurs, car les calculs vectoriels ont leurs propres caractéristiques et toutes les tâches ne peuvent pas être effectuées en les utilisant.

Oui, c'est un gros problème - la grande majorité des algorithmes ne peuvent en principe pas être accélérés sur les GPU.

Mais surtout, on observe une forte tendance à l'universalisation dans le développement des fournisseurs de GPU. S'il y a deux ans, elle n'était pas visible, s'il y a un an, on doutait de ses objectifs, aujourd'hui, ses objectifs et ses efforts sont mis en lumière.

Nous ne devons pas négliger cette direction.

 
Mathemat:

Et Intel ne va nulle part : la concurrence n'a pas disparu, mais s'est simplement déplacée vers un autre domaine. Aujourd'hui, AMD a très peu de chances de dépasser Intel dans le domaine des processeurs, compte tenu de ses possibilités financières et de son retard technologique. Mais ils sont définitivement en avance sur les GPU intégrés. Et pour faire des graphiques avec une dissipation de chaleur saine (pas avec les 300 W actuels sur les cartes graphiques puissantes mais au moins 5 fois moins), ils devront travailler dur.

Il est très positif que les fabricants aient commencé à s'ouvrir à la concurrence dans ce nouveau domaine. Sinon, le développement technologique et la concurrence dans le domaine des processeurs stagnent depuis des années.

Si les processeurs d'Intel commencent réellement à prendre en charge OpenCL en mode natif, cela signifierait une arrivée rapide d'OpenCL dans les logiciels courants.

 

À propos, nous avons fait une énorme percée dans l'universalisation des tâches pour les agents et l'ensemble du réseau de nuages MQL5. Vous verrez les changements dans les prochains builds.

En fait, MetaTrader 5 est devenu (attendez les 2-3 builds pour la finalisation) une plateforme de calcul universelle avec une mise à l'échelle illimitée. Ce changement provient également de la même zone de transition des GPU vers les calculs universels. Beaucoup de gens diront que c'est inutile, mais pour nous, l'objectif est clair et le but est atteint. Regardez les effets dans les 5-10 prochaines années.

 
Reshetov: Répondez à cette question, quel est le but de la vidéo/audio dans l'autotrading et tout devient clair et compréhensible.

Je suis en train de faire une EA. Les calculs peuvent en fait être effectués à chaque tick (très petit), mais seulement grâce au fait que j'ai mis la partie la plus difficile dans init().

Sur un i3-2120 plutôt rapide, ces calculs sont effectués en 10 secondes environ. Il y a une boucle simple, très simple, avec beaucoup d'itérations (environ un million). Nous espérons que la vitesse d'exécution d'OpenCL sera améliorée. Et il n'y a pas d'échappement de init() au stade de la recompilation constante. Pourtant, il est préférable d'attendre, disons, seulement 0,2 seconde au lieu de 10.

Pour le trading, cette optimisation n'a aucune importance (je peux tolérer 10 secondes une fois lors du lancement d'un EA), mais au stade du développement, c'est un gain de temps et de nerfs appréciable.

 
Mathemat: Il y a un cycle simple, très simple, avec beaucoup d'itérations(environ un million).

tout comme Elder : "Le système de trading devrait tenir au dos d'un timbre-poste", mais l'analyse technique n'est plus ce qu'elle était, il est temps de décomposer les ticks en quanta )))).