Exakt beräkning av molekylära elektroniska vågfunktioner med metoder som kopplade kluster kräver beräkning av tensorkontraktioner, vars kostnad har polynomisk beräkningsskalning med avseende på systemet och basuppsättningsstorlekar. Varje sammandragning kan utföras via matris multiplikation på en korrekt ordnad och strukturerad tensor. Dataöverföringar behövs dock ofta för att ordna om tensorerna för varje sammandragning. Att skriva och optimera distribuerade minneskärnor för varje införlivande och sammandragning är tråkigt eftersom antalet kontraktioner skalor kombinerat med antalet tensorindex. Vi presenterar ett distribuerat minnesnumeriskt bibliotek (Cyclops Tensor Framework (CTF)) som automatiskt hanterar tensorblockering och omfördelning för att utföra eventuella användarspecificerade sammandragningar. CTF fungerar som den distribuerade minneskontraktion motorn i Aquarius, ett nytt program utformat för hög noggrannhet och massivt parallel kvant kemiska beräkningar. Aquarius implementerar en rad kopplade kluster och relaterade metoder som CCSD och CCSDT genom att skriva ekvationerna ovanpå ett C++ formaterat domänspecifikt språk. Detta DSL kallar CTF direkt för att hantera data och utföra sammandragningar. Våra CCSD- och CCSDT-implementationer ger hög parallell skalbarhet på superdatorarkitekturerna BlueGene/Q och Cray XC30 som visar att noggranna beräkningar av elektronisk struktur effektivt kan utföras ovanpå allmänna distribuerade minnestentorer.
REF genomför en liknande ram för storskalig distribuerad beräkning av tensor kontraktioner.
A massively parallel tensor contraction framework for coupled-cluster computations
{'venue': 'J. Parallel Distributed Comput.', 'journal': 'J. Parallel Distributed Comput.', 'mag_field_of_study': ['Computer Science']}