Parmi les critères que vous avez spécifiés, je pense que le projet le plus proche que je connaisse serait la collection à matrice clairsemée de l' Université de Floride . Les gens utilisent régulièrement cet ensemble de données pour comparer des solveurs d'algèbre linéaire clairsemés, et vous pouvez filtrer par application, nombre de non-zéros, dimensions de la matrice, etc. avec une interface Web vraiment sympa, une interface MATLAB ou une interface graphique Java. J'ai vu des tableaux de ces problèmes répertoriés dans des articles ainsi que des comparaisons de temps d'exécution du solveur avec 4 à 8 solveurs d'algèbre linéaire.
Je conviens qu'il serait utile de compiler de telles bases de données, et en outre, je pense que l'approche de collecte de matrice clairsemée UF pour la compilation des données est excellente et constituerait un excellent début pour quiconque envisage de réaliser cette idée. Exécuter tous les problèmes, dans la pratique, ne semble pas être une difficulté majeure tant que vous pouvez accéder à tous les solveurs; si vous avez accès aux solveurs et à une machine de référence standard fiable avec tous les logiciels nécessaires installés, il faut alors exécuter un script et collecter les données. La difficulté, dans mon esprit, serait d'amener les gens à vous donner leur logiciel, s'il n'est pas open source. Si c'est commercial, vous pouvez l'acheter, ou même amener les gens à faire don du logiciel,Projet COIN-OR . Mais s'il s'agit d'un logiciel de recherche qui n'est ni commercial ni open source, vous devez convaincre les gens d'accepter cette entreprise, et ils peuvent ne pas faire confiance à un tiers pour évaluer leur logiciel de manière équitable.
Je sais également qu'en optimisation, il existe des bases de données téléchargeables de problèmes ( CUTEr me
vient à l'esprit) et des livres de problèmes de test pour l'optimisation. J'ai vu des gens (par exemple, je pense spécifiquement à une conférence de Ruth Misener à AIChE 2011) comparer leur solveur d'optimisation à d'autres solveurs sur des bases de données de problèmes dans des présentations; Je ne sais pas ce qui sera rendu public. Je sais qu'il existe une tradition dans l'optimisation pour la comparaison à grande échelle (beaucoup de solveurs, beaucoup de problèmes); Je ne pense tout simplement pas qu'une base de données en ligne soit disponible.
Une autre chose qui, je pense, est importante est que nous distinguons ici les méthodes et les implémentations logicielles. Dans le calcul scientifique, nous parlons tous des méthodes qui sont plus rapides ou plus lentes en fonction de choses comme les métriques de complexité informatique ou nos expériences avec divers problèmes. En ce qui concerne la mesure quantitative du temps de calcul, cependant, à moins de compter le nombre de FLOP dans un algorithme particulier, il faut implémenter l'algorithme dans un logiciel, puis mesurer les performances d'une manière ou d'une autre (utilisation de la mémoire, heure d'exécution de l'horloge murale, etc. .). Il est logique d'évaluer les performances d'une méthode lorsque l'on examine la complexité de calcul ou le nombre de FLOP, car nous n'avons pas besoin d'une implémentation pour mesurer de telles choses, mais au moment où nous sommes intéressés par les temps d'exécution réels de l'horloge murale, parler de méthodes est utile uniquement comme un instrument abstrait et familier. (Par exemple,
J'évoque cette distinction entre méthodes et logiciels car dans une telle base de données, je pouvais aussi voir la possibilité de suivre l'amélioration des logiciels dans le temps. Ainsi, par exemple, avec quelque chose comme, disons, PETSc ou PyCLAW, ou quel que soit le logiciel testé, il serait intéressant de voir quels problèmes sont affectés positivement (ou négativement!) Par les mises à niveau du logiciel. Cela pourrait être utile pour les chercheurs qui tentent de décider si cela vaut des coûts potentiels en argent et en main-d'œuvre pour mettre à niveau leurs codes. Une autre raison pour laquelle une telle distinction est importante est qu’une bonne méthode peut être mal mise en œuvre; Je pense que cette possibilité contribue à la réticence des gens à partager leurs codes de recherche.
Je pense que quoi qu'il arrive de cette idée (et j'espère que quelque chose en sortira et que je serais prêt à contribuer après mon doctorat), il est important de souligner cette distinction entre logiciel et méthodes, parce que si nous avons des problèmes de test, nous sommes va publier des résultats pour les logiciels.
Il y a eu une tentative de créer une liste d'intégrales "difficiles" à calculer numériquement (voir les articles de Walter Gautschi, Robert Piessens et d'autres) mais aucune base de données formelle.
Dans le domaine des ODE, il y a l' ensemble de test IVP , un ensemble de test pour les problèmes de valeur initiale.
la source
Je ne connais pas une telle base de données, mais je pense qu'il serait très difficile de la définir de manière utile. Un meilleur système, à mon avis, consiste à publier le code sous une forme exécutable afin que l'utilisateur puisse s'étendre pour tester aussi complètement qu'il le souhaite. En termes de référentiels communautaires, la suite de tests IVP mentionnée par GertVdE contient également du code de pilote pour exécuter plusieurs solveurs ODE / DAE publiés sur les problèmes de test. Dans mes publications, j'essaie de publier le code et tous les scripts utilisés pour créer l'analyse des données de sortie et créer les graphiques et les tableaux apparaissant dans le document.
la source
L'atelier de calcul aéroacoustique sur les problèmes de référence a un objectif similaire à l'esprit pour les problèmes aéroacoustiques. Ils présentent d'abord un ensemble de problèmes de référence à l'avance, et demandent aux gens de les résoudre en utilisant leurs propres méthodes et de comparer les résultats. Par exemple, voici les actes de la quatrième réunion: http://www.archive.org/details/nasa_techdoc_20040182258
Bien que d'après ce que je peux dire, ils ne comparent pas l'efficacité de leurs codes les uns par rapport aux autres, ils recherchent principalement la précision.
la source
Dans le cadre de la modélisation des tremblements de terre, plusieurs efforts de ce type ont été déployés. Ceux qui me viennent à l'esprit sont le projet de simulation de rupture dynamique et le projet d'inversion de source (http://eqsource.webfactional.com/wiki/). Les deux fournissent des problèmes physiques à résoudre et sont agnostiques (à un certain niveau) concernant les méthodes employées. Vraiment, ces projets visent à comparer les modélisateurs spécifiques au domaine, pas vraiment un ensemble général de problèmes de test pour chaque méthode numérique pdes. Mais vous pouvez comparer avec d'autres résultats, et cela a révélé beaucoup de problèmes avec de nombreux codes.
Une possibilité à examiner serait le projet Madagascar , qui a été développé dans le monde de l'imagerie sismique mais prétend être tout à fait général.
la source