Reading Time: 10 minutes

L’analyse comparative est essentielle lorsque les chercheurs doivent comparer les solveurs numériques, les modèles d’apprentissage automatique, les bibliothèques d’algèbre linéaire clairsemées ou les logiciels d’optimisation. Un solveur qui fonctionne bien sur une équation, une matrice, une tolérance ou une plate-forme matérielle peut se comporter de manière très différente dans un autre ensemble de conditions.

Une référence utile devrait fournir des définitions de problèmes répétables, des mesures de précision cohérentes, des environnements de calcul contrôlés et des rapports transparents. Il doit également correspondre au type de logiciel évalué. Un intégrateur ODE, un opérateur neuronal, un solveur direct clairsemé et un optimiseur à contrainte PDE ne résolvent pas le même problème et ne doivent pas être comparés via la même suite de tests.

Le paysage de l’informatique scientifique comprend plusieurs ressources de référence importantes. ScimlBenchmarks se concentre sur l’efficacité du solveur d’équations différentielles. PDEbench fournit des ensembles de données et des tâches d’évaluation pour l’apprentissage automatique scientifique. HPCG représente des charges de travail peu abondantes et à forte intensité de mémoire sur des ordinateurs hautes performances. SuiteSparse fournit des matrices d’applications réelles. La collection ASU Mittelmann prend en charge les comparaisons de logiciels d’optimisation, y compris les problèmes contraints par PDE.

Pourquoi les benchmarks des solveurs ont besoin de catégories

Le mot solveur peut décrire plusieurs types de logiciels différents. Un intégrateur de temps fait avancer une ODE ou une PDE semi-discrétisée. Un solveur linéaire clairsemé calcule la solution d’un système matriciel. Un opérateur neuronal se rapproche du mappage entre les entrées et les sorties PDE. Un solveur d’optimisation minimise un objectif tout en satisfaisant les contraintes.

Ces outils nécessitent des critères d’évaluation différents. Les intégrateurs de temps sont généralement comparés par des évaluations d’erreurs, d’exécution et de fonction. Les solveurs clairsemés nécessitent des collections matricielles, des mesures de mémoire, des nombres d’itérations et des résultats de mise à l’échelle. Les modèles de ML scientifiques nécessitent des mesures de formation et d’inférence, des tests de généralisation et des comparaisons avec des solutions de référence numérique.

Une suite de benchmark n’est utile que lorsque sa classe de problèmes correspond à l’objectif du solveur.

Principales familles de référence

ressource de référence Principale classe de problèmes Évaluation typique Meilleure utilisation
ScimlBenchmarks Odes, SDES, DAES, semi-discrétisations PDE et modèles associés Schémas de précision du travail, comparaisons de temps, d’erreurs et de solveurs Comparaison des algorithmes d’équations différentielles
pdebench Ensembles de données PDE dépendant du temps pour le ML scientifique Erreur de prédiction, qualité de déploiement, formation et performances d’inférence Comparaison des substituts de PDE neuronaux et des modèles d’apprentissage par l’opérateur
HPCG Charge de travail linéaire clairsemée structurée sur les systèmes HPC Performances et évolutivité au niveau du système Évaluation de la manière dont le matériel HPC gère les opérations peu représentatives
SuitesParse Matrix Collection De véritables matrices clairsemées de nombreux domaines d’application Exécution, mémoire, convergence, robustesse et comportement de factorisation Tester des algorithmes de matrice parcimonie et des bibliothèques de solveurs
Asu Mittelmann Optimisation continue, discrète et contrainte par PDE Exécution, instances résolues, optimalité et robustesse Comparaison des logiciels d’optimisation

Clarification des noms de référence non vérifiés

Les notes de projets informels et les projets de recherche générés font parfois référence à des suites appelées « Himas » ou « Scibase ». Ces noms ne doivent pas être traités comme des benchmarks scientifiques établis sans publication, référentiel ou source institutionnelle.

