En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour recueillir vos informations de connexion, collecter des statistiques en vue d'optimiser les fonctionnalités du site et adapter son contenu à vos centres d'intérêt.
En savoir plus et paramétrer les cookies Accepter
Comparateur de logiciels de gestion
Avec notre comparateur en ligne, trouvez en quelques clics la solution à votre besoin
agenda
Agenda
Solutions IT
  • 06/12/2017
    Paris Open Source Summit

    Paris Open Source Summit, premier événement européen libre et open source, est le fruit de…

    en détail En détail...
  • 15/11/2017
    Cloud Expo Europe Paris 2017

    Cloud Expo Europe, Paris 2017, c'est le grand rassemblement d'experts dédiés au Cloud. Parmi les…

    en détail En détail...
Jalios_Digital Summit 2017_leaderboard

C++ AMP, GPGPU, vNext : Microsoft dope son C++ à sa manière

GlobalK_Azure _pave

Le 13 juillet au siège de Microsoft France, un des gourous C++ de l’éditeur, Steve Teixeira, a dévoilé et démontré les prochaines grandes nouveautés C++ dans les outils Microsoft prévus dans les prochains. Et c’est du très costaud : gpgpu, massivement parallèle, C++ AMP, architecture C++ de Visual Studio modifiée, nouveaux outils.

Une des grosses nouveautés est l’arrivée de C++ AMP. AMP signifie massivement parallèle accélérée. C’est à dire comment utiliser les ressources matérielles, particulièrement les GPU, pour accélérer le traitement parallèle. Depuis le mois dernier, quelques articles de développement apparaissent sur MSDN sur l’idée de C++ AMP. Il s’agit d’une technique pour intégrer dans l’architecture parallèle les ressources GPU. AMD avait annoncé courant juin dernier une telle approche. C++ AMP sera intégré à Visual Studio et le compilateur C++. Il s’appuie sur la pile d’exécution DirectX avec un accès matériel et une abstraction de haut niveau. Attention, C++ AMP s’appuie sur la plate-forme DirectX, et même plus précisément DirectCompute, pour utiliser les GPU même si AMP est une spécification ouverte. Ce qui limite donc son usage car il faut des GPU compatibles. Il ressemble à Cuda de AMD et même à OpenCL. L’usage de DirectX / Direct3D comme plate-forme impose des restrictions dans le code qui devra implémenter par conséquent AMP. Ainsi, le développeur n’aura pas accès aux char, long double, des limitations dans les lambdas et encore l’usage uniquement des types supportés par Direct3D.

La chaîne de compilation change aussi. Car, un code AMP passera par un HLSL puis le fx shader compiler pour ensuite reprendre une chaine classique pour générer de l’exécutable. Dans une chaine classique, le code C++ va directement dans le compilateur VC++. Bref, le code AMP ne passe pas dans le compilateur « classique » mais spécifique à la plate-forme GPU. C++ AMP ne sera pas obligatoire dans une application parallélisée. Son usage nécessite une adaptation non négligeable du code mais l’avantage est de pouvoir mixer parallélisme CPU et GPU. Par contre, aucune annonce faite sur une compatibilité avec Cuda et OpenCL. Si nous prenons le cas d’un traitement parallèle de données, les deux canaux (GPU et CPU) sont séparés pour éviter tout débordement et fuite. Et dans ce cas, la CPU est vu comme le hosteur et les GPU comme les accélérateurs. Reste à savoir ce que l’on voudrait garder en CPU et mettre en GPU.

C++ AMP bénéficiera de tous les outils de Visual Studio : debug, intellisense, émulation gpu, nouveaux visualiseurs. Pour le moment, les équipes travaillent sur cette intégration. Aucune date de disponibilité n’a été donnée mais peut être d’ici la fin de l’année ou début 2012, lors de la sortie du prochain Visual Studio.

Steve est aussi revenu sur le prochain PPL (Parallel Patterns Library) de Visual Studio. Là aussi beaucoup de nouveautés, d’améliorations : architecture affinée, nouveaux algorithmes et conteneurs, notion de continuation des tasks. Pour rappel, PPL est le modèle de développement parallèle alors que le concurrency runtime est la partie exécution. On bénéficiera du support du NUMA, d’un nouveau modèle de task (task ).

Il est tout de même regrettable de créer un 3e modèle CPU – GPU après Cuda et OpenCL. Cela ne va finalement pas simplifier la vie du développement. Pourquoi Microsoft n’a pas appuyé son approche sur les deux précédents qui sont matures et commencent à s’établir sur le marché ? Certes, Microsoft voulait sans doute promouvoie sa technologie mais c’est une occasion manquée !

Ne manquez pas la grande conférence C++ du 13 octobre prochain.

Auteur : François Tonic

C++ AMP, GPGPU, vNext : Microsoft dope son C++ à sa manière
Notez cet article

Laisser un commentaire

Réussir son projet collaboratif-14 novembre

Jalios Digital Summit, une journée qui vous donnera toutes les clés pour réussir votre projet collaboratif, le 14 novembre 2017 au Centre de Conférences Cœur Défense

Inscription

Sondage

Windows 10 et vous

Voir les résultats

Loading ... Loading ...
Nos derniers dossiers
Témoignages
Juridique
  • Avantages fiscaux d'Apple et d'Amazon : Bercy soutient les décisions de la Commission européenne

    Dans une déclaration commune, Bruno Le Maire, Gérald Darmanin et Mounir Mahjoubi se réjouissent des…

    > En savoir plus...
Paroles d'experts
Paroles
d'experts
  • Vidéo - L'Assistance Publique des Hôpitaux de Marseille organise sa gestion de crise

    Pour Philippe Tourron, le RSSI de l’APHM, réagir vite en cas de crise est primordial. …

    > En savoir plus...
Etudes/Enquêtes
  • Dépenses informatiques : 3,7 milliards de dollars prévues en 2018

    C'est le chiffre prévu par le cabinet d'analyse Gartner. Soit une hausse de 4,3 %…

    > En savoir plus...
newsletter
Inscription Newsletter

Restez informé. L’abonnement à la newsletter est gratuit.

> Abonnement

Guide de la cybersécurité 2017-2018

Bomgar_Cybersecurity_skycraper
Agenda
livres blancs
Les Livres
Blancs
  • Guide du Service Management pour le DSI à l’ère mobile

    > Voir le livre
  • Menaces avancées, découvrez les techniques de détection avancée

    > Voir le livre
Global Knowledge_Docker_Skycraper