Dondequiera que haya visto, el tutorial / documentos de PETSc, etc., dicen que es útil para el álgebra lineal y generalmente especifica que los sistemas dispersos se beneficiarán. ¿Qué pasa con las matrices densas? Me preocupa resolver para A densa .
He escrito mi propio código para CG y QMR en Fortran. La construcción básica es separar el pseudocódigo y agregar rutinas BLAS siempre que sea posible ( ddot
, dnrm
y dgemv
) con un poco de autoajuste. ¿Cómo se comparará esto con PETSc?
Sé que la mejor respuesta sería intentarlo yo mismo, pero por razones de tiempo y de otros, eso no es posible.
Cualquier ayuda es muy apreciada.
fuente
Como mencionó que está en un sistema de memoria compartida, le habría recomendado libFLAME y / o PLASMA , pero no creo que ninguno de ellos sea significativamente más rápido que el BLAS roscado del proveedor para sus operaciones de nivel 1 y nivel 2.
Jed recomendó Elemental , que desarrollo, pero volveré a enfatizar que las operaciones de nivel 1 y nivel 2 no son el foco principal de las bibliotecas de álgebra lineal densa paralela. Sinceramente, nunca he comparado ninguna de esas rutinas.
fuente