Simple Science

La science de pointe expliquée simplement

# Physique# Physique quantique# Informatique distribuée, parallèle et en grappes

Améliorer les simulations de circuits quantiques avec des cœurs Tensor

Ce travail améliore les simulations de circuits quantiques en utilisant des Tensor Cores et une sélection automatique de la précision.

― 8 min lire


Simulations quantiquesSimulations quantiquesaméliorées par des cœurstensorielsde circuits quantiques.vitesse et la précision des simulationsDe nouvelles méthodes améliorent la
Table des matières

La simulation de Circuits quantiques est un outil qui nous aide à créer et vérifier des algorithmes quantiques. Cette simulation est importante pour prouver le potentiel des ordinateurs quantiques. Elle imite les actions des bits quantiques (qubits) et les opérations sur eux.

Les ordinateurs quantiques fonctionnent différemment des classiques. Dans un ordinateur quantique, on prépare des qubits, on applique certaines opérations appelées portes, puis on mesure les résultats. Le but de simuler un circuit quantique est de recréer les résultats qu'un ordinateur quantique produirait, mais en utilisant un ordinateur classique.

Types de simulateurs quantiques

Il y a différentes manières de simuler des circuits quantiques. Deux méthodes populaires sont la simulation par vecteur d'état et la simulation par réseau de tenseurs :

  1. Simulation par vecteur d'état : Cette méthode nécessite beaucoup de mémoire, surtout pour des circuits avec de nombreux qubits. Par exemple, simuler un circuit avec 53 qubits, comme le Sycamore de Google, nécessiterait 128 pétaoctets de mémoire. C'est une limite parce que la plupart des superordinateurs actuels ne peuvent pas stocker autant de données.

  2. Simulation par réseau de tenseurs : Cette méthode fonctionne mieux pour de nombreux qubits. Elle représente le circuit quantique comme un réseau de tenseurs, où chaque tenseur correspond à une porte, et les connexions montrent comment ils interagissent.

Le rôle de GEMM dans la simulation par réseau de tenseurs

Dans la simulation par réseau de tenseurs, le travail le plus important implique une opération mathématique appelée multiplication de matrices générale (GEMM). Pendant la simulation, on reformate les données d'entrée sous forme de matrice pour ces calculs. Les opérations GEMM peuvent prendre jusqu'à 90 % du temps de calcul total.

Performance et précision dans GEMM

Améliorer la performance de GEMM est crucial pour accélérer les simulations de circuits quantiques. Une façon d'améliorer GEMM est d'utiliser du matériel spécial comme les Tensor Cores disponibles dans les GPU NVIDIA. Ces Tensor Cores sont conçus pour des calculs rapides mais fonctionnent souvent avec des formats de précision plus faibles (comme FP16 ou TF32) pour augmenter la vitesse.

Cependant, simplement utiliser une faible précision peut poser des problèmes d'exactitude, surtout pour des calculs complexes impliquant des circuits quantiques profonds et étendus. Des recherches antérieures ont trouvé des moyens de récupérer une précision plus élevée en utilisant des techniques spéciales qui contrôlent comment les nombres sont arrondis pendant les calculs.

Sélection de la précision pour les simulations quantiques

Un défi est de décider quelle précision utiliser pendant les simulations. Chaque type de Tensor Core a une plage de nombres qu'il peut gérer efficacement. Par exemple, tandis que TF32 supporte une large plage, FP16 a une plus petite. Pour optimiser la performance, il est crucial de choisir le bon Tensor Core en fonction des données traitées.

Dans ce travail, nous examinons les statistiques des données d'entrée. En mesurant des caractéristiques spécifiques des données avant de faire l'opération GEMM, nous pouvons automatiquement choisir le Tensor Core le plus efficace pour cette opération.

Contributions de ce travail

Les principales contributions de ce travail incluent :

  1. Développement d'une bibliothèque d'émulation SGEMM : Nous avons créé une bibliothèque appelée cuMpSGEMM qui permet d'améliorer les opérations SGEMM. Cette bibliothèque peut être utilisée avec des applications existantes sans nécessiter de modifications de code.

  2. Sélection de précision automatique : Ce système détermine automatiquement s'il faut utiliser différentes options de précision en fonction des statistiques des données d'entrée. Cela aide à maintenir l'exactitude tout en améliorant la performance.

  3. Tests et évaluations : À travers divers tests, nous avons pu démontrer des améliorations significatives de la vitesse des simulations de circuits quantiques, tout en préservant l'exactitude.

Flux de travail de simulation de circuits quantiques

Représentation par réseau de tenseurs

Chaque circuit quantique peut être représenté comme un réseau de tenseurs. Dans cette représentation, les tenseurs servent de nœuds, tandis que les connexions représentent comment ils s'interconnectent. La probabilité d'obtenir une certaine chaîne de bits en sortie est calculée à travers la contraction de ces tenseurs.

L'ordre dans lequel ces tenseurs sont contractés peut grandement affecter l'efficacité computationnelle. De nombreux chercheurs cherchent à trouver des ordres de contraction presque optimaux pour accélérer les simulations tout en minimisant l'utilisation des ressources.

Mise en œuvre de GEMM dans le réseau de tenseurs