Lorsque vous discutez de l’évaluation du solveur clairsemé, il est plus sûr de référencer la ressource réelle utilisée, telle que HPCG, SuiteSparse ou une comparaison documentée impliquant PETSC, Trilinos, Hypre ou Superlu.

Petsc, Trilinos, Hypre et Superlu sont des bibliothèques de solveurs plutôt qu’une suite de référence combinée. Les chercheurs peuvent les comparer sur les mêmes matrices ou charges de travail PDE, mais le protocole de test doit être défini séparément.

ScimlBenchmarks

ScimlBenchmarks fournit des comparaisons reproductibles pour les algorithmes d’équations différentielles. Sa couverture comprend des odes non rigides et rigides, des équations différentielles stochastiques, des équations différentielles-algébriques, des problèmes de valeurs limites et des systèmes PDE sélectionnés après discrétisation spatiale.

L’outil d’évaluation central est le diagramme de précision du travail. Chaque solveur est exécuté avec plusieurs paramètres de tolérance ou des configurations numériques. L’erreur mesurée est tracée par rapport au coût de calcul, tel que le temps d’exécution, le nombre d’évaluations de droite ou une autre mesure de travail.

Un solveur qui apparaît plus près de la région inférieure gauche du diagramme fournit généralement une erreur inférieure à un coût inférieur. Aucun point n’est suffisant car les classements des solveurs peuvent changer à mesure que la précision demandée change.

Ce que révèlent les diagrammes de précision du travail

Supposons que le solveur A soit plus rapide à des tolérances lâches mais devient inefficace lorsqu’une grande précision est requise. Le solveur B peut avoir un coût d’installation plus élevé mais une meilleure échelle à mesure que la tolérance devient plus stricte. Une seule comparaison d’exécution masquerait cette distinction.

L’analyse de la précision du travail rend visible le compromis précision-coût-coût. Il est particulièrement utile pour les intégrateurs de temps adaptatifs car leur nombre de pas et leurs évaluations de fonctions dépendent de la tolérance demandée.

Comparaisons inter-langues

Les collections de référence SCIML peuvent inclure des algorithmes accessibles via différents écosystèmes logiciels. Les tests inter-langues nécessitent des soins car les frais généraux d’enveloppe, la compilation, l’allocation de mémoire, les valeurs par défaut du solveur et les définitions de contrôle des erreurs peuvent affecter le résultat.

Une comparaison équitable doit utiliser des équations équivalentes, des conditions initiales, des tolérances, des temps de sortie, des informations sur Jacobien et des critères d’arrêt.

PDEBench pour l’apprentissage automatique scientifique

pdebench est conçu pour la recherche sur l’apprentissage automatique impliquant des systèmes physiques basés sur la PDE. Il fournit du code, des ensembles de données, des modèles de base et des outils d’évaluation pour comparer les substituts appris dans plusieurs familles d’équations.

Les ensembles de données associés comprennent des problèmes tels que l’advection, l’équation de Burgers, les systèmes de réaction de diffusion, de diffusion-sorption, les équations compressibles de Navier-Stokes, le flux de Darcy et les équations d’eau peu profonde.

Les chercheurs peuvent utiliser les données fournies pour évaluer les opérateurs de neurones de Fourier, les réseaux convolutionnels, les modèles autorégressifs et d’autres approches scientifiques de ML sans générer indépendamment chaque ensemble de données de simulation.

Quelles mesures de PdeBench

L’évaluation d’un modèle PDE apprise nécessite plus d’une seule erreur au carré moyenne. Les mesures utiles peuvent inclure :

  • Erreurs à pas de temps individuels
  • Stabilité du déploiement à long horizon
  • Violation de la loi sur la conservation
  • Performances sur les valeurs de paramètres invisibles
  • Erreurs proches des limites ou des gradients nets
  • Coût de formation et d’inférence
  • consommation de mémoire

