Maison Périphériques technologiques IA Jack Dongarra, lauréat du prix Turing : il reste encore beaucoup de place au sommet du calcul intensif

Jack Dongarra, lauréat du prix Turing : il reste encore beaucoup de place au sommet du calcul intensif

May 04, 2023 am 10:58 AM
计算 量子

Les superordinateurs peuvent être considérés comme les champions olympiques du calcul scientifique. Grâce aux simulations numériques, les superordinateurs enrichissent notre compréhension du monde : qu’il s’agisse des étoiles à des années-lumière de l’univers, de la météo et du climat de la Terre ou du fonctionnement du corps humain.

Jack Dongarra est une force motrice du calcul haute performance depuis plus de quatre décennies. Plus tôt cette année, le prix ACM A.M. Turing 2021 a été décerné à Dongarra « pour ses contributions pionnières aux algorithmes numériques et aux bibliothèques d'outils qui ont permis aux logiciels de calcul haute performance de suivre le rythme des progrès exponentiels du matériel pendant plus de quatre décennies ».

Bennie Mols, l'auteur de cet article, a rencontré Dongarra lors du 9e Heidelberg Laureate Forum en Allemagne en septembre et a discuté du présent et de l'avenir du calcul haute performance. Dongarra, 72 ans, est un professeur distingué de l’Université du Tennessee et un chercheur distingué au Laboratoire national d’Oak Ridge du Département américain de l’énergie depuis 1989. Bennie Mols est un écrivain scientifique et technologique basé à Amsterdam, aux Pays-Bas.

Voici le contenu de l'interview

Q1 : Quelle a été votre motivation pour la recherche scientifique au cours des dernières décennies ?

A : Mon principal domaine de recherche est les mathématiques, notamment l'algèbre linéaire numérique. Tous mes travaux en découlent. Pour des matières telles que la physique et la chimie qui nécessitent des calculs - en particulier la résolution de systèmes d'équations linéaires - un logiciel capable de calculer les réponses est sans aucun doute très important. Dans le même temps, vous devez également vous assurer que le fonctionnement du logiciel est cohérent avec l'architecture de la machine, afin que vous puissiez réellement obtenir les hautes performances que la machine peut atteindre.

Q2 : Quelles sont les exigences les plus importantes pour que les logiciels fonctionnent sur des superordinateurs ?

A : Nous espérons que les résultats de calcul de ce logiciel sont exacts. Nous espérons que la communauté scientifique utilisera et comprendra ce logiciel et même contribuera à son amélioration. Nous voulons que le logiciel fonctionne bien et soit portable sur différentes machines. Nous voulons que le code soit lisible et fiable. En fin de compte, nous voulons que les logiciels rendent ceux qui les utilisent plus productifs.

Développer un logiciel qui répond à toutes ces exigences est un processus non trivial. Ce niveau d’ingénierie comporte souvent des millions de lignes de code et tous les 10 ans environ, nous assistons à des changements majeurs dans l’architecture des machines. Cela conduira à la nécessité de refactoriser à la fois les algorithmes et les logiciels qui les incarnent. Le logiciel suit le matériel, et il reste encore beaucoup de place au sommet du calcul intensif pour obtenir de meilleures performances des machines.

Q3 : Y a-t-il des développements actuels dans le domaine du calcul haute performance qui vous passionnent ?

A : Nos supercalculateurs hautes performances sont construits sur des composants tiers. Par exemple, vous et moi pouvons également acheter des puces haut de gamme, mais les ordinateurs hautes performances en nécessitent beaucoup. Nous utilisons généralement des accélérateurs sous forme de GPU sur des ordinateurs hautes performances. Nous plaçons plusieurs cartes de développement de puces sur un rack, et plusieurs de ces racks forment ensemble un supercalculateur. La raison pour laquelle nous utilisons des composants tiers est que c'est moins cher, mais si vous concevez une puce spécifiquement pour faire du calcul scientifique, vous obtenez un supercalculateur avec de meilleures performances, ce qui est une idée passionnante.

En fait, c'est exactement ce que font des entreprises comme Amazon, Facebook, Google, Microsoft, Tencent, Baidu et Alibaba : elles fabriquent leurs propres puces. Ils peuvent le faire parce qu’ils disposent d’énormes fonds, alors que les universités ont des fonds limités et doivent donc malheureusement recourir à des produits tiers. Cela rejoint une autre de mes préoccupations : comment retenir les talents dans le domaine scientifique, plutôt que de les voir travailler pour de plus grandes entreprises mieux rémunérées ?

Q4 : Quels sont les autres développements importants pour l'avenir du calcul haute performance ?

A : Il y a effectivement des choses importantes. Il est clair que l’apprentissage automatique a déjà un impact majeur sur le calcul scientifique, et cet impact ne fera que croître. Je considère l’apprentissage automatique comme un outil qui aide à résoudre les problèmes que les informaticiens souhaitent résoudre.