Pour calculer efficacement les contractions de tenseurs, un algorithme largement utilisé s'appelle TTGT. Dans cette approche, les tenseurs d'entrée sont reformés en matrices et des opérations GEMM sont effectuées sur ces matrices. Bien que cette méthode nécessite de la mémoire supplémentaire pour stocker des tenseurs transposés, elle tire également parti des mises en œuvre GEMM haute performance disponibles dans des bibliothèques comme Intel MKL et NVIDIA cuBLAS.

Tensor Cores et leur utilisation

Les Tensor Cores sont des unités spécialisées présentes dans les GPU NVIDIA qui effectuent des multiplications de matrices à haute vitesse. Ils utilisent généralement des formats de précision plus faibles pour les matrices d'entrée mais effectuent des calculs en précision plus élevée. Le défi se pose lors de la conversion des entrées en faible précision, car cela peut conduire à une réduction de l'exactitude.

Différentes techniques ont été proposées pour récupérer la précision perdue pendant ces opérations. Une méthode efficace est la somme compensée, qui ajuste la manière dont l'arrondi est géré dans les calculs. Nos recherches précédentes ont amélioré cette méthode pour offrir une précision complète pendant les opérations.

Émulation SGEMM utilisant des Tensor Cores

Dans notre approche actuelle, nous utilisons l'émulation SGEMM sur Tensor Cores, ce qui nous permet de réaliser des calculs haute précision plus rapidement tout en restant précis. Nous avons introduit un système où nous pouvons utiliser soit des Tensor Cores TF32, soit FP16 selon les caractéristiques des données.

Méthodologie de sélection automatique de la précision

Pour choisir la précision appropriée pour chaque contraction de tenseurs, nous analysons les statistiques des matrices d'entrée. Ce processus nous aide à déterminer s'il faut utiliser la précision standard (TF32) ou une précision plus faible (FP16). Nous pouvons également intégrer des ajustements d'échelle pour améliorer la précision de manière dynamique.

Étapes du processus de sélection automatique de la précision

  1. Collecte de statistiques : Nous observons de près les valeurs des tenseurs d'entrée pour mesurer la distribution des exposants. Cela nous aide à décider comment les données se comporteront pendant les calculs.

  2. Sélection dynamique des noyaux : Nous lançons préventivement plusieurs fonctions de noyau qui gèrent différentes Précisions. En fonction des statistiques collectées, le programme peut décider quel noyau utiliser à l'exécution, évitant ainsi les ralentissements causés par le transfert de données entre le GPU et le CPU.

  3. Utilisation efficace des ressources : En gérant les ressources efficacement, nous maintenons les frais généraux bas tout en garantissant que les calculs nécessaires peuvent être exécutés à des vitesses optimales.

Résultats des tests et évaluations

Nous avons testé nos approches sur divers problèmes, en nous concentrant sur des tâches de Random Circuit Sampling (RCS). Ces tests ont montré des améliorations significatives en termes de débit :

  1. Gains de performance : En optimisant la sélection de précision, nous avons atteint jusqu'à 1,86 fois plus de performance pour les circuits quantiques avec une exactitude maximale par rapport aux méthodes traditionnelles.

  2. Exactitude maintenue : Malgré l'utilisation d'opérations GEMM plus rapides, l'exactitude des résultats est restée cohérente avec les mises en œuvre standard.

  3. Efficacité à travers différents circuits : Nous avons évalué nos méthodes sur plusieurs types de circuits, y compris le circuit Sycamore de Google, confirmant la évolutivité et l'efficacité de nos techniques.

Conclusion

En résumé, ce travail démontre comment améliorer la simulation de circuits quantiques en utilisant l'émulation SGEMM sur des Tensor Cores et la sélection automatique de la précision. En gérant soigneusement la façon dont les calculs sont effectués et quels paramètres de précision sont utilisés, nous pouvons considérablement augmenter les performances sans sacrifier l'exactitude. Cette avancée ouvre de nouvelles possibilités pour simuler efficacement des systèmes quantiques complexes sur du matériel classique, contribuant à notre compréhension et exploration de l'informatique quantique.

Source originale

Titre: Quantum Circuit Simulation by SGEMM Emulation on Tensor Cores and Automatic Precision Selection

Résumé: Quantum circuit simulation provides the foundation for the development of quantum algorithms and the verification of quantum supremacy. Among the various methods for quantum circuit simulation, tensor network contraction has been increasing in popularity due to its ability to simulate a larger number of qubits. During tensor contraction, the input tensors are reshaped to matrices and computed by a GEMM operation, where these GEMM operations could reach up to 90\% of the total calculation time. GEMM throughput can be improved by utilizing mixed-precision hardware such as Tensor Cores, but straightforward implementation results in insufficient fidelity for deep and large quantum circuits. Prior work has demonstrated that compensated summation with special care of the rounding mode can fully recover the FP32 precision of SGEMM even when using TF32 or FP16 Tensor Cores. The exponent range is a critical issue when applying such techniques to quantum circuit simulation. While TF32 supports almost the same exponent range as FP32, FP16 supports a much smaller exponent range. In this work, we use the exponent range statistics of input tensor elements to select which Tensor Cores we use for the GEMM. We evaluate our method on Random Circuit Sampling (RCS), including Sycamore's quantum circuit, and show that the throughput is 1.86 times higher at maximum while maintaining accuracy.

Auteurs: Hiroyuki Ootomo, Hidetaka Manabe, Kenji Harada, Rio Yokota

Dernière mise à jour: 2023-07-10 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2303.08989

Source PDF: https://arxiv.org/pdf/2303.08989

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires