IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Nvidia vise une capitalisation boursière de 1 000 milliards de dollars et compte sur la programmation parallèle et l'open source pour y arriver

Le , par Stéphane le calme

112PARTAGES

4  0 
Les processeurs graphiques deviennent incontournables en informatique, c'est pourquoi Nvidia intensifie son travail avec les normes et les communautés open source sur des technologies en aval (downsteam) autrefois largement exclusives aux outils de développement de l'entreprise. Pour mémoire, en informatique, « en aval » fait référence à la transmission de données à un utilisateur final ou vers un utilisateur final à partir d'un serveur central ou d'un point d'origine. Cela contraste avec les transmissions en amont, qui se déplacent de l'utilisateur final vers le référentiel central.

Beaucoup de travail est fait spécifiquement autour des langages de programmation comme C++ et Fortran, qui sont réputés être en retard sur l'implémentation native pour exécuter du code sur des systèmes hautement parallèles. L'objectif est de rendre les environnements informatiques génériques et les compilateurs plus productifs et accessibles, a expliqué Timothy Costa, chef de produit du groupe pour le calcul haute performance et le calcul quantique chez Nvidia.

« En fin de compte, notre objectif avec la communauté open source et la programmation est d'améliorer la concurrence et le parallélisme pour tous. Je dis cela parce que je parle des CPU et des GPU », a déclaré Costa.

De nombreuses technologies ouvertes et généralisées sont liées aux travaux antérieurs effectués par Nvidia dans son framework de programmation parallèle CUDA, qui combine des bibliothèques ouvertes et propriétaires.

CUDA

Les constructeurs ont décidé de créer des langages qui permettent d'exploiter les possibilités de ces processeurs graphiques. Ils n'ont pas été les seuls.

Par exemple, l'université de Stanford a créé le BrookGPU, le tout premier langage, un dérivé du C, qui permet d'utiliser les API DirectX et OpenGL, ainsi que GLSL ou CG. L'avantage de ces solutions est qu'elles sont utilisables sur toutes les GPU qui supportent DirectX et/ou OpenGL, c'est-à-dire la majorité d'entre eux, et la totalité ces dernières années. Cependant, cette universalité se traduit aussi par un manque de performances par rapport à d'autres bibliothèques plus proches du matériel.

Ainsi, ATI a développé Close to Metal, une bibliothèque très bas niveau. Cette bibliothèque sera suppléée par Stream, mais cette dernière est plus spécifiquement dirigée vers les processeurs FireStream, prévus pour le calcul.

Ensuite vient NVIDIA, avec CUDA, une technologie disponible sur toutes les cartes graphiques grand public depuis la série des GeForce 8000 et sur tous les supercalculateurs Tesla.


CUDA, ou Compute Unified Device Architecture, est la réponse de NVIDIA aux demandes sans cesse croissantes de puissance de calcul. Cette bibliothèque, dévoilée en 2007, permet d'employer la puissance de calcul des GPU. CUDA a été présenté en tant qu'ensemble d'outils et de frameworks de programmation permettant aux développeurs d'écrire des programmes sur des GPU. Mais la stratégie CUDA a changé à mesure que l'utilisation de la GPU s'est étendue à davantage d'applications et de secteurs.

Nvidia est largement connue pour dominer le marché des GPU, mais CUDA est au centre du repositionnement de l'entreprise en tant que fournisseur de logiciels et de services à la recherche d'une valorisation de 1 000 milliards de dollars. Actuellement, la capitalisation boursière de Nvidia est de 490,26 milliards de dollars.


L'objectif à long terme est que Nvidia soit un fournisseur complet ciblant des domaines spécialisés tels que la conduite autonome, l'informatique quantique, les soins de santé, la robotique, la cybersécurité et l'informatique quantique. Nvidia a construit des bibliothèques CUDA spécialisées dans ces domaines et fournit également le matériel et les services que les entreprises peuvent exploiter.

La stratégie full-stack est mieux illustrée par le concept d'une « usine d'IA » présenté par le PDG Jensen Huang lors de la récente conférence sur la technologie GPU. Le concept est que les clients peuvent déposer des applications dans les méga centres de données de Nvidia, le résultat étant un modèle d'IA personnalisé qui répond aux exigences spécifiques du secteur ou de l'application.

Nvidia a deux façons de gagner de l'argent grâce à des concepts tels que l'usine d'IA : en utilisant la capacité de la GPU ou en utilisant des bibliothèques CUDA spécifiques au domaine. Les développeurs peuvent utiliser des frameworks de programmation parallèle open source qui incluent OpenCL sur les GPU de Nvidia. Mais pour ceux qui souhaitent investir, CUDA fournira un coup de pouce supplémentaire, car il est réglé pour fonctionner en étroite collaboration avec la GPU de Nvidia.

