De los criterios que ha especificado, creo que el proyecto más cercano que conozco sería la colección de matriz dispersa de la Universidad de Florida . La gente usa habitualmente este conjunto de datos para comparar dispersos solucionadores de álgebra lineal, y puede filtrar por aplicación, número de nonzeros, dimensiones de matriz, etc. con una interfaz web realmente agradable, una interfaz MATLAB o una GUI Java. He visto tablas de estos problemas enumeradas en documentos junto con comparaciones de tiempo de ejecución del solucionador con 4 a 8 solucionadores de álgebra lineal.
Estoy de acuerdo en que sería útil compilar tales bases de datos y, además, creo que el enfoque de recopilación de matriz dispersa de UF para compilar los datos es excelente y sería un gran comienzo para cualquiera que esté pensando en darse cuenta de esta idea. Ejecutar todos los problemas, en la práctica, no parece una gran dificultad, siempre y cuando pueda obtener acceso a todos los solucionadores; Si tiene acceso a los solucionadores y una máquina de referencia estándar confiable con todo el software necesario instalado, entonces debe ser cuestión de ejecutar un script y recopilar los datos. La dificultad, en mi opinión, sería lograr que las personas le den su software, si no es de código abierto. Si es comercial, puede comprarlo o incluso hacer que la gente done el software,MONEDA OProyecto . Pero si se trata de software de investigación que no es comercial ni de código abierto, entonces debe convencer a las personas para que compren el esfuerzo, y es posible que no confíen en un tercero para evaluar su software de manera justa.
También sé que en la optimización, hay bases de datos descargables de problemas ( CUTEr
viene a mi mente) y libros de problemas de prueba para la optimización. He visto a personas (por ejemplo, estoy pensando específicamente en una charla de Ruth Misener en AIChE 2011) comparar su solucionador de optimización versus otros solucionadores en bases de datos de problemas en presentaciones; No estoy seguro de lo que se publica públicamente. Sé que existe una tradición en la optimización para la comparación a gran escala (muchos solucionadores, muchos problemas); Simplemente no creo que haya una base de datos en línea disponible.
Otra cosa que creo que es importante es que distinguimos aquí entre métodos e implementaciones de software.. En computación científica, todos hablamos sobre qué métodos son más rápidos o más lentos según cosas como las métricas de complejidad computacional o nuestras experiencias con varios problemas. Sin embargo, cuando se trata de medir cuantitativamente el tiempo computacional, a menos que uno cuente el número de FLOP en un algoritmo particular, uno tiene que implementar el algoritmo en el software y luego medir el rendimiento de alguna manera (uso de memoria, tiempo de ejecución del reloj de pared, etc. .). Tiene sentido evaluar el rendimiento de un método cuando se observa la complejidad computacional o los conteos de FLOP, porque no necesitamos una implementación para medir tales cosas, pero en el momento en que estamos interesados en los tiempos reales de ejecución del reloj de pared, hablar de métodos es solo útil como dispositivo abstracto, coloquial. (Por ejemplo,
Traigo esta distinción entre métodos y software porque en una base de datos así, también pude ver la posibilidad de rastrear la mejora en el software a lo largo del tiempo. Entonces, por ejemplo, con algo como, por ejemplo, PETSc o PyCLAW, o cualquier software que se esté probando, sería interesante ver qué problemas se ven afectados de manera positiva (o negativa) por las actualizaciones en el software. Esto podría ser útil para los investigadores que intentan decidir si vale la pena cualquier costo potencial en dinero y mano de obra para actualizar sus códigos. Otra razón por la cual esta distinción es importante es porque un buen método puede implementarse mal; Creo que esta posibilidad contribuye a la reticencia que las personas a veces tienen al compartir sus códigos de investigación.
Creo que sea lo que sea que surja de esta idea (y espero que algo surja de ella y esté dispuesto a contribuir después de mi doctorado), es importante enfatizar esa distinción entre software y métodos, porque si estamos ejecutando problemas de prueba, estamos va a ser resultado de contabilización para el software.
Se ha intentado crear una lista de integrales "difíciles" para calcular numéricamente (ver documentos de Walter Gautschi, Robert Piessens y otros) pero no una base de datos formal.
En el campo de las ecuaciones diferenciales ordinarias, no es el equipo de prueba IVP , un conjunto de pruebas para problemas de valores iniciales.
fuente
No estoy familiarizado con la base de datos tal, pero creo que sería muy difícil de definir de una manera útil. Un mejor sistema, en mi opinión, es liberar el código en una forma ejecutable para que el usuario pueda realizar las pruebas tan exhaustivamente como desee. En términos de repositorios de la comunidad, el conjunto de pruebas IVP que GertVdE menciona también contiene código de controlador para ejecutar varios solucionadores ODE / DAE publicados sobre los problemas de prueba. En mis publicaciones, trato de liberar el código y todos los scripts utilizados para crear el análisis de los datos de salida y crear los gráficos y tablas que aparecen en el documento.
fuente
El Taller de aeroacústica computacional sobre problemas de referencia tiene un objetivo similar en mente para problemas aeroacústicos. Primero presentan un conjunto de problemas de referencia con anticipación, y hacen que las personas los resuelvan usando sus propios métodos y comparen los resultados. Por ejemplo, aquí están las actas de la cuarta reunión: http://www.archive.org/details/nasa_techdoc_20040182258
Aunque, por lo que puedo decir, no comparan cuán eficientes son sus códigos entre sí, principalmente miran la precisión.
fuente
Dentro del modelado de terremotos ha habido varios de estos tipos de esfuerzos. Los que vienen a la mente son el proyecto de simulación de ruptura dinámica y el proyecto de inversión de fuente (http://eqsource.webfactional.com/wiki/). Ambos proporcionan problemas físicos para resolver y son agnósticos (en algún nivel) con respecto a los métodos empleados. Realmente, estos proyectos tratan de hacer que los modeladores específicos del dominio se comparen entre sí, no realmente un conjunto general de problemas de prueba para cada método numérico de pdes. Pero puede comparar con otros resultados, y esto ha revelado muchos problemas con muchos códigos.
Una posibilidad a considerar sería el proyecto de Madagascar , que se ha desarrollado dentro del mundo de las imágenes sísmicas, pero afirma ser un propósito bastante general.
fuente