gles matrismultiplikation: det distribuerade blockkomprimerade glesa radbiblioteket
effektiv parallell multiplikation av glesa matriser är nyckeln till att möjliggöra många storskaliga beräkningar. Den här artikeln presenterar dbcsr–biblioteket (Distributed Block Compressed Sparse Row) för skalbar gles matrix-matrix multiplikation och dess användning i cp2k-programmet för linjär skalning av kvantkemiska beräkningar. Biblioteket kombinerar flera metoder för att implementera gles matrismultiplikation på ett sätt som fungerar bra och är bevisligen skalbart. Parallell kommunikation har väldefinierade gränser. Datavolymen minskar med O(1 / P) med ökande processantal P och varje process kommunicerar med högst O (P) andra. Lokal gles matrismultiplikation hanteras effektivt med hjälp av en kombination av tekniker: blockerande element tillsammans på ett applikationsrelevant sätt, ett autotuningbibliotek för små matrismultiplikationer, cache-oblivious rekursiv multiplikation och multitrådning. Dessutom ökar on-the-fly-filtrering inte bara sparsity utan undviker också att utföra beräkningar som faller under filtreringströskeln. Vi demonstrerar och analyserar prestanda för dbcsr-biblioteket och dess olika skalningsbeteenden.