Le parallélisme pour tous

Alors que la programmation parallèle est répandue dans le HPC, l'objectif de Nvidia est de la standardiser dans l'informatique grand public. La société aide la communauté à standardiser les meilleurs outils de leur catégorie pour écrire du code parallèle portable sur toutes les plateformes matérielles, indépendamment de la marque, du type d'accélérateur ou du framework de programmation parallèle.

« Si vous rebondissez entre de nombreux modèles de programmation différents, vous allez avoir plus de lignes de code », a prévenu Costa.

Nvidia est impliqué dans un comité C++ qui définit la tuyauterie qui orchestre l'exécution parallèle de code portable sur le matériel. Un contexte peut être un thread CPU effectuant principalement des E/S, ou un thread CPU ou GPU effectuant des calculs intensifs. Nvidia est spécifiquement actif dans l'apport d'un vocabulaire et d'un framework standard pour l'asynchronisme et le parallélisme que les développeurs C++ exigent.

« Chaque institution, chaque acteur majeur, a un compilateur C++ et Fortran, donc ce serait fou de ne pas le faire. Au fur et à mesure que le langage progresse, nous arrivons à un endroit où nous avons de véritables normes ouvertes avec une portabilité des performances entre les plateformes », a noté Costa.

« Ensuite, les utilisateurs sont bien sûr toujours en mesure, s'ils le souhaitent, d'optimiser avec un modèle de programmation spécifique au fournisseur qui est lié au matériel. Je pense que nous arrivions ici à une sorte de Mecque de la productivité pour les utilisateurs finaux et les développeurs », a mentionné Costa.

La normalisation au niveau du langage rendra la programmation parallèle plus accessible aux développeurs, ce qui pourrait également stimuler l'adoption de frameworks de programmation parallèle open source comme OpenCL, a-t-il déclaré. Bien sûr, le propre compilateur de Nvidia va extraire les meilleures performances et la meilleure valeur sur ses GPU, mais il est important de supprimer les obstacles pour apporter le parallélisme aux normes de langage, quelle que soit la plateforme, a estimé Costa.

« En nous concentrant sur les normes de langage, nous nous assurons que nous avons une véritable étendue de compilateurs et de prise en charge de la plateforme pour la programmation de modèles de performance », a-t-il expliqué, ajoutant que Nvidia travaille avec la communauté depuis plus d'une décennie pour apporter des changements de langage de bas niveau pour le parallélisme.

Le travail initial concernait le modèle de mémoire, qui était inclus dans C++ 11, mais devait être avancé lorsque le parallélisme et la concurrence ont commencé à s'imposer. Le modèle de mémoire en C++ 11 se concentrait sur l'exécution simultanée sur des puces multicœurs, mais manquait d'intérêt pour la programmation parallèle.

La norme C++ 17 a introduit les bases des fonctionnalités de parallélisme de niveau supérieur, mais une véritable portabilité viendra dans les futures normes. La norme actuelle est C++ 20, avec C++ 23 à venir.

« Ce qui est formidable maintenant, c'est parce que cette tuyauterie a été posée, si vous commencez à regarder les prochaines itérations de la norme, vous verrez de plus en plus de fonctionnalités orientées utilisateur et productives qui vont dans ces langages, qui sont vraiment portables en termes de performances. Toute architecture matérielle dans l'espace CPU et GPU pourra en tirer parti », a promis Costa.

En février, Nvidia a annoncé qu'il mettait fin à ses efforts pour racheter la société de technologie des puces ARM et qu'il paierait une indemnité de rupture de 1,26 milliard de dollars au japonais SoftBank, la société mère d'ARM. Nvidia a renoncé à l'opération en raison de défis réglementaires importants, notamment une enquête au Royaume-Uni et une action en justice de la Federal Trade Commission (FTC) des États-Unis. En outre, de nombreux clients d'ARM ont également protesté contre ce rachat, alléguant qu'à la fin de l'opération, Nvidia pourrait potentiellement devenir à la fois un fournisseur et un concurrent des détenteurs de licences ARM.

Source : Nvidia

Et vous ?

Que pensez-vous de la stratégie de Nvidia ?

Voir aussi :

Facebook passe derrière Nvidia en matière de capitalisation boursière et est désormais la huitième entreprise américaine la plus valorisée, sa valeur est tombée en dessous de 600 Mds$ mardi
L'accord de 66 milliards de dollars pour le rachat d'Arm par Nvidia s'effondre, la transaction a fait l'objet d'un examen minutieux de la part des régulateurs et a été contestée par les rivaux
Une introduction à CUDA
Des cybercriminels utilisent un certificat Nvidia pour les faire apparaître comme des applications Nvidia sur Windows, des identifiants de plus de 70 000 employés de Nvidia ont fuité

Une erreur dans cette actualité ? Signalez-nous-la !