Cela va de pair avec un autre développement important. Traditionnellement, notre matériel utilise des opérations à virgule flottante sur 64 bits, les nombres sont donc représentés en 64 bits. Cependant, si vous utilisez moins de bits, comme 32, 16 ou même 8 bits, vous pouvez accélérer le calcul. Mais en accélérant les calculs, on perd en précision. Cependant, il semble que les calculs d’IA puissent souvent être effectués avec moins de bits, 16 voire 8 bits. C’est un domaine qui doit être exploré, et nous devons découvrir où la réduction des bits fonctionne bien et où elle ne fonctionne pas.

Un autre domaine de recherche concerne la façon de commencer avec des calculs de faible précision, d'obtenir une approximation, puis d'utiliser des calculs de plus haute précision pour affiner les résultats.

Q5 : Quelle est la consommation électrique des supercalculateurs ?

A : Les meilleurs supercalculateurs consomment aujourd'hui 20 ou 30 mégawatts pour réaliser des exaflops. Si tout le monde sur Terre faisait un calcul toutes les secondes, il faudrait plus de quatre ans pour faire ce qu'un ordinateur à très grande échelle fait en une seconde. Peut-être que d’ici 20 ans, nous atteindrons l’échelle du zettaflop, qui est 10 puissance 21 opérations en virgule flottante. Cependant, la consommation électrique peut être un facteur limitant. Il faudrait une machine de 100 ou 200 mégawatts, ce qui est actuellement trop énergivore.

Q6 : Comment voyez-vous le rôle de l’informatique quantique dans le futur calcul haute performance ?

A : Je pense que les problèmes que l'informatique quantique peut résoudre sont limités, elle ne résoudra pas des problèmes comme les équations aux dérivées partielles tridimensionnelles, pour lesquelles nous utilisons souvent des superordinateurs, comme la modélisation climatique.

À l'avenir, nous construirons un outil intégré contenant différents types d'outils de calcul. Nous aurons des processeurs et des accélérateurs, nous aurons des outils pour aider à l'apprentissage automatique, nous aurons très probablement des appareils pour faire du calcul neuromorphique à la manière du cerveau, nous aurons des ordinateurs optiques, et en plus, nous aurons des ordinateurs quantiques pour résoudre des problèmes spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La multiplication matricielle universelle de CUDA : de l'entrée à la maîtrise ! La multiplication matricielle universelle de CUDA : de l'entrée à la maîtrise ! Mar 25, 2024 pm 12:30 PM

La multiplication matricielle générale (GEMM) est un élément essentiel de nombreuses applications et algorithmes, et constitue également l'un des indicateurs importants pour évaluer les performances du matériel informatique. Une recherche approfondie et l'optimisation de la mise en œuvre de GEMM peuvent nous aider à mieux comprendre le calcul haute performance et la relation entre les systèmes logiciels et matériels. En informatique, une optimisation efficace de GEMM peut augmenter la vitesse de calcul et économiser des ressources, ce qui est crucial pour améliorer les performances globales d’un système informatique. Une compréhension approfondie du principe de fonctionnement et de la méthode d'optimisation de GEMM nous aidera à mieux utiliser le potentiel du matériel informatique moderne et à fournir des solutions plus efficaces pour diverses tâches informatiques complexes. En optimisant les performances de GEMM

Comment calculer l'addition, la soustraction, la multiplication et la division dans un document Word Comment calculer l'addition, la soustraction, la multiplication et la division dans un document Word Mar 19, 2024 pm 08:13 PM

WORD est un traitement de texte puissant. Nous pouvons utiliser Word pour éditer divers textes. Dans les tableaux Excel, nous maîtrisons les méthodes de calcul d'addition, de soustraction et de multiplicateurs. Ainsi, si nous avons besoin de calculer l'addition de valeurs numériques dans les tableaux Word, Comment soustraire le multiplicateur ? Puis-je utiliser uniquement une calculatrice pour le calculer ? La réponse est bien sûr non, WORD peut aussi le faire. Aujourd'hui, je vais vous apprendre à utiliser des formules pour calculer des opérations de base telles que l'addition, la soustraction, la multiplication et la division dans des tableaux dans des documents Word. Apprenons ensemble. Alors, aujourd'hui, permettez-moi de vous montrer en détail comment calculer l'addition, la soustraction, la multiplication et la division dans un document WORD ? Étape 1 : ouvrez un WORD, cliquez sur [Tableau] sous [Insérer] dans la barre d'outils et insérez un tableau dans le menu déroulant.

Comment compter le nombre d'éléments dans une liste à l'aide de la fonction count() de Python Comment compter le nombre d'éléments dans une liste à l'aide de la fonction count() de Python Nov 18, 2023 pm 02:53 PM

