Génie de Conception

En Vedette Contrôle du mouvement
Calcul haute performance

Un nouveau langage de programmation

février 14, 2022  By GC Staff


Un nouveau langage tenseur (Tensor Language – ATL, en anglais) a été récemment développé au MIT, avec des optimisations formellement vérifiées, qui pourrait avoir des avantages pour le calcul haute performance.

Un calcul haute performance est nécessaire pour un nombre toujours croissant de tâches – telles que le traitement d’images ou diverses applications d’apprentissage en profondeur sur des réseaux de neurones – où il faut parcourir d’immenses piles de données et le faire assez rapidement, sinon cela pourrait prendre ridicule quantités de temps.

Il est largement admis que, dans la réalisation d’opérations de ce type, il existe des compromis inévitables entre rapidité et fiabilité. Si la vitesse est la priorité absolue, selon ce point de vue, la fiabilité en souffrira probablement, et vice versa.

Advertisement

« Avec le nouveau langage de programmation, écrit spécifiquement pour le calcul haute performance, explique Amanda Liu, doctorante en deuxième année au Laboratoire d’informatique et d’intelligence artificielle du MIT (CSAIL), la vitesse et l’exactitude n’ont plus à rivaliser. Au lieu de cela, ils peuvent aller de pair, main dans la main, dans les programmes que nous écrivons ».

« Tout dans notre langage, souligne Amanda Liu, vise à produire soit un nombre unique, soit un tenseur. Les tenseurs, à leur tour, sont des généralisations de vecteurs et de matrices. Alors que les vecteurs sont des objets unidimensionnels (souvent représentés par des flèches individuelles) et que les matrices sont des tableaux de nombres bidimensionnels familiers, les tenseurs sont des tableaux à n dimensions ».

La principale raison d’être de l’ATL est la suivante, explique-t-elle : « Étant donné que le calcul haute performance est si gourmand en ressources, vous voulez pouvoir modifier ou réécrire les programmes dans une forme optimale afin d’accélérer les choses. On commence souvent avec un programme qui est le plus facile à écrire, mais ce n’est peut-être pas le moyen le plus rapide de l’exécuter, de sorte que d’autres ajustements sont encore nécessaires ».

Par exemple, « supposons qu’une image soit représentée par un tableau de nombres 100 x 100, chacun correspondant à un pixel, et que vous souhaitiez obtenir une valeur moyenne pour ces nombres. Cela pourrait être fait dans un calcul en deux étapes en déterminant d’abord la moyenne de chaque ligne, puis en obtenant la moyenne de chaque colonne.

ATL a une boîte à outils associée – ce que les informaticiens appellent un « cadre » – qui pourrait montrer comment ce processus en deux étapes pourrait être converti en un processus en une étape plus rapide ».
https://web.mit.edu/


Print this page

Advertisement

Stories continue below