multiplicarea matricei rare: biblioteca rândului rar comprimat-bloc distribuit
multiplicarea paralelă eficientă a matricelor rare este esențială pentru a permite multe calcule la scară largă. Acest articol prezintă biblioteca DBCSR (Distributed Block Compressed Sparse Row) pentru multiplicarea matricei scalabile sparse matrix–matrix și utilizarea acesteia în programul CP2K pentru calcule chimice cuantice cu scalare liniară. Biblioteca combină mai multe abordări pentru a implementa multiplicarea matricei rare într-un mod care funcționează bine și este demonstrabil scalabil. Comunicarea paralelă are limite bine definite. Volumul de date scade cu O(1 / P) odată cu creșterea numărului de procese P și fiecare proces comunică cu cel mult o (p) alții. Multiplicarea locală a matricei rare este gestionată eficient folosind o combinație de tehnici: blocarea elementelor împreună într-un mod relevant pentru aplicație, o bibliotecă de reglare automată pentru multiplicări matrice mici, multiplicare recursivă ignorată în cache și multithreading. În plus, filtrarea on-the-fly nu numai că crește raritatea, dar evită, de asemenea, efectuarea de calcule care scad sub pragul de filtrare. Demonstrăm și analizăm performanța bibliotecii DBCSR și diferitele sale comportamente de scalare.