Le simulateur numérique utilisé pour produire un ensemble de données d’apprentissage et le modèle appris qui se rapproche de sa sortie effectuent différentes tâches. Le coût de la formation, le coût de la génération de données et le coût de l’inférence doivent donc être déclarés séparément.

Ressources de données SCIML associées

Des données de référence pour la recherche scientifique sur le ML basée sur les PDE sont également disponibles via le Collection de référence SCIML sur Darus.

Des sorties de référence supplémentaires et des comparaisons expérimentales peuvent être trouvées sur benchmarks.sciml.ai. Les chercheurs doivent enregistrer la version exacte de l’ensemble de données, la validation du référentiel et l’environnement logiciel utilisé dans chaque expérience.

HPCG pour l’évaluation du système HPC

Le benchmark de gradients de conjugaison hautes performances a été créé en complément du LinPack haute performance. HPL met l’accent sur l’algèbre linéaire dense, tandis que HPCG utilise des modèles de calcul et d’accès à la mémoire qui sont plus proches de nombreuses applications scientifiques rares.

HPCG construit un système clairsemé associé à un problème de modèle en trois dimensions et applique des opérations telles que la multiplication par vecteur clairsemée, les mises à jour vectorielles, les produits DOT et les itérations de gradient de conjugués préconditionnés à plusieurs réseaux.

Le benchmark expose les limites liées à la bande passante de la mémoire, à la communication, à la synchronisation et au mouvement des données. Ces facteurs dominent souvent les grandes simulations clairsemées même lorsqu’une machine a des performances théoriques en virgule flottante très élevées.

Ce que HPCG ne mesure pas

HPCG ne doit pas être traité comme un classement complet de tous les solveurs linéaires clairsemés. Il utilise un algorithme de référence spécifique et une structure de problème. Une bibliothèque conçue pour les matrices asymétriques, la factorisation directe clairsemée, les systèmes indéfinis ou le préconditionnement spécifique à l’application peut ne pas être représentée de manière équitable par un seul résultat HPCG.

HPCG est très utile pour comparer des systèmes informatiques ou des implémentations de sa charge de travail prescrite. Une évaluation plus large des solveurs nécessite plusieurs matrices et classes de problèmes.

SuitesParse Matrix Collection

La SuitesParse Matrix Collection contient des matrices clairsemées provenant d’applications réelles. La collection était auparavant connue sous le nom de collection Matrix de l’Université de Floride.

Ses matrices représentent des problèmes provenant de la dynamique des fluides informatiques, de l’analyse structurelle, de la simulation de circuit, de l’optimisation, de l’électromagnétique, de l’analyse des graphes et de nombreux autres domaines.

Cette diversité rend SuiteSparse utile pour tester :

  • Factorisation directe clairsemée
  • Méthodes itératives de Krylov
  • préconditionneurs
  • Réorganisation matricielle
  • Partage de graphes
  • Noyaux clairsemés GPU
  • Formats de mémoire et de stockage

Pourquoi les matrices réelles sont-elles importantes

Une matrice synthétique peut reproduire une taille ou un niveau de parcimonie sélectionné tout en manquant les propriétés structurelles qui rendent un système réel difficile. Le remplissage pendant la factorisation, la dominance diagonale, la symétrie, le conditionnement, la structure des blocs et la connectivité graphique peuvent tous influencer le comportement du solveur.

Une bonne étude de suitesparse ne doit pas sélectionner uniquement les matrices qui favorisent une méthode. L’ensemble de tests doit représenter l’application cible et inclure des règles claires d’inclusion et d’exclusion.

bibliothèques de solveurs et données de référence

PETSC, Trilinos, Hypre et Superlu sont couramment utilisés dans le calcul scientifique, mais ils offrent des capacités différentes.

  • petsc fournit des vecteurs distribués, des matrices, des méthodes Krylov, des solveurs non linéaires, des intégrateurs de temps et des interfaces à des packages externes.
  • Trilinos contient des packages pour l’algèbre clairsemée, les méthodes itératives, le préconditionnement, les solveurs directs, les systèmes non linéaires et les flux de travail multiphysiques.
  • Hypre se concentre sur les solveurs itératifs évolutifs et les préconditionneurs multi-grids pour les grands systèmes parallèles.
  • SuperLU fournit une factorisation LU clair pour les environnements séquentiels, multithreads et distribués.

