web-dev-qa-db-fra.com

Quel est le statut actuel de C++ AMP

Je travaille sur du code haute performance en C++ et utilise à la fois CUDA et OpenCL, et plus récemment, le format C++ AMP, que j'aime beaucoup. Je suis cependant un peu inquiet que ce ne soit pas développé et étendu et meure.

Ce qui me fait penser que même les blogs MS C++ AMP ont été silencieux pendant environ un an. En regardant la bibliothèque d’algorithmes C++ AMP http://ampalgorithms.codeplex.com/wikipage/history il semble que rien ne s’est passé depuis un an.

Le seul développement que j'ai vu est que maintenant LLVM supporte en quelque sorte le C++ AMP, donc ce n'est pas seulement Windows, mais c'est tout, et pas quelque chose qui a été dit de très loin.

Quel type de travail est en cours, le cas échéant, que vous sachiez?

30
JoeTaicoon

Ce qui me fait penser que même les blogs MS C++ AMP ont été silencieux pendant environ un an. En regardant la bibliothèque d’algorithmes C++ AMP http://ampalgorithms.codeplex.com/wikipage/history il semble que rien ne s’est passé depuis un an.

J'avais l'habitude de travailler sur la bibliothèque d'algorithmes C++ AMP. Après la version initiale, mise au point par Microsoft, j'ai construit un certain nombre de fonctionnalités supplémentaires et les ai portées vers des versions plus récentes de VS. Il semblait y avoir une perte de vitesse autour de l’ampli C++. Je n'ai pas l'intention de poursuivre les travaux sur le projet.

Faites-en ce que vous voulez. Peut-être que quelqu'un de Microsoft peut clarifier les choses?

17
Ade Miller

J'ai constaté qu'AMD utilisait encore l'AMP C++. http://developer.AMD.com/community/blog/2015/09/15/programming-models-for-heterogen-systems/http://developer.AMD.com/community/blog/2015/01/19/bolt-1-3-whats-new/ et il y a des références de forum où Intel en parle aussi.

Ce que je constate principalement, c’est que nous, les programmeurs, commençons enfin à jouer avec l’idée que nous pouvons également utiliser le GPU pour des tâches ordinaires. Surtout maintenant que les HBM arrivent sur les APU, vous pourriez faire beaucoup sur un système relativement bon marché ... donc aucune copie des données sur la carte graphique ou la mémoire principale, mais les conserver dans un "cache" BIG HBM où elles peuvent se trouver accédé "en temps réel" c'est-à-dire sans latence GPU.

Donc, Microsoft a construit une technologie vraiment vraiment Nice qui ne deviendra pertinente que dans quelques années, c’est-à-dire quand le matériel sera enfin "convivial" . Mais la chose peut devenir obsolète si elle n’avance pas comme les autres. Non pas que quelque chose ne marche pas en AMP C++, mais parce que la vitesse de changement est si grande que les programmeurs ne risquent pas de commencer à l'utiliser, s'ils ne voient pas d'avancées ... au moins un blog ou deux par an, où ils ont testé quelque chose avec pour que vous voyiez que Microsoft y croit toujours.

2
Waldemar

FWIW, nous utilisons également C++ AMP dans le monde financier. très réussi relativement facile à coder. CUDA est probablement un choix plus sûr mais si quelqu'un envisage d'apprendre AMP, je suggère de rafraîchir votre STL de base, puis de le lire sur des vues de tableaux.

1
Yaron Bental

J'utilise toujours un ampli. En ce moment, je suis en train de créer un traceur de chemins gpu (avec un peu de chance) pour les jeux. 

Il semble que l’ampli ne dispose pas de beaucoup de documentation pour le moment ou de nombreuses nouvelles mises à jour, malheureusement. C'est certainement quelque chose que j'aimerais voir mis à jour et utilisé davantage, mais il semble mort.

0
John