Comment utiliser la fonction count() de Python pour compter le nombre d'éléments dans une liste nécessite des exemples de code spécifiques. En tant que langage de programmation puissant et facile à apprendre, Python fournit de nombreuses fonctions intégrées pour gérer différentes structures de données. L'une d'elles est la fonction count(), qui peut être utilisée pour compter le nombre d'éléments dans une liste. Dans cet article, nous expliquerons en détail comment utiliser la fonction count() et fournirons des exemples de code spécifiques. La fonction count() est une fonction intégrée de Python, utilisée pour calculer un certain

Programme Java pour calculer l'aire d'un triangle à l'aide de déterminants Programme Java pour calculer l'aire d'un triangle à l'aide de déterminants Aug 31, 2023 am 10:17 AM

Introduction Le programme Java pour calculer l'aire d'un triangle à l'aide d'un déterminant est un programme concis et efficace qui peut calculer l'aire d'un triangle à partir des coordonnées de trois sommets. Ce programme est utile à toute personne qui apprend ou travaille avec la géométrie, car il montre comment utiliser les calculs arithmétiques et algébriques de base en Java, ainsi que comment utiliser la classe Scanner pour lire les entrées de l'utilisateur. Le programme demande à l'utilisateur les coordonnées de trois points du triangle, qui sont ensuite lues et utilisées pour calculer le déterminant de la matrice de coordonnées. Utilisez la valeur absolue du déterminant pour vous assurer que l'aire est toujours positive, puis utilisez une formule pour calculer l'aire du triangle et l'afficher à l'utilisateur. Le programme peut être facilement modifié pour accepter des entrées dans différents formats ou pour effectuer des calculs supplémentaires, ce qui en fait un outil polyvalent pour les calculs géométriques. rangs de déterminants

Compter le nombre d'occurrences d'une sous-chaîne de manière récursive en Java Compter le nombre d'occurrences d'une sous-chaîne de manière récursive en Java Sep 17, 2023 pm 07:49 PM

Étant donné deux chaînes str_1 et str_2. Le but est de compter le nombre d'occurrences de la sous-chaîne str2 dans la chaîne str1 en utilisant une procédure récursive. Une fonction récursive est une fonction qui s'appelle dans sa définition. Si str1 est "Je sais que vous savez que je sais" et str2 est "savoir", le nombre d'occurrences est de -3 Comprenons à travers des exemples. Par exemple, entrez str1="TPisTPareTPamTP", str2="TP" ; sortie Countofoccurrencesofasubstringrecursi.

Comment utiliser la fonction Math.Pow en C# pour calculer la puissance d'un nombre spécifié Comment utiliser la fonction Math.Pow en C# pour calculer la puissance d'un nombre spécifié Nov 18, 2023 am 11:32 AM

En C#, il existe une bibliothèque de classes Math, qui contient de nombreuses fonctions mathématiques. Il s'agit notamment de la fonction Math.Pow, qui calcule les puissances, ce qui peut nous aider à calculer la puissance d'un nombre spécifié. L'utilisation de la fonction Math.Pow est très simple, il suffit de spécifier la base et l'exposant. La syntaxe est la suivante : Math.Pow(base,exponent) ; où base représente la base et exponent représente l'exposant. Cette fonction renvoie un résultat de type double, c'est-à-dire le résultat du calcul de puissance. Allons

Programme Python pour calculer la somme des éléments diagonaux droits d'une matrice Programme Python pour calculer la somme des éléments diagonaux droits d'une matrice Aug 19, 2023 am 11:29 AM

Python est un langage de programmation généraliste populaire. Il est utilisé dans divers secteurs, notamment les applications de bureau, le développement Web et l’apprentissage automatique. Heureusement, Python possède une syntaxe simple et facile à comprendre qui convient aux débutants. Dans cet article, nous utiliserons Python pour calculer la somme de la diagonale droite d'une matrice. Qu'est-ce qu'une matrice ? En mathématiques, nous utilisons un tableau ou une matrice rectangulaire pour décrire un objet mathématique ou ses propriétés. Il s'agit d'un tableau ou d'un tableau rectangulaire contenant des nombres, des symboles ou des expressions disposés en lignes et en colonnes. Par exemple -234512367574 Il s'agit donc d'une matrice de 3 lignes et 4 colonnes, exprimée sous la forme d'une matrice 3*4. Or, il y a deux diagonales dans la matrice, la diagonale primaire et la diagonale secondaire.

Exemple de programme Java pour calculer le score total et le pourcentage Exemple de programme Java pour calculer le score total et le pourcentage Sep 11, 2023 pm 06:01 PM

Nous montrerons comment calculer les scores totaux et les pourcentages à l'aide d'un programme Java. Le score total fait référence à la somme de tous les scores disponibles, tandis que le terme pourcentage fait référence au score calculé divisé par le score total et multiplié par le nombre obtenu 100. percent_of_marks=(obtained_marks/total_marks)×100 Exemple 1 Il s'agit d'un programme Java qui montre comment calculer les scores totaux et les pourcentages. //Programme Java pour démontrer comment les marques totales et les pourcentages sont calculés importjava.io.*;publicclassTotalMarks_

See all articles