Une comparaison crédible doit utiliser des formats de matrice équivalents, des tolérances d’arrêt, des paramètres de préconditionneur, une précision, une allocation matérielle et des définitions de convergence.

Références de l’ASU Mittelmann

hans Mittelmann de l’ASU Benchmark Site recueille les problèmes de test et les comparaisons de performances pour les logiciels d’optimisation.

Le site plus large couvre plusieurs catégories d’optimisation. Sa collection d’optimisation à contrainte PDE comprend des problèmes de contrôle elliptiques et paraboliques entièrement discrétisés représentés sous forme de modèles AML.

Ces problèmes peuvent être soumis à des solveurs d’optimisation non linéaires qui prennent en charge AML. Ils sont utiles pour étudier comment les optimiseurs gèrent de grands systèmes dans lesquels les variables de décision et les contraintes découlent d’un PDE discrétisé.

Quelles mesures d’optimisation contraintes par la PDE

Une référence d’optimisation à contrainte PDE peut évaluer plus que la vitesse de la solution PDE. Il peut également tester :

  • Réduction de la fonction objectif
  • Contrainte satisfaction
  • Optimalité de premier ordre
  • Robustesse aux suppositions initiales
  • Manutention dérivée et hessienne
  • Utilisation de la mémoire
  • La mise à l’échelle à mesure que la discrétisation est affinée

Ces tests ne sont pas des substituts à des benchmarks ordinaires de solveur linéaire PDE ou clairsemés. Ils évaluent le flux de travail d’optimisation complet.

Comment choisir la bonne référence

But d’évaluation ressource recommandée Principales mesures
Comparez les algorithmes d’ODE ou d’intégration temporelle ScimlBenchmarks Erreur, exécution, évaluations de fonctions et précision du travail
Comparer les modèles de substituts acquis par PDE pdebench Erreur de prédiction, stabilité du déploiement, entraînement et coût d’inférence
Comparez les systèmes HPC sur des charges de travail rares HPCG Débit, mise à l’échelle, mémoire et performances de communication
Comparer les algorithmes de solveurs clairsemés SuitesParse Exécution, mémoire, itérations, robustesse et résidus
Comparez les optimiseurs à contrainte PDDE Asu Mittelmann Exécution, problèmes résolus, faisabilité et optimalité

Concevoir une comparaison de solveurs équitables

Chaque solveur devrait recevoir le même problème mathématique. Cela inclut le même domaine, le même maillage, les coefficients, les conditions initiales, les conditions aux limites, l’heure finale et la sortie demandée.

Lorsque les algorithmes utilisent différentes représentations internes, la comparaison doit se concentrer sur une mesure de précision externe commune. Un résultat rapide n’est pas utile s’il ne parvient pas à atteindre l’erreur cible.

Le rapport de référence doit enregistrer :

  • Versions du solveur et des dépendances
  • Paramètres de compilateur et d’optimisation
  • Informations sur le processeur, le GPU, la mémoire et le réseau
  • Le nombre de threads et de processus
  • Précision et type de données
  • Tolérances et conditions d’arrêt
  • Préconditionneurs et réorganisations matricielles
  • Traitement d’échauffement et de compilation
  • Nombre d’exécutions répétées
  • Définitions d’erreurs et d’échecs

Utilisez plusieurs niveaux de précision

Une référence réalisée à une tolérance peut produire un gagnant trompeur. Certaines méthodes ont peu de frais généraux et fonctionnent bien lorsque les exigences de précision sont lâches. D’autres deviennent plus compétitifs à des tolérances plus strictes.

