Abstrakt. Symmetrisk tensorverksamhet uppstår i en mängd olika beräkningar. Fördelarna med att utnyttja symmetri för att minska lagring och beräkning är dock i konflikt med en önskan att förenkla minnesåtkomstmönster. I detta dokument föreslår vi Blockerad Kompakt Symmetrisk Lagring där vi betraktar tensoren genom block och lagrar endast de unika blocken av en symmetrisk tensor. Vi föreslår en algoritm-för-block, som redan visat sig vara till nytta för matrisberäkningar, som utnyttjar detta lagringsformat. En detaljerad analys visar att, i förhållande till lagring och databehandling med tensorer utan att dra nytta av symmetri, lagringskrav minskas med en faktor O(m!) och beräkningskrav med en faktor O(m), där m är tensorens ordning. Ett genomförande visar att den komplexitet som införs genom lagring och databehandling med tensorer per block är hanterbar och preliminära resultat visar att beräkningstiden verkligen minskar. Dokumentet avslutas med en diskussion om hur insikterna pekar på möjligheter att generalisera de senaste framstegen inom området linjära algebrabibliotek till området multilinjär beräkning. 1. Vad är det för fel på dig? Inledning. En tensor är en multidimensionell eller m-array. Spänningsberäkningar är allt vanligare i en mängd olika tillämpningar [15]. Tyvärr är biblioteken för tät multilinjär algebra (tensorberäkningar) i sin linda. Syftet med detta dokument är att undersöka hur idéer från matrisberäkningar kan utvidgas till att omfatta tensorer. Bibliotek för tät linjär algebra (matrisberäkningar) har länge varit en del av standardarsenalen för beräkningsvetenskap, inklusive Basic Linear Algebra Subprograms gränssnitt [16, 10, 9, 12, 11] För tensor beräkningar finns inga högpresterande allmänna bibliotek. MATLAB Tensor Toolbox [4, 3] definierar många av de kärnor (dvs. gränssnittet) som skulle behövas av ett bibliotek för multilinjär algebra, men har inga högpresterande kärnor eller speciella beräkningar eller datastruktur för symmetriska tensorer. Projektet Tensor Contraction Engine (TCE) [6] fokuserar på sekvenser av tensorkontraktioner och använder kompileringstekniker för att minska arbetsytan och antalet operationer. Den allra senaste Cyclops Tensor Framework (CTF) [23] fokuserar på att utnyttja symmetri i lagring för distribuerad minnesparallell beräkning med tensorer, men undersöker inte de sekventiella bibliotek som alltid kommer att behövas på de enskilda noderna. I ett föredrag på det artonde hushållssymposiet i Tahoe City, CA (2011), förklarade Prof. Charlie Van Loan "Jag anser att blockering så småningom kommer att ha samma effekt i tensor beräkningar som det gör i matris beräkningar." Detta dokument ger ett tidigt underlag till stöd för detta uttalande. Den strategi som vi tar i detta
Schatz m.fl. visat att utnyttja symmetri i tensor sammandragning uttryck kan förbättra lagring och beräkningskrav och presentera CPU implementationer REF.
Exploiting Symmetry in Tensors for High Performance: Multiplication with Symmetric Tensors
{'venue': 'SIAM Journal on Scientific Computing, Vol. 36, No. 5, pp. C453-C479, September 2014', 'journal': None, 'mag_field_of_study': ['Mathematics', 'Computer Science']}