Pour les intégrateurs de temps, plusieurs combinaisons de tolérances relatives et absolues doivent être testées. Pour les solveurs linéaires itératifs, les chercheurs doivent rapporter des définitions résiduelles et examiner si la réduction résiduelle algébrique correspond à une erreur de solution réelle.

Les diagrammes de précision du travail, les profils de performances et les tracés de convergence fournissent plus d’informations qu’une seule table de synchronisation.

Mesurer les coûts de configuration et de résolution répétée

Le coût du solveur contient souvent plusieurs composants :

  • Assemblage de la matrice
  • Construction du préconditionneur
  • Factorisation symbolique
  • Factorisation numérique
  • Temps de résolution individuel
  • Transfert de données
  • Sortie et post-traitement

Une méthode directe peut avoir un coût de factorisation initial élevé, mais résoudre rapidement des côtés droits supplémentaires. Une méthode itérative peut avoir un coût de configuration inférieur, mais nécessite de nombreuses itérations pour chaque solution.

Les rapports de référence doivent séparer la configuration ponctuelle des performances à résolution répétée.

Erreurs d’analyse comparative courantes

Une erreur fréquente consiste à comparer les résultats générés sur différents maillages ou avec des cibles d’erreur différentes. Un calcul plus rapide sur un problème plus grossier ne démontre pas qu’un solveur est plus efficace.

D’autres erreurs courantes incluent :

  • Rapport d’exécution sans erreur de rapport
  • Sélectionner uniquement des matrices favorables
  • Utilisation de différentes conditions d’arrêt
  • Ignorer les échecs ou les exécutions non convergentes
  • Combiner la compilation avec l’exécution pour une seule langue
  • Comparaison des exécutions CPU et GPU sans documenter les coûts de transfert de données
  • Utilisation de HPCG pour évaluer un modèle Neural PDE non apparenté
  • Utiliser PDEBench comme substitut à la référence de la matrice clairsemée
  • Signaler uniquement l’exécution la plus rapide au lieu de mesures répétées
  • Ne pas publier de scripts et de configurations

Un flux de travail de référence pratique

  1. Définir le problème scientifique et le cas d’utilisation cible.
  2. Sélectionnez une ressource de référence qui correspond à la classe Solveur.
  3. Choisissez des instances représentatives avant d’exécuter les solveurs.
  4. Définissez les critères d’erreur, de convergence et de défaillance courants.
  5. Enregistrer les environnements logiciels et matériels.
  6. Testez plusieurs tolérances, tailles de matrice ou résolutions de maillage.
  7. Séparez les coûts de configuration, de résolution et de transfert de données.
  8. Répétez les exécutions et rapportez la variation statistique.
  9. Inspectez la précision, la robustesse, la mémoire et l’évolutivité.
  10. Publiez des scripts, des fichiers de configuration et des résultats bruts.

Guides connexes

Conclusion

Les benchmarks scientifiques des solveurs ont des objectifs différents. ScimlBenchmarks compare les algorithmes d’équations différentielles par l’erreur et le travail de calcul. PDEBench fournit des ensembles de données et des tâches de ML scientifiques normalisées. HPCG mesure la performance des systèmes HPC sur une charge de travail peu représentative. SuiteSparse prend en charge des tests étendus d’algorithmes à matrice clairsemée à l’aide de données d’application réelles. ASU Mittelmann fournit des problèmes d’optimisation établis, y compris des modèles à contrainte PDE.

Ces ressources ne doivent pas être traitées comme interchangeables. La bonne référence dépend de la question de savoir si la cible est un intégrateur de temps, un substitut appris, un solveur linéaire clairsemé, une plate-forme matérielle ou un package d’optimisation.

Un benchmark crédible signale la précision, l’exécution, la mémoire, les défaillances, les paramètres du solveur et les détails du matériel. Il utilise des instances de problème identiques et teste plus d’une tolérance ou une résolution. L’objectif n’est pas simplement d’identifier l’exécution la plus rapide, mais de déterminer quelle méthode fournit la précision et la fiabilité requises pour la charge de travail scientifique prévue.